This training course teaches developers 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, then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework 4.7.

Addressed to

  • 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 object-oriented programming concepts. This course is not designed for students who are new to programming; It is intended for professional developers with at least one month of programming experience in an object-oriented environment.


35 hours


  • Face-to-face

  • Virtual live through digital platforms

  • on site

Related Courses

It includes

  • 35 hours of training

  • Trained instructors

  • Participant manual in digital format

  • Proof of participation


Lesson 1: Visual C# Syntax Review

  • Write Application Overview Using Visual C#

  • Data types, operators and expressions

  • Constructs of the Visual C# programming language

Lab : Implementing Editing Functionality for the Student List

  • Implementing insert functionality for student list

  • Implementation of delete functionality for student list

  • Viewing the age of a student

Lesson 2: Method Creation, Exception Handling, and Monitoring Applications

  • Create and invoke methods

  • Creating overloaded methods and using optional and output parameters

  • exception handling

  • monitoring applications

Laboratory: Extending the functionality of the class registration application

  • Enrollment code refactoring

  • Validation of student information

  • Save changes to class list

Lesson 3: Visual C# Basic Types and Constructs

  • Implementation of structures and enums

  • Organization of data in collections

  • event handling

Laboratory: Writing the code for the application of the prototype of qualifications

  • Add Navigation Logic to the Grading Prototype App

  • Creating data types to store user and grade information

  • Viewing user information and rating

Lesson 4: Creating Classes and Implementing Type-Safe Collections

  • creating classes

  • Definition and implementation of interfaces

  • Implementation of type-safe collections

Lab : Adding Data Validation and Type Safety to Your Application

  • Implement teacher, student, and grade structures as classes

  • Add data validation to the rating class

  • Viewing students in name order

  • Allow teachers to modify class data and grades

Lesson 5: Creating a Class Hierarchy Using Inheritance

  • Create class hierarchies

  • Extending .NET Framework classes

Lab : Refactoring Common Functionality in the User Class

  • Refactoring common functionality in the user class

  • Implementing password complexity using an abstract method

  • Creating the custom exception ClassFullException

Lesson 6: Reading and writing local data

  • Read and write files

  • Serialize and deserialize data

  • Performing I/O Using Streams

Lab: Grade Report Generation

  • Serialize data for grade report as XML

  • Grade Report Preview

  • Keeping serialized grade data in a file

Lesson 7: Accessing a Database

  • Creating and using entity data models

  • Query data using LINQ

Lab: Grade Data Retrieval and Modification

  • Creation of an entity data model from the database of the School of Fine Arts

  • Updating student data and grades using the Entity Framework

  • Extending the entity data model to validate data

Lesson 8: Remote Data Access

  • Access data on the web

  • Access data using OData connected services

Lab: Retrieving and Modifying Grade Data Remotely

  • Creating a WCF data service for the SchoolGrades database

  • Integration of the data service in the application

  • Retrieval of student photographs via the web (time permitting)

Lesson 9: User Interface Design for a Graphical Application

  • Use XAML to design a user interface

  • Binding controls to data

Lab: Customizing Student Photos and App Design

  • Customizing the Appearance of Student Photos

  • Styling the login view

  • StudentPhoto control animation (time permitting)

Lesson 10: Improving Application Performance and Responsiveness

  • Multitasking Implementation

  • Performing operations asynchronously

  • Synchronize concurrent data access

Lab : Improving Responsiveness and Application Performance

  • Ensuring the UI remains responsive when retrieving teacher data

  • Provide visual feedback during long duration operations

Lesson 11: Integration with unmanaged code

  • Creating and using dynamic objects

  • Manage the lifetime of objects and control unmanaged resources

Lab : Grade Report Update

  • Generation of the report of qualifications by means of Word

  • Control the lifetime of Word objects by implementing the Dispose pattern

Lesson 12: Creating Reusable Types and Assemblies

  • Examine object metadata

  • Creating and using custom attributes

  • Generating managed code

  • Assembly versioning, signing, and deployment

Lab: Specifying the data to include in the report card

  • Create and apply the IncludeInReport attribute

  • Report Update

  • Store the Grades.Utilities assembly centrally (time permitting)

Lesson 13: Data Encryption and Decryption

  • Symmetric encryption implementation

  • Asymmetric encryption implementation

Lab: Grade Report Encryption and Decryption

  • Encrypt report card

  • Encrypt report card

Leave a Reply

Your email address will not be published.