Course CSH101
.Net and C# Programming - A Comprehensive Introduction
.Net and C# Programming - A Comprehensive Introduction
Duration: 5 Days
Course Synopsis
This course is an intensive introduction to object oriented programming using C# and .Net. The course will be based on Visual Studio 2010 and .Net 4.0.
Course Objectives
By the end of the course student should know and understand
- The architecture and design of the .Net Framework
- The syntax and structure of the C# programming language
- Making use of inheritance, polymorphism, composition and aggregation in the design and implementation of C# applications
- Be able to create Windows Forms and WebForms GUI interfaces
- Know how to design, implement and deploy custom .NET components
- Know how to use LINQ to query databases
The course is aimed at
- Programmers who need a rapid and intensive introduction to application development using C# and the .NET framework
Prerequisites
- Students are expected to have some programming experience e.g. in C, Java or C++, or an early version of C#
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call Ajay Patel on 02086471939 to enquire about places and availability.
Course Outline
Introduction to C# and UML and .NET
- Development and evolution of C# and .NET
- Overview of Object Oriented concepts
- Overview of UML
- .NET Common Language Infrastructure (CLI)
- .NET Managed Code Philosophy
- Common Intermediate Language (CIL) and metadata
C# - Foundations
- Data types and control constructs
- Implicit vs. explicit variables
- Value types vs. reference types
- Unicode - Characters and Strings
- Methods - Defining them and calling them
- Specifying the Main method
- Mechanisms for passing arguments and returning values
- Scope and lifetime of variables
- Named methods vs. symbolic methods
- Exception handling
- Garabage collection and resource recovery
- Using .NET library classes
- Namespaces - purpose, usage and syntax
- I/O using the Console and stream classes
- Standard and Generic collection classes - an overview
C# Classes
- Defining a Class
- Realising attributes with methods and properties
- Constructors and initialisation
- Method and constructor overloading
- Inheritance and Polymorphism
- Class instance - Object
- Allocating memory with new
- Passing initialisation values to constructors
- Value allocation vs. reference allocation
- Boxing and unboxing
- Accessing properties and invoking methods
Class Relationships, Collections of Classes and Interfaces
- Aggregation and Composition
- References and how to manipulate them
- Physical equivalence vs. logical equivalence
- Deep copying vs. shallow copying
- Inheritance and Polymorphism
- Collection Library Classes
- Generics
- Interfaces
- Specifying an interface
- Implemeting an interface
- Interface Polymorphism
- Events and Delegates
- Synergy between collection classes, generics and interfaces
Component Implementation
- Component oriented aspects of .NET
- Manifests and assemblies
- Deploying applications and components
- Understanding the .NET assembly metamodel
- Component Implementation
- Creation and invocation of custom components
- Extending System.ComponentModel.Component
- Accessing legacy COM/DCOM components
- Generating user interfaces
- File I/O and serialisation
- Database access via LINQ
- Overview of WPF and XAML
- Overview of WCF
- Automating documentation with XML
- Implementing an IEnumerable<T> interface
