Основи програмування
Анотація навчальної дисципліни
Мета вивчення дисципліни
Набуття знань з теоретичних основ розробки прикладного програмного забезпечення за процедурно-орієнтованою технологією, оволодіння основними прийомами побудови алгоритмів для вирішення прикладних завдань в області інженерії програмного забезпечення та їх програмної реалізації з використанням мови програмування С.
Практичне значення та використання отриманих знань
Отримання практичних навичок використання процедурно-орієнтованої технології програмування, формування комплексного уявлення про етапи розробки прикладних програм; вивчення особливостей синтаксису і семантики базових конструктивних елементів мови програмування С; отримання знань про різновиди простих та складених типів даних, а також особливості їх використання при вирішенні прикладних завдань мовою програмування С; формування уявлення про програмування функцій і їх використання для реалізації ієрархічної структури програми; отримання знань щодо програмування динамічних структур даних; вивчення особливостей роботи з файловими структурами даних з використанням основних операцій; оволодіння прийомами тестування та налагодження програм з використанням інтегрованого середовища розробки; формування уявлення про основні етапи документування програмного забезпечення та вимоги до даних етапів.
Основні результати навчання
ПРН13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПРН14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення.
Тематика та види навчальних занять
1 тиждень
Лекція 1.«Мови програмування. Процес розробки програми. Поняття алгоритму. Класифікація мов програмування. Мова програмування С. Основні етапи розробки програми.»
Практичне заняття 1.«Основні програмні терміни та етапи розробки програм».
2 тиждень
Лекція 2. «Алфавіт мови програмування С. Класифікація типів даних. Ідентифікатори, константи. Операції, вирази, пріоритети операцій.»
Лабораторне заняття 1. «Знайомство з інтегрованим середовищем розробки программовою С».
3 тиждень
Лекція 3.«Структура програми мовою програмування С. Заголовні файли: призначення та використання. Явне та неявне перетворення типів даних, проблеми перетворення. Ввід та вивід даних, функції форматованого вводу та виводу.»
Практичне заняття 2.«Типи даних. Використання функцій вводу та виводу даних».
4 тиждень
Лекція 4.«Поняття простих та структурованих операторів мови програмування С. Умовний оператор if-else: повний, скорочений. Стандартні математичні функції.»
Лабораторне заняття 2.«Умовний оператор.Оператори вводу/виводу.»
5 тиждень
Лекція 5.«Вкладені умовні оператори: синтаксис, приклади використання. Складений оператор. Складені умови: логічні операції, приклади використання. Тернарний оператор. Оператор switch.»
Практичне заняття 3.«Умовний оператор».
6 тиждень
Лекція 6.«Поняття циклу. Цикли з передумовою та з післяумовою. Синтаксис операторів циклу while та do-while мови програмування С.Операториcontinue та break.»
Лабораторне заняття 3.«Оператори циклу while, do-while.»
7 тиждень
Лекція 7.«Цикл з параметром (з лічильником). Синтаксис оператора циклу for мови програмування С. Особливості та приклади використання.»
Практичне заняття 4.«Оператори циклів».
Модульна контрольна робота 1.
8 тиждень
Лекція 8.«Поняття масиву. Одновимірні масиви: опис та ініціалізація, приклади роботи.»
Лабораторне заняття 4.«Оператор циклуforта одновимірні масиви.»
9 тиждень
Лекція 9.«Двовимірні масиви. Опис та ініціалізація двовимірного масиву. Робота з двовимірним масивом.»
Практичне заняття 5.«Одновимірні та двовимірні масиви».
10 тиждень
Лекція 10.«Поняття покажчика. Типізовані покажчики. Оператори для роботи з покажчиками. Дії над покажчиками. Покажчики та масиви.»
Лабораторне заняття 5.«Двовимірні масиви.»
11 тиждень
Лекція 11.«Робота з динамічними масивами.Рядки як динамічні масиви. Стандартні функції для роботи з рядками.»
Практичне заняття 6.«Використання покажчиків та рядків».
12 тиждень
Лекція 12.«Використання структур: призначення структур, опис структури, доступ до полів структури.»
Лабораторне заняття 6.«Функції. Динамічні масиви й структури.»
13 тиждень
Лекція 13.«Створення власних функцій: опис, декларація прототипу, виклик функції. Механізми передачі параметрів та повернення значень.»
Практичне заняття 7.«Робота зі структурами та розробка власних функцій».
14 тиждень
Лекція 14.«Поняття файлу. Особливості створення, відкриття та закриття файлу. Типи файлів. Робота з бінарними файлами. Функції для запису, читання та пошуку у бінарних файлах.»
Лабораторне заняття 7.«Робота з рядками».
Модульна контрольна робота 2.
15 тиждень
Лекція 15.«Особливості роботи з текстовими файлами: функції для роботи з файлами, приклади їх використання.»
Практичне заняття 8.«Робота з файлами даних».
Оцінювання результатів навчання
Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Модуль 1
Оцінка за виконання лабораторних робіт – максимально 15 балів за модуль.
Оцінка за виконання завдання на практичних заняттях – максимально 5 балів за модуль.
Модульна контрольна робота 1 – за бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання завдання).
Модуль 2
Оцінка за виконання лабораторних робіт – максимально 16 балів за модуль.
Оцінка за виконання завдання на практичних заняттях – максимально 4 балів за модуль.
Модульна контрольна робота 2 – за бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання завдання).
Посилання на рекомендовані джерела
1. Seacord, Robert C. Effective C: AnIntroductionto Professional C ProgrammingPaperback. – NoStarchPress, Inc., 2020. – 272 pp.https://www.pdfprof.com/PDF_Image.php?idt=81319&t=28
2. Козак Л. І., Костюк І. В., Стасевич С. П. Основи програмування: навчальний посібник – Львів:«Новий Світ-2000», 2020. – 328с.
3. Комлева, Н.О. Навчальний посібник по дисципліні «Основи програмування» для студентів спеціальності 121 «Інженерія програмного забезпечення» – Одеса: ОНПУ, 2023. – 256 с.
4. KulikovS. Software Testing. Base course. ©EPAM Systems. Bookversion 3.2.2, 2022. – 278 p.
5. JeffErickson. Algorithms. 1st paperbackedition, 2019. – 454 p.