Advanced .NET and C# programming


Tomas Matousek, Ladislav Prosek; ZS 2004/2005, 0/2, Z

Annotation

The seminar will be devoted to the Common Language Infrastructure (CLI) Architecture – the fundamental constituent of the Microsoft .NET Framework platform, to advanced C# language constructs and their mapping to the CLI, to the C++ with Managed Extensions (MC++) language and relationship between managed and unmanaged code, to memory management (i.e. Garbage Collection), to fundamentals of the Common Intermediate Language (CIL a.k.a. MSIL or Microsoft Intermediate Language) and to some interesting parts of the Class Library which provides massive functionality.

The actual topics explained will be chosen from the ones listed in the syllabus below according to students' interests. The seminar will be taught in a form of lecture supplemented with a discussion on the current topic and examples of a practical usage of explained priciples and conceptions. One can receive a credit for a class library or a program programmed by himself or herself or a talk.

Expected background includes knowledge of OOP principles and the C++ language. The knowledge of C# or Java basics is convenient but not essential. It may be useful to be familiar with some fundamental principles of middleware and distributed and operating systems in order to fully understand Remoting, Threading, Processes and Synchronization topics.

Syllabus

Further Information

The seminar homepage
C# specification (ECMA 334)
Common Language Infrastructure (ECMA 335)
Serge Lidin: Inside Microsoft .NET IL Assembler, Microsoft Press, 2002
Jeffrey Richter: Applied Microsoft .NET Framework Programming, Microsoft Press, 2002