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

Обов'язкова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 6.0; • у навчальних годинах — 180.
Розподіл навчальних годин (аудиторні заняття / самостійна робота): 
• очна форма — 60 / 120; • заочна форма — 8 / 172.
Кількість аудиторних занять за видами (лекції / практичні заняття / лабораторні заняття): 
• очна форма — 15 / 0 / 15; • заочна форма — 2 / 0 / 2.
Індивідуальна робота: 
• очна форма — розрахунково-графічна робота; • заочна форма — розрахунково-графічна робота, контрольна робота.
Семестровий контроль: 
Екзамен.
Освітню компоненту забезпечує: 
Анотація: 

Мета дисципліни: формування фундаментальних понять, принципів і методів програмування: поняття алгоритму, мови, директив, змінних, операторів та операндів, функцій, методології і технології програмування
Практичне значення та використання отриманих знань: набуття компетенцій, знань, умінь та навичок застосування програмування відповідно до кваліфікації; набуття навичок роботи з сучасним програмно-апаратним забезпеченням; здатність здійснювати аналіз можливостей сучасних інструментальних середовищ розробки програм (на прикладі середовища Visual Studio C++); розуміння типових алгоритмічних конструкцій та засобів представлення алгоритму; розуміння комплексного уявлення про основні етапи розробки програми; отримання знань про синтаксис і семантику базових елементів мови програмування; вміння обирати та використовувати типи даних; оволодіння прийомами та технологією тестування програм.

Тематика та види навчальних занять

Для денної форми здобуття освіти

Лекційні заняття
Лекція 1. «Вступ. Мови програмування. Алгоритми та їх властивості. Блок-схеми. Оператори розгалуження та циклу. Класифікація мов програмування. Машинний код. Транслятори, компілятори, інтерпретатори, асемблери. Класифікація високорівневих мов.»
Лекція 2. «Представлення даних в пам'яті комп'ютера. Системи числення. Алфавіт мови С/С++. Ключові слова, оголошення, константи, операції, типи даних, коментарі».
Лекція 3. «С++ Змінні, Ініціалізація і Присвоювання. Локальні та глобальні змінні. Види потоків. Об’єкти cout, cin і endl.»
Лекція 4. «Функції в С++. Стандартні функції. Функції користувача. Основні математичні функції.»
Лекція 5. «Параметри та аргументи. Локальна область видимості. Ключові слова та ідентифікатори. Вирази, літерали, операнди та оператори. Передача по значенню. Область видимості змінної.»
Лекція 6. «Багатофайлові проєкти у С++. Директиви препроцесора. Директиви умовної компіляції. Заголовкові файли зі стандартної бібліотеки С++ та власні.»
Лекція 7. «Логічний тип даних. Оператор розгалуження if. Логічні оператори. Умовний тернарний оператор. Пріоритет операцій і правила асоціативності. Використання оператора static_cast в операціях ділення. Оператори порівняння.»
Лекція 8. «Фундаментальні типи даних в С++. Тип даних void. Цілочисельні типи даних: short, int і long. Типи даних з плаваючою крапкою: float, double і long double. Експоненціальний запис.»
Лекція 9. «Символьні типи даних в С++. Керуючі символи. Константи»
Лекція 10. «Блоки в С++. Вкладені блоки. Приховуванням імен у вкладених блоках. Локальні змінні. Глобальні змінні. Внутрішні та зовнішні змінні. Статичні змінні.»
Лекція 11. «Конвертація типів даних. Перелічуваний тип. Структури»
Лекція 12. «Оператори управління порядком виконання у С++. Оператор switch.
Оператор goto. Цикл while. Цикл for.»
Лекція 13. «Масиви. Масиви і цикли. Доступ до елементів масиву.»
Лекція 14. «Багатовимірні масиви. Доступ до елементів багатовимірного масиву.»
Лекція 15. «Приклади операцій з багатовимірними масивами. Підсумкове заняття.»

Лабораторні заняття
Лабораторне заняття №1. «Інструктаж с техніки безпеки. Лабораторна робота №1. Вивчення базових структур алгоритмів».
Мета заняття: вивчення базових структур алгоритмів; набуття навичок побудови алгоритмів за допомогою блок-схем і їхнього словесного подання.
Лабораторне заняття №2. «Лабораторна робота №2 Робота у інтегрованому середовищі розробки для написання програм на мові С++».
Мета заняття: набуття навичок роботи з інтегрованими середовищами розробки (ІСР) для написання програм на мові С++, з компіляторами для С++, встановлювати ІСР Visual Studio.
Лабораторне заняття №3. «Лабораторна робота №3. Змінні у С++. Оголошення, ініціалізація та присвоєння».
Мета заняття: набуття навичок роботи зі змінними, оголошеннями, ініціалізацією та присвоєнням на мові С++, виправляти помилки неініціалізованих змінних.
Лабораторне заняття №4. «Лабораторна робота №4. Функції С++».
Мета заняття: набуття навичок роботи з функціями у С++.
Лабораторне заняття №5. «Лабораторна робота №5. Переповнення. Цілочисельні типи даних та типи даних з плаваючою крапкою».
Мета заняття: навчитися використовувати різні типи даних у С++; вивчити різницю між цілочисельними типами даних та типами даних з плаваючою крапкою у С++.
Лабораторне заняття №6. «Лабораторна робота №6. Багатофайлові проєкти та заголовкові файли».
Мета заняття: навчитися вирішувати проблему дублювання оголошень, створювати багатофайлові проєкти та заголовкові файли у С++.
Лабораторне заняття №7. «Багатофайлові проєкти та заголовкові файли (частина 2)»
Мета заняття: навчитися вирішувати проблему дублювання оголошень, створювати багатофайлові проєкти та заголовкові файли у С++.
Лабораторна заняття №8. «Лабораторна робота №7. Логічний тип даних. Використання оператору розгалуження if»
Мета заняття: навчитися використовувати логічні типи даних у С++; набуття навичок роботи з оператором розгалуження if у С++.
Лабораторне заняття №9. «Лабораторна робота №8. Оператори порівняння. Використання логічних операторів: І, АБО, НЕ»
Мета заняття: навчитися використовувати оператори порівняння, логічні оператори І, АБО, НЕ у С++;
Лабораторне заняття №10. «Лабораторна робота №9. Блоки. Конфлікт імен»
Мета заняття: набуття навичок роботи з внутрішніми/вкладеними блоками у С++, набуття навичок роботи з принципами побудови блок-схем алгоритмів з розгалуженнями.
Лабораторне заняття №11. «Лабораторна робота №10. Тип даних string. Структура»
Мета заняття: набуття навичок роботи з типом string у С++, структурами у С++.
Лабораторне заняття №12. «Лабораторна робота №11. Використання операторів умовного розгалуження та циклів»
Мета заняття: набуття навичок роботи з правилами використання оператору switch, циклів while, лічильників циклу.
Лабораторне заняття №13. «Лабораторна робота №12 Робота з одномірними масивами на мові С++»
Мета заняття: набуття навичок роботи з правилами ініціалізації масивів, навчитися виконувати операції з масивами на мові С++.
Лабораторне заняття №14. «Лабораторна робота №12 Робота з багатовимірними масивами на мові С++ (частина 2)»
Мета заняття: навчитися працювати з багатовимірними масивами на мові С++, набуття навичон роботи з ініціалізації багатовимірних масивів на мові С++.
Лабораторне заняття №15. «Лабораторна робота №12 Робота особливостям роботи з багатовимірними масивами на мові С++ (частина 3)»
Мета заняття: навчитися працювати з багатовимірними масивами на мові С++, набуття навичок роботи з правилами ініціалізації багатовимірних масивів на мові С++. Для заочної форми здобуття освіти

Лекційні заняття
Лекція 1. «Мови програмування. Системи числення. Змінні. Параметри та аргументи. Область видимості. Функції. Директиви. Типи даних».
Лекція 2. «Оператор розгалуження if. Логічні оператори. Умовний тернарний оператор. Оператори порівняння. Глобальні змінні. Внутрішні та зовнішні змінні. Статичні змінні»

Лабораторні заняття
Лабораторне заняття №1. «Змінні, типи данних, оператори, директиви».
Мета заняття: набуття навичок роботи з основами роботи з віртуальними функціями в мові програмування C++ з основними концепціями програмування, такими як змінні, типи даних, оператори та директиви; використання змінних, операторів для роботи з даними.
Лабораторне заняття №2. «Функції. Масиви».
Мета заняття: навчитися створювати функції з параметрами, повертати значення з функцій, а також працювати з одновимірними та багатовимірними масивами для здійснення різноманітних операцій над даними. Індивідуальна робота

Для денної форми здобуття освіти

Розрахунково-графічна робота
Мета розрахунково-графічної роботи – поглиблення, узагальнення і закріплення знань студентів з навчальної дисципліни «Алгоритмізація та програмування», застосування їх при вирішенні конкретного завдання і вироблення вміння самостійно працювати з навчальною літературою, використовуючи сучасні інформаційні засоби, удосконалення вмінь по використанню мови С++ для розв’язку задач.
Здобувач отримує завдання на третьому в семестрі практичному занятті.
Пояснювальна записка містить 5-7 сторінок. Кількість розділів – 3. Графічна частина – блок-схема алгоритму програми.
Змістовна послідовність виконання роботи.
1.Обчислення функцій.
2. Використання операторів розгалуження, циклу,
2. Використання масивів
Захист РГР – протягом останнього навчального тижня семестру.
Максимальна кількість балів за бездоганне виконання – 6 балів. Для заочної форми здобуття освіти
Розрахунково-графічна робота
Мета розрахунково-графічної роботи – поглиблення, узагальнення і закріплення знань студентів з навчальної дисципліни «Алгоритмізація та програмування», застосування їх при вирішенні конкретного завдання і вироблення вміння самостійно працювати з навчальною літературою, використовуючи сучасні інформаційні засоби, удосконалення вмінь по використанню мови С++ для розв’язку задач.
Здобувач отримує завдання на установочній сесії. Пояснювальна записка містить 5-7 сторінок. Кількість розділів – 3. Графічна частина – блок-схема алгоритму програми.
Змістовна послідовність виконання роботи.
1.Обчислення функцій. 2. Використання операторів розгалуження, циклу, 3. Використання масивів. Здача РГР – за місяць до початку сесії.
Максимальна кількість балів за бездоганне виконання – 6 балів. Форми контрольних заходів та оцінювання результатів навчання

Для денної форми здобуття освіти
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на два семестрові модулі. Здобувачі протягом семестру готуються до лекційних та лабораторних занять, виконують розрахунково – графічну роботу та 2 модульні контрольні роботи.
Модульні контрольні роботи виконуються у письмовій формі. Максимальна оцінка за контрольну роботу – 20 балів. По 2 бали за кожну вірну відповідь на питання № 1-4 та по 4 бали за кожну вірну відповідь на питання № 5-7.
Кожний модуль оцінюється у максимально можливі 50 балів:
ЛР1. Оцінка за виконання – 5 балів. Термін надання – 2 тиждень.
ЛР2. Оцінка за виконання – 5 балів. Термін надання – 3тиждень
ЛР3. Оцінка за виконання – 5 балів. Термін надання – 4 тиждень.
ЛР4. Оцінка за виконання – 5 балів. Термін надання – 5тиждень.
ЛР5. Оцінка за виконання – 5 балів. Термін надання – 6 тиждень.
ЛР6. Оцінка за виконання – 5 балів. Термін надання – 7 тиждень.
ЛР7. Оцінка за виконання – 4 балів. Термін надання – 9 тиждень.
ЛР8. Оцінка за виконання – 4 балів. Термін надання – 10тиждень
ЛР9. Оцінка за виконання – 4 балів. Термін надання – 11 тиждень.
ЛР10. Оцінка за виконання – 4 балів. Термін надання – 12тиждень.
ЛР11. Оцінка за виконання – 4 балів. Термін надання – 13 тиждень.
ЛР12. Оцінка за виконання – 4 балів. Термін надання – 14 тиждень.
При оцінювання лабораторних робіт можуть зніматися бали за:
1) Відсутність структурних елементів протоколу (титульний лист, мета роботи) – 1 бал
2) Відсутність або невідповідність коду та розрахунків – 2 бали
3) Відсутність або невідповідність необхідних блок-схем – 1 бали
4) Відсутність висновків по роботі або їх невідповідність завданню та результатам, представленим у протоколі роботи – 1 бали.
Захист РГР. Оцінка за правильне виконання РГР– максимально 6 балів. Термін надання – 14 тиждень.
При оцінюванні РГР можуть зніматися бали за:
1) Відсутність структурних елементів протоколу (титульний лист, мета роботи) – 1 бал
2) Відсутність або невідповідність коду та розрахунків – 2 бали
3) Відсутність або невідповідність необхідних блок-схем – 1 бали
4) Відсутність висновків по роботі або їх невідповідність завданню та результатам, представленим у протоколі роботи – 1 бали.

Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни – 100 балів.

Підсумковим контролем з дисципліни є усний екзамен, білет до якого складається з теоретичної частини (4 запитання по 10 балів) та практичної частини (3 задачі по 20 балів). Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 100 балів. Для заочної форми здобуття освіти
Контрольна робота
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 10 теоретичних питань та 10 практичних завдання, кожне з яких оцінюється у 3 балів максимально.
Текст відповіді повинен бути виконаний самостійно, а не скопійованим з навчального посібника. Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії.
Лабораторне завдання №1. «Змінні, типи данних, оператори, директиви» оцінюється у 15 балів максимально.
Лабораторне завдання №2. «Функції. Масиви» оцінюється у 15 балів максимально.
При оцінювання лабораторних робіт можуть зніматися бали за:
1) Відсутність структурних елементів протоколу (титульний лист, мета роботи) – 2 бал
2) Відсутність або невідповідність коду та розрахунків – до 4х балів за кожне завдання лабораторної роботи
3) Відсутність висновків по роботі або їх невідповідність завданню та результатам, представленим у протоколі роботи – 5 балів
Захист РГР. Оцінка за правильне виконання РГР– максимально 10 балів.
При РГР можуть зніматися бали за:
1) Відсутність структурних елементів протоколу (титульний лист, мета роботи) – 2 бал
2) Відсутність або невідповідність коду та розрахунків – до 4х балів
3) Відсутність висновків по роботі або їх невідповідність завданню та результатам, представленим у протоколі роботи – 5 балів
Підсумковим контролем з дисципліни є усний екзамен, білет до якого складається з теоретичної частини (4 запитання по 10 балів) та практичної частини (3 задачі по 20 балів). Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 100 балів
Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни – 100 балів.

Результати навчання: 

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

b272509 ▪ 2025 рік