Object-Oriented Programming

Major: Computer Science (Design and programming of intelligent systems and devices)
Code of subject: 6.122.12.O.008
Credits: 7.00
Department: Computer-Aided Design
Lecturer: Oksana V. Oborska, Ph.D., Lecturer of the CAD Department.
Semester: 2 семестр
Mode of study: денна
Learning outcomes: - know the basics of object-oriented programming; - to own modern methods and means of object-oriented programming using the Visual Studio environment; - be able to handle exceptions and class libraries; - to use object-oriented programming technologies. - to own the principles of building information models. Formation of a theoretical knowledge base of students in the C / C ++ programming language; - to get acquainted with the principles of finding errors in programs and methods of their debugging and testing; - to acquire practical skills of work with typical programming problems and methods of their solution. -to evaluate the results obtained and defend them with arguments during the submission of the report.
Required prior and related subjects: prerequisites: algorithmization and programming part 1, алгоритмізація та програмування ч.2; co-requisites: discrete mathematics.
Summary of the subject: The Object Oriented Programming course includes the following topics: Fundamentals of the C ++ Object Oriented Programming Language. History of origin. The differences between C and C ++ are not related to using objects. Comparison of functional and object approach. Object-oriented programming. The main principles of the object-oriented approach. Abstraction. Limitation access. Modularity. Hierarchy. The concept of classes and objects. Constructors and destructors. Class description protocols. Creating objects. Access to fields and methods. Using class access specifiers. See classes. Container, nested, local. Designers and destructors. Rules for determining designers. Methods initialization of elements in constructors. Call procedure constructors and destructors. Static class members. Overload of functions and operations. Unary and binary operators. C ++ stream classes. Placement and healing operations. Input and output preresage. Definition of streaming operations as friendly. I / O process control functions. Flags formatting. Manipulators. File streams. Exceptional handling. Means of control, ejection objects, structural exception management. Inheritance (single, multiple). Inheritance mechanism. Access control. Friendly classes and friendly features. Encapsulation, imitation, polymorphism. Virtual functions. Pure virtual functions and abstract base classes. Placing VPTR and VMT tables in memory. Virtual destructors. Library of standard templates. Stack, lists, queues, decks, associative mappings, sets. Character strings, vectors, matrices, algorithms, arrays of values. Library of standard templates. Parameterized functions. Parameterized classes. Containers. API - functions for managing flows and processes. Sync streams in Windows. DLL (Dynamic-Linc Library). Qt Creator. Overview of properties DLL. Creating a DLL and applying Qt. Qt Creator - basic properties. UML tools. Object-oriented analysis and design of the subject environment using UML. Patterns and anti-patterns of design. Features of work.
Assessment methods and criteria: - current control (45%): written reports with laboratory work, oral questioning; - final control (55%, examination control ): testing (45%), oral component (10%).
Recommended books: - Straustrup B. C ++ programming language: Per. with English - M .: Radio and communication, 1991.-352p. - Stiven Prata. C ++ programming language. Lectures and exercises. Textbook: lane. With English / Stephen Prata - SPb .: OOO << DiaSoftYUP >>, 2005. - 1104p. - Harvey Datel, Paul Datel. How to program in C ++, 2001. - 1007 p. (Electronic version). - Averkin VP, Bobrovsky AI, Vesnich VV, Radushinsky VF, Khomonenko AD Programming in C ++, 2003. - 249 p. (Electronic version). - Schildt G. Theory and practice C ++: trans. with English - SPb .: BHV - Sank-Peterburg, 1996. - 416p. - Pavlovskaya TA S / S ++. Programming in a high-level language / TA Pavlovskaya. - SPb. : Piter, 2007. - 461p.