Object-oriented programming

Course: Network and internet technologies

Structural unit: Faculty of information Technology

Title
Object-oriented programming
Code
ВБ 2.1.4
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2021/2022
Semester/trimester when the component is delivered
6 Semester
Number of ECTS credits allocated
4
Learning outcomes
Be able to apply knowledge in the field of informatics and modern information technologies, computer and microprocessor technology and programming, software tools for solving specialized tasks and practical problems in the field of professional activity. To have an ability to participate in the creation of software for elements (modules, blocks, nodes) of telecommunication systems, information communication, telecommunication networks, radio technical systems and television and radio broadcasting systems, etc. To be able to highlight the main points, to argue, to exercise self-control, to plan professional activities, to organize a workplace. To be able to create adequate models of research objects in order to optimize modeling and design processes.
Form of study
Full-time form
Prerequisites and co-requisites
To have knowledge of the basics of set theory, computer logic, algorithm complexity theory, principles of structural and procedural programming, principles of designing and implementing algorithms for solving an applied problem, principles and approaches of software testing. Possession of elementary skills of designing algorithms for solving applied problems; implementation of algorithms in one of the programming languages that supports the concept of the object-oriented programming paradigm; program debugging; working with operating systems of the Windows family or the Unix or MacOS family, installing and configuring software tools; use of version control systems; developing unit tests.
Course content
The subject "Object-oriented programming" (OOP) introduces students to the paradigm of object-oriented programming and its main concepts and principles, in particular encapsulation, inheritance, polymorphism, abstraction, and also considers of the peculiarities of OOP implementation in various programming languages (Python, Java, C++). Considerable attention is paid to the processes of analysis and design of software systems in the OOP concept, software design patterns and antipatterns. The unified language of object-oriented modeling UML (Unified Modeling Language) is used as a means of describing the model of the software systems. The rules of describing the subject area by means of UML, the features of designing various types of diagrams (use cases diagram, class diagram, interaction diagram, sequence diagram etc.) and their purpose are also considered in this course. Studding of this subject helps students to get practical skills on design software systems in the OOP concept using UML tools and implement software systems in the OOP style using one of the programming languages that supports the OOP concept.
Recommended or required reading and other learning resources/tools
1. Booch G. Object-oriented analysis and design: with applications. 2nd edition [Online] / Addison-Wesley, 1998. – 544p. – Available at: http://www.cvauni.edu.vn/imgupload_dinhkem/file/pttkht/object-oriented-analysis-and-design-with-applications-2nd-edition.pdf 2. Unified Modeling Language UML® v. 2.5.1 [Online] / Object Management Group® (OMG®) – Available at: https://www.omg.org/spec/UML/ 3. Datsun N.M. Object-oriented programming: a study guide for students of the "Software Engineering" specialty. - Donetsk: DonNTU, 2014. - 205 p. 4. Dudzyany I.M. Object-oriented modeling of software systems: Study book. – Lviv: Ivan Franko LNU Publishing Center, 2007. - 108 p. 5. Krenevych A.P. Python in examples and tasks. Part 2. Object-oriented programming. Study guide - K.: Kyiv University Publishing Center, 2020. - 152 p.
Planned learning activities and teaching methods
Lectures, laboratory work, practical activities, independent work
Assessment methods and criteria
The subject integrates various types of work, including independent work. The student has to assert the laboratory works and practical tasks by completing an individual task during the class and demonstrating the result to the teacher. The grade for the work depends on the correctness of the individual task. To monitor students' independent work and motivate their cognitive activity throughout the semester, an ongoing blitz survey or mini test work (current control) is conducted at each lecture and laboratory lesson, during which students' answers are evaluated with appropriate points depending on the difficulty of the question. During the semester, after completing the study of the relevant topics, a control test or a written control work is conducted.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers


Faculty of information Technology

Departments

The following departments are involved in teaching the above discipline

Faculty of information Technology