C# Programmer Training

Become a programming professional.



Enquire to get more info on pricing
Finance options

Finance option available

Study method
Online, self-paced
1 year
No formal qualification

14 students enquired about this course

Add to basket or enquire

Enquire now


C# is one of the most in-demand programming languages and a winning formula across platforms such as desktop, web and mobile. Get the Leading C# programming skills and knowledge with the Microsoft 70-483 course.

Give your career the edge and receive 12 months full access to the following course:

  • Microsoft 70-483: Programming in C# .NET

This offer excludes the cost of exams.

What will I do?

Programmers are the brains behind software and are responsible for creating, modifying, deploying and maintaining all areas of program code for new or current software or applications.

Developers are also an important part of making the business more efficient and can be required to work in teams with Analysts, Designers and other staff to produce ideas for system improvements.

Request a free trial today

This will give you an exact idea of how the training works. We can also tailor the package to meet your exact training needs. Our friendly Advisors can answer any questions you have and advise you on the best study path for your career needs.

How much can you earn?

The demand for IT professionals continues to grow. The current average salary for a Software Developer/Programmer in the UK is £60,000. (Reed Salary Checker)

Enquire Now

Our friendly Consultants are waiting to help you.

** This course bundle is part of our Programming & Developer Course Library which also includes Python, Java, C++ and more **


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

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

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

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

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

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

Who is this course for?

Anyone with an interest in programming.


There are no academic requirements to study this course.

Career path

  • Junior Development
  • Senior Development
  • Lead Developer or Architect
  • Mid-Level Manager
  • Senior Leader

Questions and answers


Currently there are no reviews for this course. Be the first to leave a review.


What does study method mean?

Study method describes the format in which the course will be delivered. At courses are delivered in a number of ways, including online courses, where the course content can be accessed online remotely, and classroom courses, where courses are delivered in person at a classroom venue.

What are CPD hours/points?

CPD stands for Continuing Professional Development. If you work in certain professions or for certain companies, your employer may require you to complete a number of CPD hours or points, per year. You can find a range of CPD courses on, many of which can be completed online.

What is a ‘regulated qualification’?

A regulated qualification is delivered by a learning institution which is regulated by a government body. In England, the government body which regulates courses is Ofqual. Ofqual regulated qualifications sit on the Regulated Qualifications Framework (RQF), which can help students understand how different qualifications in different fields compare to each other. The framework also helps students to understand what qualifications they need to progress towards a higher learning goal, such as a university degree or equivalent higher education award.

What is an ‘endorsed’ course?

An endorsed course is a skills based course which has been checked over and approved by an independent awarding body. Endorsed courses are not regulated so do not result in a qualification - however, the student can usually purchase a certificate showing the awarding body’s logo if they wish. Certain awarding bodies - such as ABC Awards and TQUK - have developed endorsement schemes as a way to help students select the best skills based courses for them.


Mobile Navigation