Course Outline
Module 1. Principles of Object Orientation
- Building models
- Classes and objects
- Encapsulation, specialization, and polymorphism
Module 2. Designing Applications with UML
- Introduction to UML
- Types of UML Diagrams
- Use Case Diagrams
- Class Diagrams
- Interaction Diagrams
Module 3. Getting Started with C#
- C# and .Net Overview
- 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 and decrement
- Relational operators
Module 7. Classes and Objects
- Defining classes
- Constructors
- Static and instance members
- Object destruction
Module 8. Inside Methods
- Method overloading
- Encapsulating data with properties
- Returning multiple values
Module 9. Debugging
- Setting breakpoints
- Understanding the Call stack
Module 10. Inheritance and Polymorphism
- Specialization and generalization
- Inheritance mechanisms
- Polymorphism
- Abstract and sealed classes
- The root class: object
- Boxing and unboxing types
Module 11. Operator Overloading
- Using the Operator Keyword
- Creating custom operators
- Logical pairs
- Conversion Operators
Module 12. Structs
- Defining a Struct
Module 13. Interfaces
- Implementing an interface
- Implementing multiple interfaces
- Casting to an interface
- Extending an interface
Module 14. Arrays
- Declaring arrays
- Multidimensional arrays
- System.Array
- Indexers
Module 15. Collection Interfaces and Types
- Collection interfaces
- Array lists
- Queues and stacks
Module 16. Strings
- Creating strings
- Manipulating strings
- The StringBuilder class
Module 17. Throwing and Catching Exceptions
- The throw statement
- The try and catch statement
- How the call stack works
- Exception class methods and properties
Module 18. Delegates and Events
- Delegates
- Events
Module 19. Generics
- Generics: A Primer
- Parameterizing by data type
- System.Collections.Generics class
Requirements
To succeed in this course, students are expected to demonstrate proficiency in the following areas:
- Working knowledge of fundamental operating system tasks, including file management.
- Grasp of structured programming basics, covering flow control, variables, parameters, and function invocation.
- Approximately three months of practical experience in developing applications, whether in graphical or non-graphical interfaces, or equivalent proficiency.
Prior experience with object-oriented programming concepts is not mandatory.
Target Audience
This program is designed for the following categories of software developers:
- Entry-level developers
- Developers with general computer programming knowledge who may have studied non-graphical languages in an academic setting
These professionals aim to construct solutions using C# within the Microsoft .NET Framework. Additionally, they seek to leverage Object-Oriented techniques to refine and elevate their development capabilities.
Testimonials (1)
Tailored to our needs