The C# Programming Language

Duration: 
5 days
Codes: 
QACS,C

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 course 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.

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.

Audience

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.

Skills Gained

At the end of this course you will be able to:

  • Write 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
  • Use delegates
  • Understand the event handling paradigm
  • Use lambda expressions in C# code
  • Use LINQ (Language Integrated Query)
  • Efficiently manage resources

Prerequisites

Please note: Delegates attending this course via Extended Classroom will be required to provide dual monitors.

Technical pre-requisites

Please note: Before attending this class delegates must have a Microsoft account (signing up one is free). The instructions on how to set up a Microsoft account can be found here.

Course Outline

But to make the most of this potential, developers must have a thorough grasp of core language skills and OO programming concepts.

Module 1: Introduction to Object Orientation

This ensures all delegates have a grounding in the principles of Object Orientation.

Module 2: OO and C Sharp

Get started on how C# implements Object Orientation

Module 3: Introduction to .NET Visual Studio & C#

  • The .NET Framework; The Common Language Runtime; The Common Type System
  • C# Features; Introduction to namespaces and assemblies
  • Get to know your way around Visual Studio

Module 4: Syntax I

  • Conversion; Arithmetic and other operators
  • Flow of control constructs
  • Passing parameters by value, by reference, named and optional parameters

Module 5: Syntax 2

  • Type concepts; Classes; Reference types
  • Fields, properties and methods
  • Accessibility modifiers
  • Object initialisation, Constructors and Constructor chaining
  • Instance members; Keyword 'this'
  • The 'null' reference
  • const & readonly
  • Enumerated types
  • Arrays

Module 6: Collections

  • Generic Collections
  • Iterating collections
  • Indexers

Module 7: Inheritance & Polymorphism

  • Concept of inheritance; Substitutability; Extending a simple class
  • 'virtual', 'override' and 'sealed' modifiers
  • Polymorphism
  • Abstract classes
  • Upcasting and safe downcasting

Module 8: Interfaces

  • Polymorphism with interfaces
  • Multiple interfaces

Module 9: Delegates and Lambdas

  • Delegates explained
  • Working with delegates
  • Creating your own delegate types
  • The evolution of Lambdas from anonymous delegates

Module 10: Generic Delegates

Using the framework-supplied generic delegates

Module 11: LINQ

  • The language features behind LINQ
  • The LINQ API and query pattern
  • Grouping and Joins

Module 12: Handling Exceptions

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

Module 13: Consuming Events

  • Understanding events in .NET
  • Writing event handlers

Module 14: Producing Events

  • The event conventions
  • Raising custom events

Module 15: Garbage Collection

  • Garbage collection and its impact
  • Finalizers; The 'Dispose' pattern; IDisposable
  • The 'using' statement

Module 16: Reverse Engineer

At the end of the course we reverse-engineer the resultant code and compare the results to the Class Diagram we produced near the beginning of the course.

Module 17: The Way Ahead

  • Review
  • Follow-on courses
  • Appendix Module A: LINQ to Xml

Producing and consuming XML using LINQ

Exam

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.

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. It's a cost effective option.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

Upcoming Dates

  • GREEN This class is Guaranteed To Run.
  • SPVC - Self-Paced Virtual Class.
  • Click a Date to Enroll.
Course Location Days Cost Date
Midlands
Birmingham5 3301 £3301 2019-01-28
Midlands
Birmingham5 3301 £3301 2019-01-28
Devon
Exeter5 2787 £2787 2019-02-04
Midlands
Birmingham5 2787 £2787 2019-02-04
Bristol
Bristol5 2787 £2787 2019-02-04
Edinburgh
Edinburgh5 2787 £2787 2019-02-04
Manchester
Manchester5 3301 £3301 2019-02-11
London
London5 3301 £3301 2019-02-11
Manchester
Manchester5 3301 £3301 2019-02-11
Manchester
Manchester5 3301 £3301 2019-02-18
London
London5 3301 £3301 2019-02-18
London
London5 3301 £3301 2019-02-18
London
London5 2500 £2500 2019-02-18
London
London5 3301 £3301 2019-03-04
London
London5 3301 £3301 2019-03-04
London
London5 3301 £3301 2019-03-04
London
London5 3301 £3301 2019-03-18
London
London5 3301 £3301 2019-03-18
London
London5 2500 £2500 2019-03-18
Glasgow
Glasgow5 3301 £3301 2019-03-25
Glasgow
Glasgow5 3301 £3301 2019-03-25
Bristol
Bristol5 2787 £2787 2019-04-01
Devon
Exeter5 2787 £2787 2019-04-01
Nottinghamshire
Nottingham5 2500 £2500 2019-04-01
Edinburgh
Edinburgh5 2787 £2787 2019-04-01
Nottinghamshire
Nottingham5 3301 £3301 2019-04-01
Midlands
Birmingham5 2787 £2787 2019-04-01
Manchester
Manchester5 2500 £2500 2019-04-15
Manchester
Manchester4 3301 £3301 2019-04-15
Onsite
Onsite5 3085 £3085 2019-04-19
London
London5 3301 £3301 2019-04-29
London
London5 3301 £3301 2019-04-29
London
London5 3301 £3301 2019-04-29
Midlands
Birmingham5 3085 £3085 2019-05-06
Midlands
Birmingham5 3085 £3085 2019-05-06
London
London5 3301 £3301 2019-05-13
Midlands
Birmingham5 3301 £3301 2019-05-13
London
London5 2500 £2500 2019-05-13
London
London5 3301 £3301 2019-05-13
Midlands
Birmingham5 3301 £3301 2019-05-13
London
London5 2500 £2500 2019-05-20
London
London5 3301 £3301 2019-05-20
Midlands
Birmingham5 3301 £3301 2019-05-20
London
London5 3301 £3301 2019-05-20
Manchester
Manchester5 3301 £3301 2019-06-17
London
London5 3301 £3301 2019-06-17
London
London5 3301 £3301 2019-06-17
London
London5 2500 £2500 2019-06-17
Manchester
Manchester5 3301 £3301 2019-06-17
London
London5 3301 £3301 2019-07-01