55339: Programming in C#
In this course, students will review the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of .NET. The course aims to follow the spirit of the Microsoft Official Curriculum course 20483, while bringing it completely up-to-date with the latest features of C#, .NET 6.0 and Visual Studio 2022.
Description
This training course teaches developers the programming skills that are required to create applications using the C# language. During their five days in the classroom, students review the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of .NET. The course aims to follow the spirit of the Microsoft Official Curriculum course 20483, while bringing it completely up-to-date with the latest features of C#, .NET 6.0 and Visual Studio 2022.
Course Content
Module 1: C# Syntax
- Lesson 1: Writing Applications in C# and .NET
- Lesson 2: Types of Data and Expressions
- Lesson 3: C# Language Constructs
Module 2: C# Language Concepts
- Lesson 1: Methods
- Lesson 2: Method Overloading
- Lesson 3: Exception Handling
- Lesson 4: Monitoring
Module 3: C# Structures, Collections and Events
- Lesson 1: Structs
- Lesson 2: Enums
- Lesson 3: Built-in Collections
- Lesson 4: Events
Module 4: C# Classes
- Lesson 1: Creating Classes
- Lesson 2: Interfaces
- Lesson 3: Understanding Generics in C#
Module 5: C# Inheritance
- Lesson 1: Hierarchies of Classes
- Lesson 2: Polymorphism
- Lesson 3: Extending Classes
Module 6: Input and Output
- Lesson 1: File I/O
- Lesson 2: Serialization and Deserialization
- Lesson 3: Streams
Module 7: Database Access
- Lesson 1: Entity Framework
- Lesson 2: LINQ
Module 8: Using the Network
- Lesson 1: Web Services
- Lesson 2: REST and OData
- Lesson 3: ASP.NET Core MVC
Module 9: Graphical User Interfaces
- Lesson 1: Using UI Frameworks
- Lesson 2: Data binding
- Lesson 3: Styling the UI
Module 10: Application Performance
- Lesson 1: Multitasking
- Lesson 2: Asynchronous Calls
- Lesson 3: Dealing with Conflicts
Module 11: C# Interop
- Lesson 1: Dynamic Objects
- Lesson 2: Managing Resources
Module 12: Designing for Reuse
- Lesson 1: Metadata
- Lesson 2: Attributes
- Lesson 3: Generating Code
- Lesson 4: Assemblies