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.