Application & Web Development Category Banner Image

Microsoft 55339 - Programming in C#

  • Length 5 days
  • Price  NZD 3650 exc GST
  • Version A
Course overview
View dates &
book now

Why study this course

This training course teaches developers the programming skills that are required to create applications using the C# language.

During this five-day course, you will review the basics of C# program structure, language syntax, and implementation details, and then consolidate your knowledge throughout the week as you build an application that incorporates several features of .NET. The course aims to follow the spirit of the retired 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.

Request Course Information


What you’ll learn

After completing the course, you will be able to:

  • Explain how to use Visual Studio to create and run an application

  • Describe the features and syntax of the C# programming language

  • Define the monitoring needs of large-scale applications

  • Create and call methods, capture and manage exceptions

  • Understand the .NET development platform and libraries

  • Understand the .NET framework classes

  • Create well-structured and easily-maintainable C# code

  • Define and implement interfaces

  • Create a class hierarchy using inheritance

  • Understand object-oriented programming concepts

  • Implement the fundamental architecture and core components of a desktop application

  • Acquire a working knowledge of how to build a graphical UI using XAML

  • Use file I/O and streams, and serialise/deserialise data in various formats

  • Understand web communications and protocols

  • Create an entity data model for database access

  • Use Language-Integrated Query (LINQ)

  • Use asynchronous operations to create performant applications

  • Add dynamic components and unmanaged libraries to a C# program

  • Understand the use of generics and generic collections

  • Retrieve metadata from types using .NET reflection


Microsoft Partner Cloud Logo

Microsoft at Lumify Work

Lumify Work is your best choice for training and certification in any of Microsoft’s leading technologies and services. We’ve been delivering effective training across all Microsoft products for over 30 years, and are proud to be Australia's and New Zealand’s first and largest Microsoft Gold Learning Solutions Partner. All Lumify Work Microsoft technical courses follow Microsoft Official Curriculum (MOC) and are led by Microsoft Certified Trainers. Join more than 5,000 students who attend our quality Microsoft courses every year.


Who is the course for?

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.

If you want to learn to take full advantage of the C# language, then this is the course for you.


Course subjects

Module 1: C# Syntax
Microsoft .NET 6 provides a comprehensive development platform that you can use to build, deploy, and manage applications and services. By using .NET, you can create visually compelling applications, enable seamless communication across technology boundaries, and provide support for a wide range of business processes.

In this module, you’ll learn about some of the core features provided by.NET and Microsoft Visual Studio. You’ll also learn about some of the core C# constructs that enable you to start developing .NET applications.

Lessons
Lesson 1: Writing Applications in C# and .NET
Lesson 2: Types of Data and Expressions
Lesson 3: C# Language Constructs

Lab 1: Developing the Class Enrolment Application
Developing the Class Enrolment Application

Module 2: C# Language Concepts
Applications often consist of logical units of functionality that perform specific functions, such as providing access to data or triggering some logical processing. C# is an object-orientated language and uses the concept of methods to encapsulate logical units of functionality. Although a good practice is to have methods that do just one thing, they can be as simple or as complex as you like. It is also important to consider what happens to the state of your application when an exception occurs in a method.

Lessons
Lesson 1: Methods
Lesson 2: Method Overloading
Lesson 3: Exception Handling
Lesson 4: Monitoring

Lab 1: Extending the Class Enrolment Application
Refactor code to facilitate reusability.
Write C# code that validates data entered by a user.
Write C# code that saves changes back to a database.

Module 3: C# Structures, Collections and Events
To create effective applications you must first learn some fundamental C# constructs. You need to know how to create simple structures to represent the data items you are working with. You need to know how to organise these structures into collections, so that you can add items, retrieve items, and iterate over your items. Finally, you need to know how to subscribe to events so that you can respond to the actions of your users.

Lessons
Lesson 1: Structs
Lesson 2: Enums
Lesson 3: Built-in Collections
Lesson 4: Events

Lab 1: Building the Grades Prototype Application
Structs
Enums
Built-in Collections
Events

Module 4: C# Classes
In this module, you’ll learn how to use interfaces and classes to define and create your own custom, reusable types. You’ll also learn how to create and use enumerable type-safe collections of any type.

Lessons
Lesson 1: Creating Classes
Lesson 2: Interfaces
Lesson 3: Understanding Generics in C#

Lab 1: Adding Data Validation to the Application
Creating Classes
Interfaces
Understanding Generics in C#

Module 5: C# Inheritance
In this module, you’ll learn how to use inheritance to create class hierarchies and to extend .NET types.

Lessons
Lesson 1: Hierarchies of Classes
Lesson 2: Polymorphism
Lesson 3: Extending Classes

Lab 1: Refactoring
Hierarchies of Classes
Polymorphism
Extending Classes

Module 6: Input and Output
In this module, you’ll learn how to read and write data by using transactional filesystem I/O operations, how to serialise and deserialise data to the filesystem, and how to read and write data to the filesystem by using streams.

Lessons
Lesson 1: File I/O
Lesson 2: Serialisation and Deserialisation
Lesson 3: Streams

Lab 1: Creating the Grades Report
File I/O
Serialisation and Deserialisation
Streams

Module 7: Database Access
In this module, you’ll learn how to use Entity Framework and how to query many types of data by using Language-Integrated Query (LINQ).

Lessons
Lesson 1: Entity Framework
Lesson 2: LINQ

Lab 1: Updating Grade Data
Entity Framework
LINQ

Module 8: Using the Network
In this module, you’ll learn how to use the request and response classes in the System.Net namespace to directly manipulate remote data sources. You’ll also learn about REST and OData and look briefly at ASP.NET Core MVC.

Lessons
Lesson 1: Web Services
Lesson 2: REST and OData
Lesson 3: ASP.NET Core MVC

Module 9: Graphical User Interfaces
In this module, you’ll learn how to use Extensible Application Markup Language (XAML) and Windows Presentation Foundation (WPF) to create engaging UIs.

Lessons
Lesson 1: Using UI Frameworks
Lesson 2: Data binding
Lesson 3: Styling the UI

Lab 1: Adding a Graphical User Interface
Using UI Frameworks
Data binding
Styling the UI

Module 10: Application Performance
In this module, you’ll learn how to improve the performance of your applications by distributing your operations across multiple threads.

Lessons
Lesson 1: Multitasking
Lesson 2: Asynchronous Calls
Lesson 3: Dealing with Conflicts

Lab 1: Performance Tuning
Multitasking
Asynchronous Calls
Dealing with Conflicts

Module 11: C# Interop
In this module, you’ll learn how to interoperate with unmanaged code in your applications and how to ensure that your code releases any unmanaged resources.

Lessons
Lesson 1: Dynamic Objects
Lesson 2: Managing Resources

Lab 1: Working with Word
Dynamic Objects
Managing Resources

Module 12: Designing for Reuse
In this module, you’ll learn how to consume existing assemblies by using reflection, and how to add additional metadata to types and type members by using attributes. You’ll also learn how to generate code at runtime by using the Code Document Object Model (CodeDOM) and how manage your .NET assemblies.

Lessons
Lesson 1: Metadata
Lesson 2: Attributes
Lesson 3: Generating Code
Lesson 4: Assemblies

Lab 1: Managing the Grades Report Assembly
Metadata
Attributes
Generating Code
Assemblies


Prerequisites

It is recommended that students have at least one month of experience programming in an object-oriented environment before taking this course.



Terms & Conditions

The supply of this course by Lumify Work is governed by the booking terms and conditions. Please read the terms and conditions carefully before enrolling in this course, as enrolment in the course is conditional on acceptance of these terms and conditions.


Request Course Information

Personalise your schedule with Lumify USchedule

Interested in a course that we have not yet scheduled? Get in touch, and ask for your preferred date and time. We can work together to make it happen.



Offers

Continue your learning experience online with Lumify Plus
Lumify Plus is coming soon to New Zealand!