Course Outline
Module 1. Principles of Object Orientation
- Model creation
- Classes and objects
- Encapsulation, specialisation, and polymorphism
Module 2. Application Design 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 Basics
- Data Types
- Variables
- Constants
- Strings
- Statements
- Expressions
Module 5. Branching Logic
- Conditional branching statements
- Unconditional branching statements
- Loops
Module 6. Operators
- Assignment operators
- Mathematical operators
- Increment and decrement
- Relational operators
Module 7. Classes and Objects
- 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
- Setting breakpoints
- Understanding the Call stack
Module 10. Inheritance and Polymorphism
- Specialisation and generalisation
- Inheritance
- Polymorphism
- Abstract and sealed classes
- The root class: object
- Type boxing and unboxing
Module 11. Operator Overloading
- Utilising the Operator Keyword
- Designing useful operators
- Logical operator pairs
- Conversion operators
Module 12. Structs
- Defining a Struct
Module 13. Interfaces
- Implementing an interface
- Implementing multiple interfaces
- Interface casting
- Extending an interface
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
- Using the throw statement
- Using try and catch statements
- Call stack mechanics
- Exception class methods and properties
Module 18. Delegates and Events
- Delegates
- Events
Module 19. Generics
- Introduction to Generics
- Parameterization by data type
- System.Collections.Generics class
Requirements
Prospective students should possess the following foundational competencies before enrolling:
- Proficiency in basic operating system tasks, including file management.
- A solid grasp of structured programming concepts, such as flow control, variables, parameters, and function calls.
- A minimum of three months' experience in application development within graphical or non-graphical environments, or equivalent practical knowledge.
Prior experience with object-oriented programming concepts is not a requirement.
Audience
This course is designed for software developers who fall into the following categories:
- Entry-level developers
- Developers with programming knowledge, potentially acquired through non-graphical language studies in an academic setting
Participants aim to develop solutions using C# within the Microsoft .NET Framework and seek to apply object-oriented techniques to elevate their development capabilities.
Testimonials (1)
Tailored to our needs