Site Sections => About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Microsoft Course 2124 - Programming with C# — A 5-Day Course

Course Synopsis

The goal of this course is to provide students with the knowledge and skills they need to develop C# applications for the Microsoft .NET Platform. The course focuses on C# program structure, language syntax, and implementation details.

C# was created to be the programming language best suited for writing enterprise applications for .NET. C# combines the high productivity of Microsoft Visual Basic with the raw power of C++. It is a simple, object-oriented, and type-safe programming language that is based on the C and C++ family of languages.

Course Objectives

On completion of this course, delegates should be able to:

  • List the major elements of the .NET Framework and explain how C# fits into the .NET Platform
  • Analyze the basic structure of a C# application and be able to document, debug, compile, and run a simple application
  • Create, name, and assign values to variables
  • Use common statements to implement flow control, looping, and exception handling
  • Create methods (functions and subroutines) that can return values and take parameters
  • Create, initialize, and use arrays
  • Explain the basic concepts and terminology of object-oriented programming
  • Use common objects and reference types
  • Create, initialize, and destroy objects in a C# application
  • Build new C# classes from existing classes
  • Create self-contained classes and frameworks in a C# application
  • Define operators, use delegates, and add event specifications
  • Implement properties and indexers
  • Use predefined and custom attributes

Intended Audience

This course is intended for experienced developers who already have programming experience in C, C++, Visual Basic, or Java. These developers will be likely to develop enterprise business solutions.

Course Prerequisites

Before attending this course, students must have:

  • Experience with programming in C, C++, Visual Basic, Java, or another programming language
  • Familiarity with the Microsoft .NET strategy as described on the Microsoft .NET Web site: http://www.microsoft.com/net/
  • Familiarity with the .NET Framework

Microsoft Certified Professional Exams

There is no MCP exam associated with this course.

Course Materials

The student kit includes a comprehensive workbook and other necessary materials for this class.

Publicly scheduled dates, locations, and prices

Central London — £995 (+VAT)

  • 2–6 Jun 2008
  • 30 Jun–4 Jul 2008
  • 11–15 Aug 2008
  • 6–10 Oct 2008
  • 12–16 Jan 2009

Outline Course Contents

Module 1: Overview of the Microsoft .NET Platform

Take a closer look: Download Sample Module 1 (Portable Document Format, 850 KB).

The following topics are covered in this module:

  • Introduction to the .NET Platform
  • Overview of the .NET Framework
  • Benefits of the .NET Framework
  • The .NET Framework Components
  • Languages in the .NET Framework

After completing this module, you will be able to list the major elements of the .NET Framework and explain how the C# language fits into the .NET Platform. This includes:

  • Describing the .NET Platform
  • Listing the main elements of the .NET Platform
  • Explaining the language support in the .NET Framework
  • Describing the .NET Framework and its components

Module 2: Overview of C#

Take a closer look: Download Sample Module 1 (Portable Document Format, 953 KB).

The following topics are covered in this module:

  • Structure of a C# Program
  • Basic Input/Output Operations
  • Recommended Practices
  • Compiling, Running, and Debugging

After completing this module, you will be able to analyze the basic structure of a C# application and be able to document, debug, compile, and run a simple application. This includes:

  • Explaining the structure of a simple C# program
  • Using the Console class of the System namespace to perform basic input/output operations
  • Handling exceptions in a C# program
  • Generating Extensible Markup Language (XML) documentation for a C# application
  • Compiling and executing a C# program
  • Using the Microsoft Visual Studio Debugger to trace program execution

Module 3: Using Value-Type Variables

The following topics are covered in this module:

  • Common Type System
  • Naming Variables
  • Using Built-In Data Types
  • Creating User-Defined Data Types
  • Converting Data Types

After completing this module, you will be able to create, name, and assign values to variables. This includes:

  • Describing the types of variables that you can use in C# applications
  • Naming your variables according to standard C# naming conventions
  • Declaring variables by using built-in data types
  • Assigning values to variables
  • Converting existing variables from one data type to another
  • Creating and using your own data types

Module 4: Statements and Exceptions

The following topics are covered in this module:

  • Introduction to Statements
  • Using Selection Statements
  • Using Iteration Statements
  • Using Jump Statements
  • Handling Basic Exceptions
  • Raising Exceptions

After completing this module, you will be able to use common statements to implement flow control, looping, and exception handling. This includes:

  • Describing the different types of control statements
  • Using jump statements
  • Using selection statements
  • Using iteration statements
  • Handling and raising exceptions

Module 5: Methods and Parameters

The following topics are covered in this module:

  • Using Methods
  • Using Parameters
  • Using Overloaded Methods

After completing this module, you will be able to create methods (functions and subroutines) that can return values and take parameters. This includes:

  • Creating static methods that accept parameters and return values
  • Passing parameters to methods in different ways
  • Declaring and using overloaded methods

Module 6: Arrays

The following topics are covered in this module:

  • Overview of Arrays
  • Creating Arrays
  • Using Arrays

After completing this module, you will be able to create, initialize, and use arrays. This includes:

  • Creating, initializing, and using arrays of varying rank
  • Using command-line arguments in a C# program
  • Describing the relationship between an array variable and an array instance
  • Using arrays as parameters for methods
  • Returning arrays from methods

Module 7: Essentials of Object-Oriented Programming

The following topics are covered in this module:

  • Classes and Objects
  • Using Encapsulation
  • C# and Object Orientation
  • Defining Object-Oriented Systems

After completing this module, you will be able to explain the basic concepts and terminology of object-oriented programming. This includes:

  • Defining the terms object and class in the context of object-oriented programming
  • Describing the three core aspects of an object: identity, state, and behavior
  • Describing abstraction and how it helps you to create reusable classes that are easy to maintain
  • Using encapsulation to combine methods and data in a single class and enforce abstraction
  • Explaining the concepts of inheritance and polymorphism
  • Creating and using classes in C#

Module 8: Using Reference-Type Variables

The following topics are covered in this module:

  • Using Reference-Type Variables
  • Using Common Reference Types
  • The Object Hierarchy
  • Namespaces in the .NET Framework
  • Data Conversions

After completing this module, you will be able to use common objects and reference types. This includes:

  • Describing the key differences between reference types and value types
  • Using common reference types such as string
  • Explaining how the object type works and becoming familiar with the methods it supplies
  • Describing common namespaces in the .NET Framework
  • Determining whether different types and objects are compatible
  • Explicitly and implicitly converting data types between reference types
  • Performing boxing and unboxing conversions between reference and value data

Module 9: Creating and Destroying Objects

The following topics are covered in this module:

  • Using Constructors
  • Initializing Data
  • Objects and Memory
  • Resource Managements

After completing this module, you will be able to create, initialize, and destroy objects in a C# application. This includes:

  • Using constructors to initialize objects
  • Creating overloaded constructors that can accept varying parameters
  • Describing the lifetime of an object and what happens when it is destroyed
  • Creating destructors and using Finalizemethods

Module 10: Inheritance in C#

The following topics are covered in this module:

  • Deriving Classes
  • Implementing Methods
  • Using Sealed Classes
  • Using Interfaces
  • Using Abstract Classes

After completing this module, you will be able to build new C# classes from existing classes. This includes:

  • Deriving a new class from a base class and calling members and constructors of the base class from the derived class
  • Declaring methods as virtual and override or hiding them as required
  • Sealing a class so that it cannot be derived from
  • Implementing interfaces by using both the implicit and explicit methods
  • Describing the use of abstract classes and their implementation of interfaces

Module 11: Aggregation, Namespaces, and Advanced Scope

The following topics are covered in this module:

  • Using Internal Classes, Methods, and Data
  • Using Aggregation
  • Using Namespaces
  • Using Modules and Assemblies

After completing this module, you will be able to create self-contained classes and frameworks in a C# application. This includes:

  • Using internal access to allow classes to have privileged access to each other
  • Using aggregation to implement powerful patterns such as Factories
  • Using namespaces to organize classes
  • Creating simple modules and assemblies

Module 12: Operators and Events

The following topics are covered in this module:

  • Introduction to Operators
  • Operator Overloading
  • Creating and Using Delegates
  • Defining and Using Events

After completing this module, you will be able to define operators, use delegates, and add event specifications. This includes:

  • Defining operators to make a class or struct easier to use
  • Using delegates to decouple a method call from a method implementation
  • Adding event specifications to a class to allow subscribing classes to be notified of changes in object state

Module 13: Properties and Indexers

The following topics are covered in this module:

  • Using Properties
  • Using Indexers

After completing this module, you will be able to implement properties and indexers. This includes:

  • Creating properties to encapsulate data within a class
  • Defining indexers to gain access to classes by using array-like notation

Module 14: Attributes

The following topics are covered in this module:

  • Overview of Attributes
  • Defining Custom Attributes
  • Retrieving Attribute Values

After completing this module, you will be able to use predefined and custom attributes. This includes:

  • Using common predefined attributes
  • Creating simple custom attributes
  • Querying attribute information at run time

.NET training UK enquiries

UK Training enquiries and feedback form.

.NET training UK prices

For publicly scheduled training (individual places), see our UK training schedule.

In-house training for company groups is charged at a daily rate per group — see our In-House UK Training Guidelines.

Publicly Scheduled Training Locations

We currently run public training courses in the following locations:

  • London, UK
  • Leeds, West Yorkshire, UK
  • Birmingham, West Midlands, UK
  • Carshalton, Surrey, UK
  • Chester, North West, UK
  • Coventry, West Midlands, UK
  • Edinburgh, Scotland, UK
  • Glasgow, Scotland, UK
  • Harwell, Oxfordshire, UK
  • Manchester, North West, UK
  • Milton Keynes, Buckinghamshire, UK
  • Newark, Nottinghamshire, UK
  • Reading, Berkshire, UK
  • Slough, Berkshire, UK
  • Stevenage, Hertfordshire, UK
  • Wakefield, West Yorkshire, UK
  • Wokingham, Berkshire, UK

Most UK public training courses are available on a monthly basis.

Please see the individual course outlines or our public training schedule for details.

In-house (on-site) training locations

We deliver in-house courses at client premises and/or training facilities in any part of the world which is practically and commercially accessible.

Our In-house training guidelines outline our basic requirements and our UK pricing structure. To estimate costs for training in other countries, simply convert to your local currency and then make a rough calculation of our tutor's costs for travelling to and staying at your location.


West Yorkshire Office

GBdirect Ltd
Training Division
Bradford Design Exchange
34 Peckover Street
BRADFORD
BD1 5BD
West Yorkshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


South East Regional Office

GBdirect Ltd
Training Division
18 Lynn Rd
ELY
CB6 1DA
Cambridgeshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


Please note:
Non-training enquiries should be directed, initially, to our UK national office in Bradford (West Yorkshire), even if the enquiry concerns services delivered in London or South/East England. Clients in London and the South East will typically be handled by staff working in the London or Cambridge areas.