C # programming

Objectives and outcomes

Students understand and apply the basics of .NET technology. They use .NET dialect C# and work
in Visual Studio environment.
Upon completion of the course, students will have a basic and advanced knowledge of fundamental
problems, concepts and approaches to designing and building applications in Microsoft’s .NET
environment with the C # programming language.

Lectures

Introduction to the .NET environment: architecture, CLR, CCL, CIL, CTS, CLS, assemblies, managed modules.
Functional programming: data types, program flow, expressions, complex data types and functions.
Object-oriented programming: classes, objects, fields, properties, methods. The concept of static classes
and methods. Inheritance and relationships among classes. Polymorphism and additional object
concepts: operators, indexers, delegates, events, anonymous methods, lambda expressions, threads.
Working with text, serialisation of objects, using graphic library, security and cryptographic functions.

Practical classes

Creating solutions and projects in a Visual Studio environment. Using C # program elements to declare
variables, use expressions and operators, create arrays, create and use decision commands and loops.
Creating classes, properties and events. Defining and invoking methods. Inheritance and interface
implementation. Exception management. Facility life cycle management and resource control.
Construction and the use of collections. Working with threads. Input and output functions to work with the OS file
system. Working with text. Object serialisation and serialisation. Working with graphics. Security
and cryptographic functions.