Course Outline
Module 1. Core Principles of Object Orientation
- Model creation
- Classes and objects
- Encapsulation, specialisation, and polymorphism
Module 2. Application Design using UML
- Introduction to UML
- Types of UML diagrams
- Use Case diagrams
- Class diagrams
- Interaction diagrams
Module 3. Introduction to C#
- C# and the .NET ecosystem
- Overview of the C# language
- The Visual Studio IDE
Module 4. C# Language Essentials
- Data types
- Variables
- Constants
- Strings
- Statements
- Expressions
Module 5. Control Flow and Branching
- Conditional branching statements
- Unconditional branching statements
- Loops
Module 6. Operators
- Assignment
- Mathematical operators
- Increment and decrement
- Relational operators
Module 7. Classes and Objects in Depth
- Defining classes
- Constructors
- Static and instance members
- Object destruction
Module 8. Method Internals
- Method overloading
- Data encapsulation via properties
- Returning multiple values
Module 9. Debugging Techniques
- Setting breakpoints
- Analyzing the Call stack
Module 10. Inheritance and Polymorphism
- Specialisation and generalisation
- Inheritance mechanisms
- Polymorphism
- Abstract and sealed classes
- The root class: object
- Boxing and unboxing types
Module 11. Operator Overloading
- Utilising the Operator keyword
- Defining custom operators
- Logical operator pairs
- Conversion operators
Module 12. Structures (Structs)
- Defining a Struct
Module 13. Interfaces
- Implementing interfaces
- Implementing multiple interfaces
- Casting to interfaces
- Extending interfaces
Module 14. Arrays
- Declaring arrays
- Multidimensional arrays
- The System.Array class
- Indexers
Module 15. Collection Interfaces and Types
- Core collection interfaces
- ArrayLists
- Queues and stacks
Module 16. Advanced String Handling
- String creation
- String manipulation
- The StringBuilder class
Module 17. Exception Handling
- The throw statement
- The try and catch blocks
- Understanding the call stack during exceptions
- Exception class methods and properties
Module 18. Delegates and Events
- Delegates
- Events
Module 19. Generics
- Introduction to Generics
- Parameterisation by data type
- The System.Collections.Generic class
Requirements
To succeed in this course, participants should possess competence in the following areas:
- Confidence with fundamental operating system tasks, including file management.
- A solid grasp of structured programming basics, such as flow control, variable management, parameters, and function calls.
- A minimum of three months of experience building applications in either graphical or non-graphical settings, or equivalent practical knowledge.
No prior experience with object-oriented programming or concepts is necessary.
Target Audience
This course is tailored for the following types of software developers:
- Emerging developers
- Developers who have a theoretical understanding of computer programming, particularly those who may have studied through non-graphical languages in an academic setting
These individuals aim to develop solutions using C# within the Microsoft .NET Framework and seek to refine their capabilities by applying Object-Oriented techniques.
Testimonials (1)
Tailored to our needs