Go to the Datasim Education BV homepage Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV
Information request

Follow datasim on Twitter

Share this page

C# Training

Course Category: 

C# Programming in .NET  - (code CS-F)

This course is the entry-level course for a range of C# courses. The C# language is part of the Microsoft .NET platform. The .NET platform enables developers to use different programming languages to create one application. C# compiles to a mid level language (MSIL) that is rich enough to support a wide variety of programming languages.

The beginning of the course covers the basic C# as well as more advanced concepts in C#. Also additions to C# in .NET 3.x and .NET 4.0 will be discussed. Finally we discuss some parts of the Framework Class Library.

This course has been created for developers. The emphasis is on the appropriate use of the C# language to help them create real-life applications.

What do you learn?

  • .NET platform and framework
  • Basic C# syntax and object-oriented programming
  • Advanced C# syntax
  • C# 3 and C# 4 additions
  • Important Framework Class Library classes
  • Using C# effectively

What previous Delegates have said about the Course

  • "First class course, thanks"
  • "Good course and good examples"
  • "Very good course"
  • "From 1 to 10, a 8.5"
  • "Course build up very good, good teacher, useful course"


Course contents updated January 2010

Course contents

C# and the .NET framework

  • The .NET Framework
  • Common Language Runtime (CLR)
  • What is MSIL
  • .NET Framework Class Library (FCL)
  • Where does C# fit in
  • C# as an object-oriented language
  • Assemblies
  • Language interop

C# Language

  • The start of the application
  • Variables and types
  • Value types and reference types
  • Copying and comparing reference types
  • Strings and arrays
  • Operators and their precedence
  • The Console class
  • String formatting
  • Statements and flows
  • Command-line arguments

Classes & Objects 

  • Abstract Data Types
  • Objects and classes
  • Creating and using your own classes
  • Data members and member methods
  • Accessibility levels
  • Constructors
  • Method overloading
  • This keyword

More on classes

  • Properties
  • Static variables, methods & classes
  • Extention Methods
  • Object destruction & finalizers 
  • ref and out parameters
  • Variable length argument lists
  • Named and optional arguments
  • Constant values
  • Enumerations
  • Nullable types & coalescing operator
  • var variables

Inheritance and Polymorphism

  • The root of all classes
  • Creating derived classes
  • Method overriding and hiding
  • Polymorphism and virtual functions
  • Casting objects
  • Abstract classes
  • Sealed classes & methods
  • More access specifiers

Namespaces, Nested Classes and Conversions

  • Why using namespaces
  • Using classes in a namespace
  • Placing classes in a namespace
  • Nested namespaces
  • Aliases
  • Using assemblies
  • Nested classes
  • Partial classes
  • Implicit conversions and member lookup
  • Explicit conversions
  • Checked conversions


  • What is an interface?
  • Creating, implementing and using interfaces
  • Interfaces and properties
  • The is and as operators
  • Interfaces versus abstract classes
  • Cloning objects using the ICloneable interface
  • Comparing objects using the Equals method
  • IDisposable interface and using statement
  • Explicit interface implementation
  • Implementing ICloneable as explicit interface


  • User defined value types
  • Structs versus classes
  • Boxing and unboxing
  • Object Initializers

Operator Overloading

  • What is operator overloading?
  • Overloading binary operators
  • Comparing objects using overloaded == and != operators
  • Overloading unary operators
  • Prefix and postfix operators
  • true and false operators
  • User defined conversions
  • Indexers
  • Guidelines

Exception Handling

  • What are exceptions
  • Exceptions in C#
  • Build-in exception classes and their members
  • Catching exceptions: try ... catch
  • finally
  • Nesting try blocks
  • Throwing exceptions
  • Creating your own exception classes
  • Chaining exceptions

Delegates and Events

  • Loose coupling using interfaces: Strategy pattern
  • Delegates: safe function pointers
  • Loose coupling using delegates: Strategy pattern
  • Multicast delegates
  • Events
  • Publisher-subscribe idiom
  • Model-view / observer pattern
  • Defining and raising events
  • Create event handlers and subscribe
  • Anonymous methods

Introduction to the .NET Framework Class Library

  • Framework namespaces
  • Basic framework functionality and interfaces
  • Array sorting and searching
  • Mathematics
  • Collections: ArrayList and Hashtable
  • Enumerators and foreach

Introduction to Windows Forms

  • Windows forms library
  • Forms and controls
  • Creating simple GUI by hand
  • Event handling
  • Common Dialog Boxes
  • GDI+

Introduction to Windows Presentation Foundation

  • What is WPF
  • XAML
  • Code behind files
  • Controls
  • Graphics

Introduction to Generic Programming

  • Traditional .NET object data structures
  • Concrete type wrapper classes
  • Generic .NET datastructures
  • Collection initializers
  • Creating generic classes
  • Templates versus generics
  • Default values
  • Multiple generic types
  • Generic type alias & var variables
  • Generic derivation- and constructor constraints
  • Generic methods
  • Generic delegates and events
  • Strategy pattern with generics


  • Deploying your application to the end user
  • CAB setup
  • Microsoft Installer (MSI) setup
  • Merge modules
  • Web setup

The student should have a basic knowledge of at least one procedural/structural programming language. Knowledge of object-oriented principles is an advantage but not essential.

Who should attend?
Software engineers who wish to learn C#. This course covers the fundamentals of C# which is enough to give you a head start with this technology.

Course form
This is a hands-on course where the percentage theory/practice is 40/60. The objective of the course is to acquaint the student with the principles of C#. The exercises in the course give the student a good idea of how to use the C# syntax.

Duration, price, date, locations
Course duration 3 days
Price Euro 1425.-- ex. VAT
Euro 1724.25 inc. 21% VAT
Date and location Dates available on request

It is also possible to organize this course at your company premises (the in-company option). If you have any question, please contact our Datasim office.

Follow-up courses

Share this page

Contact and Profile
Registration form
Course Dates