Алгоритмізація та програмування 2

Обов'язкова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 6.0.
Кількість аудиторних занять: 
15 лекцій, 8 лабораторних занять, 7 практичних занять.
Самостійна робота: 
120 годин.
Індивідуальна робота: 
• очна форма — курсова робота.
Семестровий контроль: 
Екзамен. Захист курсової роботи.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни

Мета вивчення дисципліни: формування та розвиток компетентностей спрямованих на набуття практичних навичок професійного володіння комп’ютером та застосування процедурно-орієнтованої технології розробки програмних продуктів під час вирішення прикладних завдань в області комп’ютерних наук, засвоєння теоретичних основ алгоритмізації та програмування, оволодіння технікою програмування базових алгоритмічних структур і базових структур даних.

Практичне значення та використання отриманих знань: Розуміння парадигм імперативного програмування. Отримання знань про основні принципи та  прийоми структурного програмування, особливості програмування функцій. Отримання знань про особливості використання динамічної пам’яті, опрацювання даних за допомогою покажчиків, адресну арифметику. Розуміння програмування динамічних та файлових структур даних. Оволодіння прийомами та технологією налагодження та тестування програм. Отримання знань та навичок з документування програмних продуктів. 

Основні результати навчання
ПРН5. Проектувати, розробляти та аналізувати алгоритми розв’язання обчислювальних та логічних задач, оцінювати ефективність та складність алгоритмів на основі застосування фо-рмальних моделей алгоритмів та обчислюваних функцій. 
ПРН9. Розробляти програмні моделі предметних середовищ, вибирати парадигму програму-вання з позицій зручності та якості застосування для реалізації методів та алгоритмів розв’язання задач в галузі комп’ютерних наук. 

Тематика та види навчальних занять
1 тиждень.
Лекція 16 «Програмування з використанням покажчиків».
Лабораторне заняття 16 «Програмування з використанням покажчиків. Динамічні масиви».

2 тиждень. 
Лекція 17 «Засоби виділення та звільнення динамічної пам’яті».
Практичне заняття 1 «Використання покажчиків при роботі з динамічною пам'яттю».

3 тиждень. 
Лекція 18 «Структурне програмування. Функції на мові програмування С».
Лабораторне заняття 17 «Створення функції на мові програмування С».
Отримання завдання на курсову роботу.

4 тиждень. 
Лекція 19 «Програмування функцій. Передача аргументів».
Практичне заняття 2 «Розробка програм з застосуванням функцій».
Виконання курсової роботи.

5 тиждень. 
Лекція 20 «Робота з файлами та потоками».
Лабораторне заняття 18 «Робота з файлами на мові програмування С. Функції символьного та строкового введення/виведення даних».
Виконання курсової роботи.

6 тиждень. 
Лекція 21 «Робота з файлами. Прямий доступ до файлів».
Практичне заняття 3 «Програмування файлів».
Виконання курсової роботи.

7 тиждень. 
Лекція 22 «Динамічні структури даних. Абстрактний тип даних – список».
Лабораторне заняття 19 «Робота з файлами на мові програмування С. Функції форматного та блочного введення/виведення даних».
Виконання курсової роботи.
Модульна контрольна робота 3.

8 тиждень. 
Лекція 23 «Програмування динамічних структур даних. Різновиди зв’язаних списків».
Практичне заняття 4 «Робота зі списками: створення, обробка даних».
Виконання курсової роботи.

9 тиждень. 
Лекція 24 «Класифікація лінійних списків. Програмування динамічних структур даних. Стек».
Лабораторне заняття 20 «Робота з файлами на мові програмування С. Системні операції з файлами».

Виконання курсової роботи.

10 тиждень. 
Лекція 25 «Абстрактний тип даних черга. Логічна структура черги».
Практичне заняття 5 «Робота зі стеками: створення, обробка даних».
Виконання курсової роботи.

11 тиждень. 
Лекція 26 «Засоби програмування на рівні бітів».
Лабораторне заняття 21 «Програмування побітових операції».
Виконання курсової роботи.

12 тиждень. 
Лекція 27 «Програмні засоби управління екраном в текстовому режимі».
Практичне заняття 6 «Представлення даних на рівні бітів та операції з ними».
Виконання курсової роботи. Оформлення пояснювальної записки.

13 тиждень. 
Лекція 28 «Програмування динамічних структур даних. Дерева. Основна термінологія».
Лабораторне заняття 22  «Управління виведенням даних на екран. Введення/виведення даних з використанням вікон».
Виконання курсової роботи. Оформлення пояснювальної записки.

14 тиждень. 
Лекція 29 «Програмування динамічних структур даних. Бінарні дерева».
Практичне заняття 7 «Робота з бінарними деревами: створення, обробка даних».
Захист курсової роботи.

15 тиждень.
Лекція 30 «Абстрактний тип даних – черга з пріоритетами».
Лабораторне заняття 23  «Управління виведенням даних на екран. Введення/виведення даних з використанням кольору та стилів».
Захист курсової роботи.
Модульна контрольна робота 4.

Самостійна робота здобувача відбувається впродовж семестру та складається з підготовки до аудиторних занять, контрольних заходів, індивідуальних завдань. 
Консультації: здійснюються викладачем впродовж семестру згідно розкладу.

Оцінювання результатів навчання

Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.

Модуль 3
Лабораторна робота 16 – Лабораторна робота 19  – 4 по 5 балів – 20 балів.
Активна робота на практичному занятті – максимально по 2 бали за заняття – 6 балів.
Модульна контрольна робота 3 – бездоганне виконання 24 бали (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Курсова робота оцінюється у максимально можливі 30 балів.
Модуль 4
Лабораторна робота 20 – Лабораторна робота 23  – 4 по 5 балів – 20 балів.
Активна робота на практичному занятті – максимально по 2 бали за заняття – 8 балів.
Модульна контрольна робота 4 – бездоганне виконання 22 бали (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Захист курсової роботи – максимально 70 балів. 

Посилання на рекомендовані джерела
1.    Шпак З.Я. Програмування мовою С: навчальний посібник.  – Л.: Львівська політехніка, 2011. – 436 с.
2.    Козак Л.І., Костюк І.В., Стасевич С.П. Основи програмування: навчальний посібник. – Львів: «Новий Світ-2000», 2020. – 328 с.
3.    Креневич А.П. Алгоритми і структури даних: підручник. – К.: ВПЦ «Київський Університет», 2021. – 200 с.
4.    Ковалюк Т.В. Алгоритмізація та програмування: підручник. – Львів: «Магнолія 2006», 2021. – 400 с.
 

2022 рік