The C# Programming Language

5 Day Course
Hands On
Official Curriculum
Code QACS

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Overview

Microsoft’s .NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built with equal ease, using substantially the same skill-set. But to make the most of this potential, developers must have a thorough grasp of core language skills and OO programming concepts.

This intensive course is intended for developers who will use C# to write .NET Framework applications and who are relatively new to the C# programming language. It concentrates on the C# programming language itself, to prepare delegates fully in readiness for exploring the .NET Framework. No Object-Orientated knowledge is assumed - the course provides a suitable OO primer. From basic procedural syntax to sophisticated object-oriented programming techniques, delegates will learn how to write .NET applications with code that is robust and maintainable.

Delegates looking to migrate their existing Java and/or C skills to C# should attend the QAJAVCSMIG - Migrating to C# 4.0 for Java and C developers.

The course is presented as a mixture of lectures, demos and hands-on exercises. Practical sessions follow all main topics, designed to reinforce the points covered. Additional information is provided in appendices to extend the learning experience after the course has been completed.

The course provides a starting point for delegates wishing to undertake Microsoft exam 70-483 - Programming in C# although further study is likely to be required before sitting the exam. 

Objectives

Delegates will learn how to:

  • Write efficient procedural code that includes sequence, selection and iteration constructs
  • Create and use classes and structures (types), including fields, properties and methods
  • Use private, internal, protected and public visibility modifiers
  • Use exception-handling to create robust applications
  • Create derived classes that inherit from custom-written or .NET Framework classes
  • Create interfaces and apply techniques of polymorphism effectively and appropriately
  • Work with generic types
  • Leverage the power of C# features
  • Understand and be able to use delegates
  • Understand the event handling paradigm
  • Use lambda expressions effectively in C# code
  • Use LINQ (Language Integrated Query)
  • Efficiently manage resources
  • Understand Attributes in .NET.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.

Modules

Collapse all

Introduction to .NET Visual Studio & C# (2 topics)

  • The .NET Framework; The Common Language Runtime; The Common Type System
  • C# Features; Introduction to namespaces and assemblies

Syntax I (4 topics)

  • Procedures and statements; Data types; Declaring variables; Assignments
  • Conversion; Arithmetic and other operators
  • Control constructs
  • Passing parameters by value, by reference, named and optional parameters

Module 3: Syntax 2 (11 topics)

  • Type concepts; Classes; Reference types
  • Fields, properties and methods
  • Accessibility modifiers
  • Object initialisation, Constructors and Constructor chaining
  • Instance members; Keyword 'this'
  • The 'null' reference
  • Nullable types
  • const & readonly
  • Enumerated types
  • Partial classes
  • Boxing / UnBoxing issues

Exception Handling (2 topics)

  • Errors vs. Exceptions; The 'try' block; The 'catch' block; The 'finally' block; Using 'throw'
  • Creating your own exceptions; checked™ and unchecked™ expressions.

Collections (5 topics)

  • Arrays
  • Generic Collections
  • Iterating collections
  • Generic Methods
  • Constraints on Generics

Inheritance & Polymorphism (5 topics)

  • Concept of inheritance; Substitutability; Extending a simple class
  • virtual™, override™ and sealed™ modifiers
  • Polymorphism;
  • Upcasting and safe downcasting
  • Behaviours of class String

Abstract Classes & Interfaces (2 topics)

  • Abstract classes; Abstract methods and properties
  • Polymorphism with interfaces; Multiple interfaces

Delegates (1 topic)

  • Delegates explained; Working with delegates; Creating your own delegate types

Lambda expresssions (1 topic)

  • Understanding Lambdas

LINQ (4 topics)

  • Understanding the language features behind LINQ
  • The LINQ API and query pattern
  • Grouping and Joins
  • Demo of LINQ to Entities

More LINQ to XML (3 topics)

  • An overview of LINQ to XML
  • XElement construction
  • Navigating XML structures

Events (3 topics)

  • Understanding events in .NET
  • The event conventions
  • Writing events as lambda expressions

The Way Ahead (2 topics)

  • Review
  • Follow-on courses

Attributes (3 topics)

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

Appendix Module A: Working with Text (1 topic)

  • Class String; Class StringBuilder; Formatting Strings; Regular Expressions

Appendix Module C: Operator Overloading (2 topics)

  • Why operator overloading is useful; When to overload
  • Implicit conversions; explicit conversions

Appendix Module D: Namespaces & Assemblies (3 topics)

  • Namespaces; The using™ statement for namespaces; Assemblies
  • DLLs at compile time and run Time; The Global Assembly Cache (GAC)
  • Versioning using public/private key cryptography

Appendix Module E: Managing Resources (2 topics)

  • Garbage collection and its impacts; Finalizers; The Dispose™ pattern; IDisposable
  • The using statement

Prerequisites

Before attending this course, students must have:

  • Delegates must understand the fundamentals of programming
  • This is a course for developers

Relevant Certifications

Scheduled Dates

Please select from the dates below to make an enquiry or booking.

Pricing

Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Mar Apr May Jun Jul Aug
QACS
Virtual Classroom (Virtual On-Line)
4 Days $5,310
20-23
QACS
Virtual Classroom (Virtual On-Line)
4 Days $5,845

Course PDF

Print

Share this Course

Share

Recommend this Course

Sections