Terms for 2017
Open DayFull list of terms
Development in C#
The aim of this course is to introduce students to the development of object-oriented applications in C# with use of the Microsoft Windows .NET. Students get basic overview of the .NET framework and is closely acquainted with its most important parts. An integral part is an introduction to Visual Studio development environment as well as tools for the "rapid development" of complex applications, including the creation of documentation, localization in different languages, application testing and ClickOnce deployment. Students in the course well acquainted with more advanced programming concepts such as multi-threaded applications along with the themes of resource sharing, connecting to databases along with transaction processing, work with data in XML format and its definition through XSD and advanced programming techniques such as lambda expressions and anonymous programming . The course includes best practices in programming, introduction of application design approaches using MS Visual Studio, co-operation using format UML, methods of testing and debugging, and efficient troubleshooting.
What are you going to learn
Basic principles of the .NET platform. Summarize history of the development of programming languages C, C ++, Java, C#. The nature of language, concepts, compilation, interpretation and virtual machines, bytecode (CLI) and virtual machine (CLR). Generations of programming languages. Architecture of C# language and its development along with the .NET framework. Automatic memory management and garbage collection (GC). Common Type System (CTS) and its use. Benefits of Common Language Specification (CLS). Principle of Just-in-time compilation (JIT). The main components of the .NET framework and compared with Java.
Program Structure and objects in C#. Classes and objects in C#, instance variables, methods and properties. Inheritance, encapsulation, access to class elements, properties, null value types, constructor, destructor.
Extending the object structure. Extending the object structure using abstract classes, inheritance, interfaces, commands is, as and type of, sealed classes, internal, nested classes, structures, operator overloading, packing, unpacking, boxing, unboxing.
C # type system and basic language structures - Imperative programming, declarative programming, object oriented programming, static typing, type, type casting, programming elements, collections, generic collection
Exceptions input and output operations. The principles of using exceptions as a general scheme of dealing with error conditions and define your own exceptions. Input output operations, serialization and deserialization.
XML Data. Definition of XML format and its relationship with the object model. The basic concept of working with XML - parsing and DOM. XSD schemas and analogies extension XML / XSD with the OOP. Definition of XSD elements, conditions and restrictions. Validation document in C # .NET.
Delegates and events. The concept and the ability to delegate reference to the method. Usage of basic delegates and their composition. Expanding on the events and their inheritance. Anonymous methods and types of reflection and cloning.
Genericity. Genericity and its application in C#. Extending basic genericity with a WHERE clause, lambda expressions, attributes reflection.
Working with relational databases. Component ADO.NET and principles connected and disconnected applications, connect to a specific database and general handling of data access. Methods of using SQL commands and basic elements of SQL parameters and stored procedures. Transactions and transaction processing. Disconnected management using DataTable, dynamic creation and synchronization with the data source.
LINQ - LINQ and its application in C#. LINQ basics and questioning underneath. LINQ to Objects, LINQ to SQL.
Threads. Principle multithreaded runtime. Definitions of threads in C#, and their various properties. Deeper description of synchronization and their problems. Synchronization solution monitors and critical section, the problem of waiting for a lock, switching threads and mutex. Special thread called daemon, pool of threads, asynchronous delegates and the Timer class.
Development of form applications. Introduction to Windows Forms (WF). Detailed project structure in Visual Studio 2015. Sources, settings and general configurability applications. Basic elements in WF, general events and the responsibility of elements and their management in VS 2015. Creation of basic elements Label, LinkLabel, Button, ComboBox, ListBox, CheckBox, RadioButton, CheckedListBox, TextBox, RichTextBox, MaskedTextBox, NumericUpDown. Description Menu and other application bars, a description of progress bar. Layouts and containers. Binding to data and DataSource and DataBindings. Multiple Document Interface. Introduction to XAML and WPF.
How the course is organized
Full time study
The course consist of 12 lectures and 12 seminars, each lasting 1,5 hours.
Part time study
The course consist of 3 blocks, each lasting 3 hours.