Module 1: Review of C# Syntax
-
Overview of Writing Applications using C#
-
Datatypes, Operators, and Expressions
-
C# Programming Language Constructs
Lab: Developing the Class Enrolment Application
Module 2: Creating Methods, Handling Exceptions, and Monitoring Applications
-
Creating and invoking Methods
-
Creating Overloaded Methods and Using Optional and Output Parameters
-
Handling Exceptions Monitoring Applications
Lab: Extending the Class Enrolment application Functionality
Module 3: Developing the Code for a Graphical Application
-
Implementing Structs and Enums
-
Organizing Data into Collections
-
Handling Events
Lab: Writing the Code for the Grades Prototype Application
Module 4: Creating Classes and Implementing Type-Safe Collections
-
Creating Classes
-
Defining and Implementing Interfaces
-
Implementing Type-safe Collections
Lab: Adding Data Validation and Type-safety to the Grades Application
Module 5: Creating a Class Hierarchy by Using Inheritance
-
Creating Class Hierarchies
-
Extending .NET Framework Classes
-
Creating Generic Types
Lab: Refactoring Common Functionality into the User Class
Module 6: Creating a Class Hierarchy by Using Inheritance
-
Creating Class Hierarchies
-
Extending .NET Framework Classes
-
Creating Generic Types
Lab: Refactoring Common Functionality into the User Class
Module 7: Reading and Writing Local Data
-
Reading and Writing Files
-
Serializing and Deserializing Data
-
Performing I/O Using Streams
Lab: Generating the Grades Report
Module 8: Accessing a Database
-
Creating and Using Entity Data Models
-
Querying Data by Using LINQ
-
Updating Data by Using LINQ
Lab: Retrieving and Modifying Grade Data
Module 9: Accessing Remote Data
-
Accessing Data Across the Web
-
Accessing Data in the Cloud
Lab: Retrieving and Modifying Grade Data in the Cloud
Module 10: Designing the User Interface for a Graphical Application
-
Using XAML to Design a User Interface
-
Binding Controls to Data
-
Styling a User Interface
Lab: Customizing student photographs and styling the application
Module 11: Improving Application Performance and Responsiveness
-
Implementing Multitasking by using Tasks and Lambda Expressions
-
Performing Operations Asynchronously
-
Synchronizing concurrent Access to Data
Lab: Improving the Responsiveness and Performance of the Application
Module 12: Integrating with Unmanaged code
-
Creating and using dynamic objects
-
Managing the lifetime of objects and controlling unmanaged resources
Lab: Upgrading the grades report
Module 13: Creating Reusable Types and Assemblies
-
Examining Object Metadata
-
Creating and using custom attributes
-
Generating managed code
-
Versioning, Singing and deploying assemblies
Lab: Specifying the Data to include in the grades report