Programming with C# 2 day remote one on one training course - £450 plus VAT

Please note:

Due to the current coronovirus situation this course is currently only available as a live remote one on one course.

Once things are back to normal we will be running public dates in London, Manchester, Sheffield, Leeds, Nottingham and Birmingham, as well as in-person one on one courses and private (closed) courses.

Click here to register your interest in this course and we will keep you informed when any new dates are added.


This C# training course is an introduction to the C# ("C sharp") programming language. With no prior knowledge required it will cover the building blocks of the C# programming language, such as how .NET is different from traditional programming, defining variables, control structures (if..else.., loops etc) and operators, before going on to explain key concepts such as classes, objects, properties and methods. It will then move on to introduce more advanced subjects such as static behaviour, abstract behaviour, enumerations and polymorphism. It will provide delegates with a skill base from which they can go on to develop C# applications on either the Windows Forms or ASP.NET platforms.


2 days


£450 plus VAT (£540 inc VAT) for our remote live one on one course, accessed over the internet - click here for details


We can arrange dates to suit you - please contact us for further details or to book this course.


There are no prerequsites for this course

Detailed course contents

Introduction to .NET

What is .NET?

Common Language Runtime

Common Type System (CTS)


Introduction to C#

What is C# ?

What is C# used for?

Features of C#

What does C# look like?


Getting started

Creating a project

The Main method

C# basics

Displaying to the console screen

Adding comments

Compiling and running the program from the command line

Compiling and running the program using the Visual Studio Express IDE



Variables in C#

Declaring variables

Variable name rules

C# keywords

Assigning a value to a variable


Escape Sequences

Verbatim string

Character data types

Numeric data types

Signed and Unsigned


Signed Byte

Short Integers

Unsigned Short Integers

Signed integers

Unsigned Integers

Long Integers

Unsigned Long Integers

Real Numbers: float

Double-Precision Numbers


The Boolean Data Type

The DateTime Data Type

Assigning a DateTime value

Declaring a variable

Uninitialised variables


C# / .NET Data Types

C# / .NET Data Type equivalents


Object properties and methods

Data type properties

Data type methods

String methods: PadLeft and PadRight

String method: Substring

More String methods

Numeric formatting with ToString()

Common Format Specifiers

DateTime properties

Static DateTime properties

DateTime methods

Converting DateTime to a String

DateTime format masks

Converting numeric data to string


Data type conversion

Implicit and explicit conversion

Using Parse to convert data types

Using TryParse to convert data types




C# operators

The + operator

The -, * and / operators

The ++ increment assignment operator

The -- inecrement assignment operator

The += addition assignment operator

The -=, *= and /= operators

Logical operators ==

Logical operators !=

Logical operators < and >

Logical operators <= and >=

Logical ‘and’ Conjunction: &

Conditional ‘and’ Conjunction: &&

The Binary ‘or’ operator: |

The Conditional ‘or’ operator: ||

The exclusive ‘or’ operator: ^


Conditional logic

Conditional control: if

Conditional control: else

if .. else if

The Ternary Operator: ? :

Case Switches

Branching statements





The while loop


The for loop

Breaking out of a loop

Continuing a loop



Methods of a class

Types of method

Method parameters

Declaring a method

Examples: Method declarations

Specifying method parameters

Returning a value from a method

A complete method

Overloading a method


Introduction to Classes

Object oriented programming



Creating a class

Creating a class in its own file

Creating an object

Assigning a value to an object

Accessing class members

Objects as parameters and return types

Reference types

Class Fields

Access modifiers

The public access modifier

The private access modifier




Traditional encapsulation


Coding a Property

Implementing a Property

A property with accessor logic

Accessing a property

Read only Properties

Write only Properties

New in C# 3.0: Automatic Properties

Read only / Write only Automatic Properties

Initializing Automatic Properties



What are constructors?

Constructors with arguments

Calling a constructor

The default constructor

Constructor chaining



Introduction to Inheritance

Examples of inheritance use

Deriving one class from another

Adding to a Derived Class

Overriding Members of the Base Class

The Object Class (System.Object)

Calling Members of the Base Class

Referencing the constructor of an inherited class

Multi-Level Hierarchies

The protected access modifier

Constructors and Inheritance

Explicitly calling Base Class Constructors

Protected Constructors


Static members and classes

Static Members of a class

Examples of static behaviour

Declaring Static Members

Referencing Static Members

Static Classes

Rules of static classes


Sealed and Abstract classes

Preventing inheritance from a class

Preventing instantiation from a class

Creating an abstract class


Polymorphism and Name Hiding

Substituting a derived class for its parent


Name hiding



Array Types

Declaring an Array

Initialising an array

Retrieving the length of an array

Using foreach to loop through an array


Error handling

Introduction to Exception Handling

try .. catch


The Exception Class

Catching the Exception instance

The Exception Message

Throwing an Exception

Passing a message to the Exception class



What are Enumerators?

When to use Enumerators?

Declaring enumerators

Using the enumerator



What is a namespace?

Accessing Members of a Namespace

Namespace Nesting

using a Namespace

The System Namespace


  • What are the course times?
    • Most course days run from 9.30am to around 4pm, however as we are currently only offering one on one remote courses during the current crisis, we can be quite flexible if you would like to do different hours.

  • Do I need anything?
    • For our live remote one on one courses you only need a computer with the Chrome browser, and speakers or headphones to hear the instructor. When it comes time to do an exercises you can either connect to our computer to do them, or do them on your own computer. We will advise for your specific course what software you would need to do them on your own computer but don't worry, you can connect to ours if you prefer.

  • How can I pay?
    • Once you have booked you will receive a confirmation email, and shortly after that, an invoice. For online courses payment is required before the start of the course. Payment can be made by bank transfer (BACS etc), cheque or card.

Other courses