Object-Oriented Programming, Part 1

Major: Hardware and software devices of infocommunication systems
Code of subject: 6.172.10.O.016
Credits: 6.00
Department: Theoretical Radio Engineering and Radio Measurement
Lecturer: PhD, Assoc. Prof. Oleksandr Shkiliuk
Semester: 3 семестр
Mode of study: денна
Мета вивчення дисципліни: The purpose of the academic discipline is to study the basic principles of object-oriented programming - one of the most important development methodologies, which is based on the idea of a program as a set of objects, each of which is an instance of a certain class, and the classes form a hierarchy of imitation. According to the object-oriented programming paradigm, each object is capable of receiving messages, processing data, and sending messages to other objects.
Завдання: The study of an educational discipline involves the formation of competencies in students of education: General competences: • ЗK-1. Ability to abstract thinking, analysis and synthesis. • ЗK-2. Ability to apply knowledge in practical situations. • ЗK-3. Ability to plan and manage time. • 3K-4. Knowledge and understanding of the subject area and understanding of professional activity. • ЗK-6. Ability to work in a team. • ЗK-7. Ability to learn and master modern knowledge. • ЗK-8. Ability to identify, pose and solve problems. • ЗK-13. Ability to system thinking; • ЗK-14. Ability to search and analyze information from various sources; Professional competences: • ФK-1. The ability to understand the essence and meaning of information in the development of a modern information society. • ФK-2. The ability to solve standard tasks of professional activity on the basis of information and bibliographic culture with the use of information and communication technologies and taking into account the basic requirements of information security. • ФK-3. Ability to use basic methods, methods and means of obtaining, transmitting, processing and storing information. • ФK-4. The ability to perform computer modeling of devices, systems and processes using universal application program packages.
Learning outcomes: As a result of studying the academic discipline, the student must be able to demonstrate the following learning outcomes: • know the capabilities of the C++ programming language, data structures and means of their use; • to know general approaches to using tools of standard libraries to describe classes, methods and attributes; • know modern methods, tools and technologies of software design; • know the main stages of development of a finished software project and the main requirements for the design of text, software and illustrative material for a report on it. • be able to create a developed interface for own programs using the principle of data encapsulation; build an inheritance hierarchy, use polymorphism; As a result of studying the academic discipline, the student must be able to demonstrate the following program learning outcomes: Capabilities of the C++ programming language, data structures and means of their use General approaches to using standard library tools to describe classes, methods, and attributes Modern methods, means and technologies of software design; The main stages of the development of the finished software project and the main requirements for the design of the text, software and illustrative material of the report for it. Interface for own programs using the principle of data encapsulation; build an inheritance hierarchy, use polymorphism;
Required prior and related subjects: Fundamentals of IT and electronic engineering Programming Hardware programming
Summary of the subject: Object-oriented programming (OOP, English Object-oriented programming, OOP) is one of the programming paradigms, which considers a program as a set of "objects" that interact with each other. According to the object-oriented programming paradigm, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object is a kind of independent automaton with a separate purpose and responsibility. Thus, a program is a set of objects that have state and behavior. Objects interact using messages. A hierarchy of objects is built: the program as a whole is an object, to perform its functions it refers to the objects contained in it, which in turn perform the request by referring to other program objects.
Опис: Introduction to the C++ programming language. Backward compatibility of C++ with respect to C Data types. Operations and their priorities. Cycles. Functions. Preprocessor directives. Creation of multi-file programs. Namespace. Classes and their elements. A class as a data type. Methods and attributes of classes. Constructors and destructors of classes. Access levels to class attributes. arrays Working with memory. Indicators, links. Dynamic memory allocation. Imitation, encapsulation, operator overloading. Virtual functions, polymorphism, abstraction. Exclusion. Files and streams. Overview of the standard template library (Standard Template Library). Programming patterns.
Assessment methods and criteria: Current control (evaluation of completed tasks) Semester control (conducting a written exam)
Критерії оцінювання результатів навчання: Current control: - Laboratory works - 40 points; Examination control: - Written component - 50 points; - Oral component - 10 points; Total: 100 points.
Порядок та критерії виставляння балів та оцінок: 100–88 points – (“excellent”) is awarded for a high level of knowledge (some inaccuracies are allowed) of the educational material of the component contained in the main and additional recommended literary sources, the ability to analyze the phenomena being studied in their interrelationship and development, clearly, succinctly, logically, consistently answer the questions, the ability to apply theoretical provisions when solving practical problems; 87–71 points – (“good”) is awarded for a generally correct understanding of the educational material of the component, including calculations, reasoned answers to the questions posed, which, however, contain certain (insignificant) shortcomings, for the ability to apply theoretical provisions when solving practical tasks; 70 – 50 points – (“satisfactory”) awarded for weak knowledge of the component’s educational material, inaccurate or poorly reasoned answers, with a violation of the sequence of presentation, for weak application of theoretical provisions when solving practical problems; 49-26 points - ("not certified" with the possibility of retaking the semester control) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to apply theoretical provisions when solving practical problems; 25-00 points - ("unsatisfactory" with mandatory re-study) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to navigate when solving practical problems, ignorance of the main fundamental provisions.
Recommended books: 1. Шкілюк О.П. Методичні вказівки для виконання лабораторних робіт з курсу «Об'єктно-орієнтоване програмування на С++». 2. Бєлов Ю.А., Карнаух Т.О., Коваль Ю.В., Ставровський А.Б. Вступ до програмування мовою С++. – К.: Видавничо-поліграфічний центр "Київський університет", 2012. – 175 с. 3. Васильєв О.М. Програмування на С++ в прикладах і задачах. – К.: Видавництво: "Ліра-К", Київ, 2017 рік, 382 с. 4. Галкін О.В., Верес М.М. Мова програмування С++. Конспект лекцій . К.: ДП “Вид. дім “Персонал”, 2017. — 260 с 5. Грицюк Ю.І., Рак Т.Є. Програмування мовою С++. – Львів : Вид-во Львівського ДУ БЖД, 2011. – 292 с. 6. Пех П.А., Лавренчук С.В., Делявський М.В., Гринюк С.В. Лабораторний практикум з програмування мовою С/С++. – Луцьк : Вежа-Друк, 2020. 228 с.
Уніфікований додаток: Lviv Polytechnic National University ensures the realization of the right of persons with disabilities to obtain higher education. Inclusive educational services are provided by the Service of accessibility to learning opportunities "Without restrictions", the purpose of which is to provide permanent individual support for the educational process of students with disabilities and chronic diseases. An important tool for the implementation of the inclusive educational policy at the University is the Program for improving the qualifications of scientific and pedagogical workers and educational and support staff in the field of social inclusion and inclusive education. Contact at: St. Karpinsky, 2/4, 1st floor, room 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: The policy regarding the academic integrity of the participants of the educational process is formed on the basis of compliance with the principles of academic integrity, taking into account the norms "Regulations on academic integrity at the Lviv Polytechnic National University" (approved by the academic council of the university on June 20, 2017, protocol No. 35).