This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language
Length Days: 5 | Length Hours: 40
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.
After completing this course, students will be able to:
· Describe the core syntax and features of C#.
· Create and call methods, catch and handle exceptions, and describe the monitoring requirements of large-scale applications.
· Implement the basic structure and essential elements of a typical desktop application.
· Create classes, define and implement interfaces, and create and use generic collections.
· Use inheritance to create a class hierarchy, extend a .NET Framework class, and create generic classes and methods.
· Read and write data by using file input/output and streams, and serialize and deserialize data in different formats.
· Create and use an entity data model for accessing a database and use LINQ to query and update data.
· Use the types in the System.Net namespace and WCF Data Services to access and query remote data.
· Build a graphical user interface by using XAML.
· Improve the throughput and response time of applications by using tasks and asynchronous operations.
· Integrate unmanaged libraries and dynamic components into a C# application.
· Examine the metadata of types by using reflection, create and use custom attributes, generate code at runtime, and manage assembly versions.
· Encrypt and decrypt data by using symmetric and asymmetric encryption.
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
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
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
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
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
6 – Reading and Writing Local Data
· Reading and Writing Files
· Serializing and Deserializing Data
· Performing I/O Using Streams
· Lab : Generating the Grades Report
7 – 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
8 – Accessing Remote Data
· Accessing Data Across the Web
· Accessing Data in the Cloud
· Lab : Retrieving and Modifying Grade Data in the Cloud
9 – 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
10 – 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
11 – Integrating with Unmanaged Code
· Creating and Using Dynamic Objects
· Managing the Lifetime of Objects and Controlling Unmanaged Resources
· Lab : Upgrading the Grades Report
12 – Creating Reusable Types and Assemblies
· Examining Object Metadata
· Creating and Using Custom Attributes
· Generating Managed Code
· Versioning, Signing and Deploying Assemblies
· Lab : Specifying the Data to Include in the Grades Report
13 – Encrypting and Decrypting Data
· Implementing Symmetric Encryption
· Implementing Asymmetric Encryption
· Lab : Encrypting and Decrypting Grades Reports