55339 Programming in C# (UT-Microsoft-55339)

Course Description

This five- day 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. 55339A is the equivalent of the retired MOC Course 20483CC - Programming in C#.

Course Objectives

  1. Explain how to use Visual Studio to create and run an application.
  2. Describe the features and syntax of the C# programming language.
  3. Define the monitoring needs of large-scale applications
  4. Create and call methods, capture and manage exceptions.
  5. Understand the .NET development platform and libraries.
  6. Understand the .NET framework classes.
  7. Create well-structured and easily-maintainable C# code.
  8. Define and implement interfaces.
  9. Create a class hierarchy using inheritance.
  10. Understand object-oriented programming concepts.
  11. Implement the fundamental architecture and core components of a desktop application.
  12. Acquire a working knowledge of how to build a graphical UI using XAML.
  13. Use file I/O and streams, and serialize/deserialize data in various formats.
  14. Understand web communications and protocols.
  15. Create an entity data model for database access.
  16. Use Language-Integrated Query (LINQ).
  17. Use asynchronous operations to create performant applications.
  18. Add dynamic components and unmanaged libraries to a C# program.
  19. Understand the use of generics and generic collections.
  20. Retrieve metadata from types using .NET reflection.

Course Outline

1 - C# Syntax

  • Writing Applications in C# and .NET
  • Types of Data and Expressions
  • C# Language Constructs

2 - C# Language Concepts

  • Methods
  • Method Overloading
  • Exception Handling
  • Monitoring

3 - C# Structures, Collections and Events

  • Structs
  • Enums
  • Built-in Collections
  • Events

4 - C# Classes

  • Creating Classes
  • Interfaces
  • Understanding Generics in C#

5 - C# Inheritance

  • Hierarchies of Classes
  • Polymorphism
  • Extending Classes

6 - Input and Output

  • File I/O
  • Serialization and Deserialization
  • Streams

7 - Database Access

  • Entity Framework
  • LINQ

8 - Using the Network

  • Web Services
  • REST and OData
  • ASP.NET Core MVC

9 - Graphical User Interfaces

  • Using UI Frameworks
  • Data binding
  • Styling the UI

10 - Application Performance

  • Multitasking
  • Asynchronous Calls
  • Dealing with Conflicts

11 - C# Interop

  • Dynamic Objects
  • Managing Resources

12 - Designing for Reuse

  • Metadata
  • Attributes
  • Generating Code
  • Assemblies


There are no prerequisites for this course.

Course Information

Length: 5 day

Format: Lecture and Lab

Delivery Method: n/a

Max. Capacity: 16


Contact Us

Geography & Location
Apr 08, 2024 - 5 day(s)
Apr 08, 2024
AMER, Remote-EST
$2975 USD
$2975 USD
Jun 10, 2024 - 5 day(s)
Jun 10, 2024
Remote EST
AMER, Remote EST
$2975 USD
$2975 USD

Do you have more questions? We're delighted to assist you!


Who Should Attend

This course is intended for experienced developers who already have programming experience in C, C++, JavaScript, Objective-C, Microsoft Visual Basic, or Java, and understand the concepts of object-oriented programming. This course is not designed for students who are new to programming; it is targeted at professional developers with at least one month of experience programming in an object-oriented environment. Those new to programming should consider course 55337 - Introduction to Programming. The 55337 course uses C# as the language to facilitate an introduction to programming generally, whereas this course focuses on the C# language itself, making it an excellent follow-on course. If you want to learn to take full advantage of the C# language, then this is the course for you.