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, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework 4.7.
- 3 months access to e-learning materials
- 3 months access to training labs
Developers attending this course should already have gained some limited experience using C# to complete basic programming tasks. More specifically, students should have hands-on experience using C# that demonstrates their understanding of the following:
- How to name, declare, initialize and assign values to variables within an application.
- How to use: 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.
- How to create the code syntax for simple programming statements using C# language keywords and recognize syntax errors using the Visual Studio IDE.
- How to create a simple branching structure using an IF statement.
- How to create a simple looping structure using a For statement to iterate through a data array.
- How to use the Visual Studio IDE to locate simple logic errors.
- How to create a Function that accepts arguments (parameters and returns a value of a specified type.
- How to design and build a simple user interface using standard controls from the Visual Studio toolbox.
- How to connect to a SQL Server database and the basics of how to retrieve and store data.
- How to sort data in a loop.
- How to recognize the classes and methods used in a program.
After completing this course, students will be able to:
- Describe the 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 hierarchy and to extend a .NET Framework class.
- 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 data.
- 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 Visual 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.
Who should attend
- Module 1: Review of Visual C# Syntax
- Lab : Implementing Edit Functionality for the Students List
- Module 2: Creating Methods, Handling Exceptions, and Monitoring Applications
- Lab : Extending the Class Enrolment Application Functionality
- Module 3: Basic types and constructs of Visual C#
- Lab : Writing the Code for the Grades Prototype Application
- Module 4: Creating Classes and Implementing Type-Safe Collections
- Lab : Adding Data Validation and Type-Safety to the Application
- Module 5: Creating a Class Hierarchy by Using Inheritance
- Lab : Refactoring Common Functionality into the User Class
- Module 6: Reading and Writing Local Data
- Lab : Generating the Grades Report
- Module 7: Accessing a Database
- Lab : Retrieving and Modifying Grade Data
- Module 8: Accessing Remote Data
- Lab : Retrieving and Modifying Grade Data Remotely
- Module 9: Designing the User Interface for a Graphical Application
- Lab : Customizing Student Photographs and Styling the Application
- Module 10: Improving Application Performance and Responsiveness
- Lab : Improving the Responsiveness and Performance of the Application
- Module 11: Integrating with Unmanaged Code
- Lab : Upgrading the Grades Report
- Module 12: Creating Reusable Types and Assemblies
- Lab : Specifying the Data to Include in the Grades Report
- Module 13: Encrypting and Decrypting Data
- Lab : Encrypting and Decrypting the Grades Report