Study program: 122 Computer Science
Degree: Bachelor
Type of module: lectures, practical work
Lecturer: Assoc. Prof., PhD Oleksandr Khriapkin / доцент, к.т.н. Олександр Хряпкін
Language: English
Credit Points: 6 ECTS
Description:
The purpose of the discipline is to teach students to use the basic techniques of programming applications. To take into account modern concepts and trends in the development of programming technologies, to solve scientific and technical problems of varying complexity with the help of computers. The discipline includes the following content modules: Content module 1. Basics of C++ programming . Topic 1. Purpose and tasks of the discipline. Computer architecture. Topic 2. Binary and hexadecimal number systems. Storage of numbers. Overview of modern programming languages. Topic 3. Concept of algorithm. Typical algorithmic structures of programming. Visualization of algorithms. Block diagrams. Pseudocodes. Topic 4. General characteristics of the C++ language. Structure of C++ programs. C++ data types. Declaration of variables and constants. Casting data types. Arithmetic, logical and bitwise operations in the C++ language. Content module 2. Structural programming. Topic 5. Control constructions of the C++ language. Selection structures, selection operators. Loop operators. The concept of structural programming. Topic 6. Arrays. Declaration and use of arrays. Pointers. Operations on pointers. Relationship between arrays and pointers. Dynamic allocation and release of memory. Topic 7. Functions: announcement, challenge, prototypes. The data type is void. Methods of passing parameters. Link. Topic 8. Transferring arrays and pointers to functions. Pointers to functions. Constant parameters, default parameters. Data sorting and sorting algorithms. Topic 9. Recursive functions. Comparison of recursive and iterative approaches. Topic 10. Concepts of procedural and multi-module programming. Scope of identifiers. Top-down and bottom-up programming. Content module 3. Data input/output. Organization of processing derived compound data types. Topic 11. Stream input/output of data. Stream manipulators. File streaming I/O. Topic 12. Lines. Relationship between strings and arrays. Features of string initialization and processing. Functions of the C++ standard library for string processing. Topic 13. Application of stdio.h standard library functions for data output. Formatted input - data output. File input/output Topic 14. Derived data types: lists, structures, associations, bit fields. Passing data of derived types to a function. Topic 15. Simple data structures: queue, stack. Scope, means of implementation in C++ Topic 16. Structures with self-addressing. Implementation of queues and stacks using such structures. Linear and cyclic lists.
Метою дисципліни є навчити студентів користуватися основними прийомами прикладного програмування. Враховувати сучасні концепції та тенденції розвитку технологій програмування, розв'язувати науково-технічні задачі різного ступеня складності за допомогою комп'ютера. Дисципліна включає такі змістові модулі: Змістовий модуль 1. Основи програмування C++. Тема 1. Мета і завдання дисципліни. Архітектура комп'ютера. Тема 2. Двійкова та шістнадцяткова системи числення. Зберігання чисел. Огляд сучасних мов програмування. Тема 3. Поняття алгоритму. Типові алгоритмічні структури програмування. Візуалізація алгоритмів. Блок-схеми. Псевдокоди. Тема 4. Загальна характеристика мови С++. Структура програм на С++. Типи даних C++. Оголошення змінних і констант. Приведення типів даних. Арифметичні, логічні та побітові операції в мові С++. Змістовий модуль 2. Структурне програмування. Тема 5. Керуючі конструкції мови С++. Структури вибору, оператори вибору. Оператори циклу. Поняття структурного програмування. Тема 6. Масиви. Оголошення та використання масивів. Покажчики. Операції над покажчиками. Зв'язок між масивами та покажчиками. Динамічний розподіл і звільнення пам'яті. Тема 7. Функції: оголошення, виклик, прототипи. Тип даних недійсний. Методи передачі параметрів. Посилання. Тема 8. Передача масивів і покажчиків на функції. Покажчики на функції. Постійні параметри, параметри за замовчуванням. Сортування даних та алгоритми сортування. Тема 9. Рекурсивні функції. Порівняння рекурсивного та ітераційного підходів. Тема 10. Поняття процедурного та багатомодульного програмування. Сфера застосування ідентифікаторів. Програмування зверху вниз і знизу вгору. Змістовий модуль 3. Введення/виведення даних. Організація обробки похідних складених типів даних. Тема 11. Потокове введення/виведення даних. Потокові маніпулятори. Введення/виведення потокового файлу. Тема 12. Лінії. Зв’язок між рядками та масивами. Особливості ініціалізації та обробки рядків. Функції стандартної бібліотеки C++ для обробки рядків. Тема 13. Застосування функцій стандартної бібліотеки stdio.h для виведення даних. Відформатований вхід - вихід даних. Введення/виведення файлу Тема 14. Похідні типи даних: списки, структури, асоціації, бітові поля. Передача даних похідних типів у функцію. Тема 15. Прості структури даних: черга, стек. Область застосування, засоби реалізації в С++ Тема 16. Структури з самоадресацією. Реалізація черг і стеків з використанням таких структур. Лінійні та циклічні списки.