20483 - Programming in C#

20483 - Programming in C#

Length : 5 days

In this course, you will gain the programming skills that are required for developers to create Windows applications using the Visual C# language. During their five days in the classroom students review the basics of Visual 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 the .NET Framework 4.7.

This course uses Visual Studio 2017 running on Windows 10.

What You'll Learn

  • Core syntax and features of Visual C#
  • Create methods 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 hierarchyand to extend a .NET Framework class.
  • Read and write data by using file input/output and streams and serialize/deserialize data in different formats
  • Create and use an entity data model for accessing a database and use LINQ to querydata
  • Access and query remote data by using the types in the System.Net namespace and WCF Data Services.
  • 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
  • Exam the metadata of types 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

Who Needs to Attend

  • Experienced developers who have programming experience in C, C++, JavaScript, Objective-C, Microsoft Visual Basic, or Java and understand the concepts of object-oriented programming
  • Professional developers with at least one month of experience programming in an object-oriented environmentt


  • How to name, declare, initialize, and assign values to variables within an application
  • Experience using:
    Arithmetic operators to perform arithmetic calculations involving one or more variables
    Relational operators to test the relationship between two variables or expressions
    Logical operators to combine expressions that contain relational operators
  • Experience creating:
    Code syntax for simple programming statements using C# language keywords and recognize syntax errors using the Visual Studio IDE
    Simple branching structure using an IF statement
    Simple looping structure using a For statement to iterate through a data array
    Function that accepts arguments (parameters and returns a value of a specified type
  • Understanding of how to:
    Use the Visual Studio IDE to locate simple logic errors
    Design and build a simple user interface using standard controls from the Visual Studio toolbox
    Connect to a SQL Server database and the basics of how to retrieve and store data
    Sort data in a loop
    Recognize the classes and methods used in a program

Class Outline

1. Visual C# Syntax
Writing Applications Using C#
Datatypes, Operators, and Expressions
C# Programming Language Constructs

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

3. Basic types and constructs of Visual C#
Implementing Structs and Enums
Organizing Data into Collections
Handling Events

4. Creating Classes and Implementing Type-Safe Collections
Creating Classes
Defining and Implementing Interfaces
Implementing Type-Safe Collections

5. Creating a Class Hierarchy Using Inheritance
Creating Class Hierarchies
Extending .NET Framework Classes

6. Reading and Writing Local Data
Reading and Writing Files
Serializing and Deserializing Data
Performing I/O Using Streams

7. Accessing a Database
Creating and Using Entity Data Models
Querying Data Using LINQ

8. Accessing Remote Data
Accessing Data Across the Web
Accessing Data in the OData Connected Services

9. Designing the User Interface for a Graphical Application
Using XAML to Design a User Interface
Binding Controls to Data

10. Improving Application Performance and Responsiveness
Implementing Multitasking
Performing Operations Asynchronously
Synchronizing Concurrent Access to Data

11. Integrating with Unmanaged Code
Creating and Using Dynamic Objects
Managing the Lifetime of Objects and Controlling Unmanaged Resources

12. Creating Reusable Types and Assemblies
Examining Object Metadata
Creating and Using Custom Attributes
Generating Managed Code
Versioning, Signing, and Deploying Assemblies

13. Encrypting and Decrypting Data
Implementing Symmetric Encryption
Implementing Asymmetric Encryption


Lab 1: Implementing Edit Functionality for the Student List
Implement Insert Functionality for the Students List
Implement Delete Functionality for the Students List
Display the Student Age

Lab 2: Extend the Class Enrolment Application Functionality
Refactor the Enrolment Code
Validate Student Information
Save Changes to the Class List

Lab 3: Write the Code for the Grades Prototype Application
Add Navigation Logic to the Application
Create Data Types to Store User and Grade Information
Display User and Grade Information

Lab 4: Add Data Validation and Type-safety to the Application
Implement the Teacher, Student, and Grade Types as Classes
Add Data Validation to the Grade Class
Display Students in Name Order
Enable Teachers to Modify Class and Grade Data

Lab 5: Refactor Common Functionality into the User Class
Refactoring Common Functionality into the User Class
Implement Password Complexity Using an Abstract Method
Create the ClassFullException Class

Lab 6: Generate the Grades Report
Serialize the Data for the Grades Report as XML
Preview the Grades Report
Persist the Serialized Grades Data to a File

Lab 7: Retrieve and Modify Grade Data
Create an Entity Model from the School of Fine Arts Database
Update Student and Grade Data Using the Entity Framework
Extend the Entity Model to Validate Data

Lab 8: Retrieve and Modify Grade Data Remotely
Create a WCF Data Service for the SchoolGrades Database
Integrate the Data Service into the Application
Retrieve Student Photographs Over the Web

Lab 9: Customize Student Photographs and Styling the Application
Customize the Appearance of Student Photographs
Style the Logon View
Animating the StudentPhoto Contorl (If Time Permits)

Lab 10: Improve Application Responsiveness and Performance of the Applicaiton
Ensuring that the UI remains responsive when retrieving Teacher data
Providing Visual Feedback During Long-Running Operations.

Lab 11: Upgrade the Grades Report
Generate the Grades Report Using Microsoft Office Word
Control the Lifetime of Word Objects by Implementing the Dispose Pattern

Lab 12: Specify the Data to Include in the Grades Report
Create and Applying the IncludeInReport Attribute
Updating the Report
Store the Grades.Utilities Assembly Centrally (If Time Permits)

Lab 13: Encrypt and Decrypting Grades Reports
Encrypt the Grades Report
Decrypt the Grades Report

Class Dates:


May 6, 2019 - May 10, 2019

Register Now...

On Site Class Available

ExpertONE Learning Solutions Provider Microsoft Certified Partner Logo GSA Advantage