C# Programming Online Course

C# Programming Online Course in South Africa

 

2KO Africa offers online Microsoft 70-483: Programming in C# courses in South Africa. 2KO Africa also offers online courses to our international and local students. 2KO Africa is a network of companies that offers a substantial series of computer courses across the entire African region, and is a leading provider of internationally recognised online IT training, online, IT training, enabling 2KO students the opportunity to study courses online world-wide, to ensure the best computer programming  training in Africa. 2KO Africa's Programming C# course provides full coverage of the programming skills required to create Windows applications using C#. This new and exciting course also provides knowledge on language syntax, C# program structure and implementation details. This new course provides you the needed training for building new data types, handling events, accessing a database, using remote data, integrating with unmanaged code, as well as the knowledge and skills to perform operations asyncrhonously, creating custom attributes and more.

This course brings together all the features of programming in C# using Visual Studio.

Some of the skills you will learn in this class are:

Describe the core syntax and features of C#

Implement the basic structure and essential elements of a typical desktop application

Encrypt and decrypt data by using symmetric and asymmetric encryption

Examine the metadata of types by using reflection, create and use custom attributes, generate code at runtime and manage assembly versions

Integrate unmanaged libraries and dynamic components into a C# application

Improve the throughput and response time of applications by using tasks and asynchronous operations

Build a graphical user interface by using XAML

Use the types in the System.Net namespace and WCF Data Services to access and query remote data

Create and use an entity data model for accessing a database and use LINQ to query and update data

Read and write data by using file input/output and streams and serialize/deserialize data in different formats

Use inheritance to create a class hierarchy, extend a .NET Framework class and create generic classes and methods

Create classes, define and implement interfaces and create and use generic collections

Create and call methods, catch/handle exceptions and describe the monitoring requirements of large applications

 
Microsoft 70-483: Programming in C# Course Curriculum

 

Module 1

C# and .NET Platform (4.5)

.NET Platform and Benefits

Platform Independence

.NET Building Blocks

Core C# Features

.NET Architecture

The .NET Assemblies

The Common Type System

CTS Type Members

Intrinsic CTS Data Types

Common Language Specification

Common Language Runtime and Common Object Runtime

Object Browser

Assembly Namespace Type Distinction (A.N.T)

.NET In Windows 8

Section Review

Test Our Knowledge

 

 Module 2

C# Programming

Console App Creation

Anatomy 101

Variations

Application Error Codes

Examining String Data

System.Console Class

System Data Types

Variable Declarations

C# Textual Data

Working with String Data

Data Type Conversions

Widening and Narrowing Conversions

The CHECKED and UNCHECKED Keywords

The Variable Console

Using Implicit Typing

Iteration Constructs

Construct Control Flow

Methodology 101

Defining Methods

Parameter Method

Method Overload

Arrays

Enums

Structures Types

Reference Types and Value Types

Nullable Types

Section Review

Test Our Knowledge

 

 Module 3

Object Orientated Programming with C#

C# Class Type

Room Class

Objects

Constructors

The THIS Keyword

Observing Constructor Flow

The STATIC Keyword

Static Field Data

Static Methods

Static Constructors

Static Classes

OOP Triumvirate

OOP Encapsulation

OOP Inheritance

OOP Polymorphism

Encapsulation

C# Encapsulation Services

Implementing Accessors and Mutaters

Creating a Static Property

Automatic Properties

Object Initialization Syntax

Constant Field Data

Inheritance and Polymorphism

Multiple Base Classes

The SEALED Keyword

Building Class Hierarchy

Sealed Classes

Containment and Delegation Model

Nested Types

Polymorphism

Virtual and Override Keywords

Abstract Classes

The Polymorphic Interface

Method Shadowing

Class Casting Operations

The AS and IS Keywords

System.Object

Overriding GetHashCode()

System.Object's Static Members

Structured Exception Handling

System Exception: TargetSite

StackTrace

HelpLink

Data Property

Custom Exceptions

Custom Exception Best Practices

TriBlock

The THROW Keyword

Inner Exceptions

The Finally Block

Identifying Unhandled Exceptions

Interfaces

Interface Types vs. Abstract Base Classes

Implementing an Interface

AS and IS Interface Keywords

Interface Parameters and Return Values

Arrays of Interface Types

Designing Interface Hierarchies

Multiple Inheritance with Interface Types

IEnumerable and IEnumerator Interfaces

Building Iterator Methods With The YIELD Keyword

Named Iterators

The IClonable Interface

The IComparable Interface

IComparer

Section Review

Test Our Knowledge

 

 Module 4

Advanced C# Concepts

Generics, Collections and Bears (Oh My!)

The System.Collections Namespace

Nongeneric Collections Classes

The Issue of Performance

The Issue of Type Safety

The System.Collections.Generic Namespace

The System.Collections.ObjectModel Namespace

Custom Generic Types

Custom Generic Structures and Classes

Delegates, Events and Lamda's

The .NET Delegate Type

Sending Object State Notifications Using Delegates

The Generic Action <> and Func <> Delegates

The EVENT Keyword

C# Anonymous Methods

Lambda Expressions

Lambda

Advanced C# Features

The Index Operator

Overloading Indexer Methods

Understanding Operator Overloading

Understanding Custom Type Conversions

Understanding Extension Methods

Extending Types Implementing Specific Interfaces

Anonymous Types

Limitations of Anonymous Types

LINQ to Objects

The Core LINQ Assemblies

Applying LINQ Queries to Primitive Arrays

The Result of a LINQ Query

Investigating the C# LINQ Query Operators

insert slides above instructor 3

insert slides above instructor 5

The Internal Representation of LINQ Query

Understanding Object Lifetime

Classes, Objects and References

The CIL of new

Setting Object Reference to null

The Role of Application Roots

The System.GC Type

Forcing a Garbage Collection

Finalizable Objects

Resource wrapper?

Understanding Lazy Object Instantiation

Section Review

Test Our Knowledge

 

 Module 5

.NET Assemblies and Base Class Libraries

Building Object Libraries

Assemblies Promote Code Reuse

Insert slides above instructor 3

Understanding the Format of a .NET Assembly

Building a C# Client Application

Understanding Private Assemblies

The Role of the App.Config File

Global Assembly Cache

Understanding Strong Names

gacutil.exe Options

Configuring Shared Assemblies

The System.Configuration Namespace

Reflection, Late Binding and More!

Type Metadata

Understanding Reflection

Building a Custom Metadata Viewer

Reflecting on Shared Assemblies

Understanding Late Binding

The System.Activator Class

The Role of .NET Attributes

The System.Activator Class

Reflecting an Attribute Using Early Binding

Building an Extendable Application

Dynamically Speaking

The Role of the C# DYNAMIC Keyword

Limitations of the DYNAMIC Keyword

The Role of The Dynamic Language Runtime (DLR)

The Role of Expression Trees

Simplifying Late-Bound Calls Using Dynamic Types

Leveraging the Dynamic Keyword to Pass Arguments

Simplifying COM Interoperability Using Dynamic Data

The Role of Primary Interop Assemblies (PIAs)

Multithreaded, Parallel and Async Programming

The Problem of Concurrency

The Role of Thread Synchronization

Review of The .NET Delegate

The Role of The AsyncCallback Delegate

System Threading Namespace

Manually Creating Secondary Threads

Working Whith The ParameterizedThreadstart Delegate

Foreground and Background Threads and Concurrency Redux

insert slides above instructor 2

Synchronization Using the System.Threading.Monitor Type

CLR Thread Pool

Parallel Programing Library

Asynchronous Calls Under .NET 4.5

File I/O and Object Serialization

Exploring the System.IO Namespace

The Abstract Stream Class

Working with StreamWriters and StreamReaders

Working with BinaryWriters and BinaryReaders

Understanding Object Serialization

The Role Of Object Graphs

Insert slides above instructor: 10

Serializing Objects Using the BinaryFormatter

Controlling The Generated XML Data

Customizing Serialization

Data Access Overview

Section Review

Test Our Knowledge

Outro

 

 Module 6

Windows Presentation Foundation

WPF In A Nutshell

What is XAML?

WPF Trees

WPF Project Types and Navigation

The Goals of WPF

Better Use Of Graphics Hardware

Property Binding and Property Inheritance

Styles and Templates

Consistent Control Containment

Separate UI From Code-Behind

Disadvantages of WPF

WPF Fundamentals: Size and Position

Font Properties

Opacity Masks

Miscellaneous Properties

Controls

Grid. DockPanel Controls

Boarder and List View Controls

Combo Box and List Box Control

Property Basics

Resources and Styles

WPF Data Binding

Section Review

Test Our Knowledge

Program Closing

Recommended Reading