1
Introduction
- Principle and architecture of the .NET environment.
- Main components: language, CLR, CTS, ...
- Benefits of the MSIL language.
- Execution model in .NET: managed execution benefits.
- Visual Studio. Type of projects. Help and documentation.
Hands-on work
Development of a Windows application using the C# language. The steps necessary to construct, compile and run a program are covered in detail.
2
Language syntax
- Basic understanding of the C# language.
- Values, operators and variables.
- Reference types : classes and interfaces.
- Exception handling. Program structure.
- Program debugging.
Hands-on work
Programs development in C#.
3
Object Oriented Programming
- Encapsulation and abstraction.
- Classes and objects. Inheritance. Polymorphism.
- Multiple interfaces implementation.
- Introduction to the modeling language UML 2.0.
4
Class development and objects creation
- Class and object definition.
- Class members: methods and properties.
- Static members. Overloads of methods.
- Object's life cycle and the garbage collector in action.
- Benefits of a typed language.
- Application structure through Namespaces.
- Inheritance: which members are inherited from a derived class ?
- Abstract class. Generic collections and classes.
Hands-on work
Development of a C# application highlighting the main tasks of a professional .NET developer.
5
Interfaces
- Definition. Explicit and implicit implementations.
- The role of the interface in inheritance.
Hands-on work
Development of an object oriented C# application using the design by contract paradigm.
6
Exception handling
- Principle. Best practices in exception handling.
- Creating a custom exception class. Libraries.
Hands-on work
Exception handling implementation.
7
Assemblies
- Definition. Organizing a project through assemblies.
- Creating shared assemblies. Assembly deployment.
- Use of the Global Assembly Cache (GAC).
Hands-on work
Creation of shared assemblies. Distribution to the users' desktop and GAC
8
Application development with .NET technologies
- Evolution of the data access model in .NET Framework.
- ADO.NET technology for data handling.
- Web development with the ASP.NET namespaces.
- Service Oriented applications using Web Services.