20483 Programming in C#

Overview

Course Description

This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language.

Audience Profile

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 the concepts of object-oriented programming. 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.

Prerequisite(s) Recommended

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.

Learning Objectives

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.

Course Outline

Course Outline

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

Register for Course

Tuition
Available Registrations: Unlimited
The Tuition ticket is sold out. You can try another ticket or another date.

Cost

$2,950.00

Course Code

FRCMIC-66

Course Duration

5

Instructions Method

Instructor Led
REGISTER