Course Outline
Module 1. Object-Oriented Principles
- Model creation
- Classes and objects
- Encapsulation, specialization, 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
- C# language overview
- Visual Studio IDE
Module 4. C# Language Basics
- Data types
- Variables
- Constants
- Strings
- Statements
- Expressions
Module 5. Branching Logic
- Conditional branching
- Unconditional branching
- Loops
Module 6. Operators
- Assignment operators
- Mathematical operators
- Increment and decrement
- Relational operators
Module 7. Classes and Objects
- Class definition
- Constructors
- Static versus 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
- Specialization and generalization
- Inheritance mechanisms
- Polymorphic behavior
- Abstract and sealed classes
- The object base class
- Type boxing and unboxing
Module 11. Operator Overloading
- Utilizing the Operator keyword
- Developing functional operators
- Logical operator pairs
- Conversion operators
Module 12. Structs
- Defining structures
Module 13. Interfaces
- Interface implementation
- Implementing multiple interfaces
- Casting to interfaces
- Interface extension
Module 14. Arrays
- Array declaration
- Multidimensional arrays
- System.Array class
- Indexers
Module 15. Collection Interfaces and Types
- Collection interface overview
- ArrayLists
- Queues and stacks
Module 16. String Manipulation
- String creation
- String manipulation techniques
- The StringBuilder class
Module 17. Exception Handling
- The throw statement
- Try-catch blocks
- Call stack mechanics
- Exception class methods and properties
Module 18. Delegates and Events
- Delegates
- Events
Module 19. Generics
- Introduction to Generics
- Data type parameterization
- System.Collections.Generics namespace
Requirements
Prospective students should demonstrate competence in the following areas prior to enrollment:
- Proficiency with fundamental operating system tasks, such as file management.
- A solid grasp of structured programming basics, including flow control, variables, parameters, and function calls.
- At least three months of application development experience in either graphical or non-graphical environments, or equivalent practical knowledge.
Background in object-oriented programming is not a prerequisite.
Target Audience
This course is designed for software professionals in the following categories:
- Entry-level developers
- Developers with general programming knowledge who may have acquired foundational skills through non-graphical languages in academic settings
Participants will focus on constructing solutions using C# within the Microsoft .NET Framework and will apply Object-Oriented techniques to enhance their development capabilities.
Testimonials (1)
Tailored to our needs