Algorithms and Programming, part 2

Major: Applied mathematics and computer science
Code of subject: 6.113.00.O.009
Credits: 8.00
Department: Applied Mathematics
Lecturer: Ryzha I.A. (Ph.D.)
Semester: 2 семестр
Mode of study: денна
Learning outcomes: • learn particularities of object-oriented programming languages (C++/С#); main concepts of OOP (encapsulation, polymorphism, inheritance); possibilities of standard template library (STL); basics of usage of unified modelling language (UML); some most popular design patterns; • be able to declare class, its attributes and methods; understand the purpose and applications of constructors, destructors, overloaded functions, methods and operators; declare virtual (and pure virtual) methods and abstract classes; declare and implement static attributes and methods of a class; declare and implement friends of a class; implement encapsulation, polymorphism and inheritance (including multiple inheritance) in class design; declare and use of interfaces; apply some common STL templates (vector, stack, iterator etc.) in applications design; describe application’s architecture using UML diagrams; use some design patterns in application design (abstract factory, singleton; adapter, bridge, proxy; iterator, observer, strategy).
Required prior and related subjects: prerequisites: • Algorythms and programming, Part 1 co-requisites: • Organization of Databases and Knowledge • Discrete Mathematics, Part 1 • Calculus, Part 2.
Summary of the subject: Basics of OOP and main concepts (encapsulation, polymorphism, inheritance). Programming languages supporting OOP methodologies (C++, C#). Standard algorithms and templates (STL). Basics of UML (Unified Modelling Language). Design patterns.
Assessment methods and criteria: current control (45%): labs, control tasks in Moodle; final examination (55%): exam.
Recommended books: 1) C/C++. Программирование на языке высокого уровня / Т. А. Павловская. — СПб.: Питер, 2003. —461 с: ил. 2) Трей Неш. C# 2010 ускоренный курс для профессионалов. : Пер. с англ. — М.: ООО «И.Д.Вильямс», 2010. — 592 с.: ил. 3) Язык UML. Руководство пользователя. 2-е изд.: Пер. с англ. Мухин Н. –М.: ДМК Пресс, 2006. – 496 с.: ил. 4) Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб: Питер, 2001. — 368 с: ил.