Course Outline
Module 1. Principles of Object Orientation
- Model creation
- Classes & objects
- Encapsulation, specialisation & polymorphism
Module 2. Designing Applications with UML
- Introduction to UML
- UML Diagrams
- Use Case Diagrams
- Class Diagrams
- Interaction Diagrams
Module 3. Introduction to C#
- C# and .Net
- The C# Language
- Visual Studio IDE
Module 4. C# Language Fundamentals
- Data Types
- Variables
- Constants
- Strings
- Statements
- Expressions
Module 5. Branching
- Conditional branching statements
- Unconditional branching statements
- Loops
Module 6. Operators
- Assignment
- Mathematical operators
- Increment & decrement
- Relational
Module 7. Classes and Objects
- Class definition
- Constructors
- Static and instance members
- Object destruction
Module 8. Inside Methods
- Method overloading
- Data encapsulation via properties
- Returning multiple values
Module 9. Debugging
- Setting breakpoints
- The Call stack
Module 10. Inheritance and Polymorphism
- Specialisation and generalisation
- Inheritance
- Polymorphism
- Abstract and sealed classes
- The root class: object
- Boxing and unboxing types
Module 11. Operator Overloading
- Using the Operator Keyword
- Creating Useful Operators
- Logical pairs
- Conversion Operators
Module 12. Structs
- Defining a Struct
Module 13. Interfaces
- Implementing interfaces
- Implementing multiple interfaces
- Casting to an interface
- Extending interfaces
Module 14. Arrays
- Array declaration
- Multidimensional arrays
- System.Array
- Indexers
Module 15. Collection Interfaces and Types
- Collection interfaces
- Array lists
- Queues and stacks
Module 16. Strings
- String creation
- String manipulation
- The StringBuilder class
Module 17. Exception Handling
- The throw statement
- try and catch statements
- Mechanics of the call stack
- Exception class methods and properties
Module 18. Delegates and Events
- Delegates
- Events
Module 19. Generics
- Introduction to Generics
- Data type parameterization
- System.Collections.Generics class
Requirements
Prospective students should demonstrate proficiency in the following areas prior to joining this course:
- Basic familiarity with operating system functions, particularly file management operations.
- A solid grasp of structured programming fundamentals, including flow control, variable and parameter usage, and function invocation.
- A minimum of three months of practical experience in application development, whether in graphical or non-graphical environments, or equivalent technical knowledge.
Knowledge of object-oriented programming and its associated concepts is not a prerequisite.
Target Audience
This course is specifically designed for the following software development profiles:
- Junior or new developers.
- Developers with a strong programming background, including those who have acquired skills using non-graphical languages in academic settings.
The goal is for these developers to learn how to build solutions using C# within the Microsoft .NET Framework while leveraging object-oriented techniques to enhance their professional development capabilities.
Testimonials (1)
Tailored to our needs