ПРОГРАМУВАННЯ. ЧАСТИНА 1. ОСНОВИ ПРОГРАМУВАННЯ - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
---|---|
Галузь знань | 12 «Інформаційні технології» |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Обов’язкова (нормативна) |
Форма навчання | очна(денна)/заочна |
Рік підготовки, семестр | І курс, осінній семестр |
Обсяг дисципліни | 6 кредитів ECTS /180 годин (36 годин – Лекції, 36 годин – Лабораторні, 108 годин – СРС) |
Семестровий контроль/ контрольні заходи | Екзамен, МКР, захист лабораторних робіт |
Розклад занять | 1 лекція (2 години) 1 раз на тиждень; 1 лабораторна робота (2 години) 1 раз на тиждень. |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: к.т.н. Букасов Максим Михайлович, @bukasov Лабораторні роботи: Колеснік Валерій Миколайович, @valerii_kolesnik |
Розміщення курсу | https://drive.google.com/drive/folders/1QhxfxeCKSU_0lIxAmmFr58p89PRWKijo |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Силабус освітнього компонента «Програмування - 1. Основи програмування» складено відповідно до освітньої програми підготовки бакалаврів «Інтегровані інформаційні системи» спеціальності 126 – Інформаційні системи і технології.
Метою навчальної дисципліни є формування та закріплення у студентів наступних компетентностей: КС3 Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (ІоТ), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними; КС4 Здатність проектувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші); КС17 Здатність застосовувати технології та інструментальні засоби для розроблення вебзастосувань, веб-сервісів, веб-сайтів та веб-інтерфейсів з інтеграцією зовнішніх даних і програмних продуктів.
Предмет навчальної дисципліни – теорія і практика застосування базових алгоритмічних структур і базових структур даних з використанням сучасних технологій розроблення програмного забезпечення.
Програмні результати навчання, на формування та покращення яких спрямована дисципліна: ПРН3 Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій; ПРН5 Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій; ПРН6 Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності; ПРН7 Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу інформаційних систем та технологій; ПРН12 Застосовувати знання складу, структури, принципів реалізації та функціонування інформаційно-керуючих систем та виконувати розроблення, підтримку та супроводження інформаційних та програмно-технічні засобів, оцінювати ефективність використання інформаційно-керуючих систем на підприємствах; ПРН14 Демонструвати вміння аналізувати вимоги та розробляти веб-додатки, веб-сервіси, веб-сайти з використанням базових принципів, сучасних технологій та мов програмування для створення веб-застосувань, як інтерфейсу доступу до сервісів ІТ-інфраструктури; ПРН16 Застосовувати знання відповідних мов програмування та ефективно використовувати методи машинного навчання в задачах створення компонентів штучного інтелекту в інформаційних система з використання аналізу та оцінки складності алгоритмів рішення.
Пререквізити та постреквізити дисципліни
Пререквізити: вміти користуватися комп’ютером на рівні користувача та адміністратора, вміти працювати з офісними пакетами на базовому рівні, мати базові знання математики в рамках шкільного курсу.
Постреквізити: Після проходження дисципліни студенти зможуть відтворити базові етапи створення програмного забезпечення, а саме виконувати аналіз предметної області, будувати алгоритм розв’язання задачі, обирати структури для збереження даних, писати код, проводити його налагодження та тестування. Розуміти й уміти використовувати на практиці базові принципи структурного та об’єктно-орієнтованого програмування.
Зміст навчальної дисципліни
Очна форма
Лекційні заняття
Розділ 1. Загальні положення.
Тема 1.1. Структура та зміст курсу. РСО.
Розділ 2. Основи структурного програмування.
Тема 2.1. Загальні поняття програмування.
Тема 2.2. Основи синтаксису мови Java.
Тема 2.3. Оператори мови Java.
Тема 2.4. Управління потоком виконання програми.
Тема 2.5. Організація пам’яті у Java.
Розділ 3. Основи об’єктно-орієнтованого програмування.
Тема 3.1. Основні принципи об’єктно-орієнтованого програмування.
Тема 3.2. Пакети та класи.
Тема 3.3. Об’єкти.
Тема 3.4. Абстрактні типи
Розділ 4. Java Collection Framework.
Тема 4.1. Загальні відомості про Collections Framework.
Тема 4.2. Списки ArrayList та LinkedList.
Тема 4.3. Множина TreeSet
Тема 4.4. Множина HashSet.
Тема 4.5. Асоціативні масиви
Розділ 5. Оброблення помилок.
Тема 5.1. Виключні ситуації.
Розділ 6. Ввід-вивід даних.
Тема 6.1. Блокуючий ввід-вивід даних
Тема 6.2. Мережевий ввід-вивід даних
Лабораторні заняття
1. Перше знайомство з Java.
2. Оператори та типи даних.
3. Управління потоком виконання.
4. Одновимірні масиви.
5. Багатовимірні масиви.
6. Алгоритми сортування.
7. Основи об’єктно-орієнтованого програмування.
8. Шаблон «Стратегія».
9. Клас String.
10. Колекції. Списки.
11. Колекції. Множина TreeSet.
12. Колекції. Множина HashSet. Асоціативні масиви Map.
13. Виняткові ситуації.
14. Потоки вводу-виводу.
Заочна форма
Лекційні заняття
Розділ 1. Загальні положення.
Розділ 2. Основи структурного програмування.
Лабораторні заняття
1. Перше знайомство з Java.
2. Оператори та типи даних.
Навчальні матеріали та ресурси
Основна література
Кетті Сьєрра, Берт Бейтс. Head First. Java. Фабула, 2022. 720 с. ISBN 978-617-522-033-7
Васильєв О.М. Програмування мовою Java. Тернопіль: Навчальна книга – Богдан, 2020 р. 696 с.
Herbert Schildt. Java: The Complete Reference, Twelfth Edition 12th Edition. McGraw Hill, 2022. 1280 p. ISBN 978-1-26-046342-2
Bruce Eckel. Thinking in Java. Prentice Hall, 2006. 1150 p. ISBN 978-0131872486
Додаткова література
Ерiк Фрiмен, Елiзабет Робсон. Head First. Патерни проєктування. Фабула, 2020. 688 с.
Роберт Мартін. Чиста архітектура. Ранок, 2019. 368 с.
Роберт Мартін. Чистий код. Створення і рефакторинг за допомогою Agile. Фабула, 2019. 448 с.
Ерік Фрімен (2020). Head First. Патерни проєктування. Легкий для сприйняття довідник. ISBN: 978-6170961594.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Очна форма
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
Лабораторні роботи
|
Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1 | Перше знайомство з Java. | 2 |
2 | Оператори та типи даних. | 2 |
3 | Управління потоком виконання. | 2 |
4 | Одновимірні масиви. | 2 |
5 | Багатовимірні масиви. | 2 |
6 | Алгоритми сортування. | 4 |
7 | Основи об’єктно-орієнтованого програмування. | 2 |
8 | Шаблон «Стратегія». | 2 |
9 | Клас String. | 2 |
10 | Колекції. Списки. | 2 |
11 | Колекції. Множина TreeSet. | 4 |
12 | Колекції. Множина HashSet. Асоціативні масиви Map. | 4 |
13 | Виняткові ситуації. | 2 |
14 | Потоки вводу-виводу. | 4 |
Самостійна робота студента
№ з/п |
Вид самостійної роботи | Кількість годин СРС |
---|---|---|
1 | Підготовка до лабораторних робіт | 72 |
2 | Підготовка до МКР | 18 |
3 | Підготовка до екзамену | 18 |
Заочна форма
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 |
|
2 |
|
3 |
|
Лабораторні роботи
|
Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1 | Перше знайомство з Java. | 2 |
2 | Оператори та типи даних. | 2 |
Самостійна робота студента
№ з/п | Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Створення та запуск Java-застосунків у консолі. | 2 |
2 | Кодові сторінки та Unicode. UTF-8, UTF-16, UTF-32. | 2 |
3 | Системи числення, десятковий та двійковий код. Доповняльний код. | 2 |
4 |
|
6 |
5 |
|
8 |
6 |
|
6 |
7 |
|
6 |
8 |
|
10 |
9 |
|
6 |
10 |
|
10 |
11 |
|
6 |
12 |
Завдання для СРС. Балансування дерев. Самозбалансоване дерево. |
6 |
13 |
Завдання для СРС. Клас LinkedHashSet. |
6 |
14 |
|
6 |
15 |
|
6 |
16 |
|
4 |
17 |
|
6 |
18 |
|
6 |
19 | Лабораторна робота 4. Одновимірні масиви. | 2 |
20 | Лабораторна робота 5. Багатовимірні масиви. | 2 |
21 | Лабораторна робота 6. Алгоритми сортування. | 4 |
22 | Лабораторна робота 7. Основи об’єктно-орієнтованого програмування. | 2 |
23 | Лабораторна робота 8. Шаблон «Стратегія». | 2 |
24 | Лабораторна робота 9. Клас String. | 2 |
25 | Лабораторна робота 10. Колекції. Списки. | 2 |
26 | Лабораторна робота 11. Колекції. Множина TreeSet. | 4 |
27 | Лабораторна робота 12. Колекції. Множина HashSet. Асоціативні масиви Map. | 4 |
28 | Лабораторна робота 13. Виняткові ситуації. | 2 |
29 | Лабораторна робота 14. Потоки вводу-виводу. | 4 |
30 | Підготовка до екзамену по всьому матеріалу модуля. | 36 |
Контрольна робота
Метою контрольної роботи є закріплення та перевірка теоретичних знань із освітнього компонента, набуття студентами практичних навичок самостійного вирішення задач та складанні та компіляції програм. Модульна контрольна робота (МКР) виконується після вивчення Розділів 2 та 4.
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які викладач ставить перед студентом:
правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та практичних заняттях.
правила поведінки на заняттях: студент має можливість отримувати бали за відповідні види навчальної активності на лекційних та практичних заняттях, передбачені РСО дисципліни. Використання засобів зв’язку для пошуку інформації на гугл-диску викладача, в інтернеті, в дистанційному курсі на платформі Сікорський здійснюється за умови вказівки викладача;
політика дедлайнів та перескладань: якщо студент не проходив або не з’явився на МКР (без поважної причини), його результат оцінюється у 0 балів. Перескладання результатів МКР не передбачено;
політика щодо академічної доброчесності: Кодекс честі Національного технічного університету України «Київський політехнічний інститут» https://kpi.ua/files/honorcode.pdf встановлює загальні моральні принципи, правила етичної поведінки осіб та передбачає політику академічної доброчесності для осіб, що працюють і навчаються в університеті, якими вони мають керуватись у своїй діяльності, в тому числі при вивченні та складанні контрольних заходів з даної дисципліни;
при використанні цифрових засобів зв’язку з викладачем (мобільний зв’язок, електронна пошта, переписка на форумах та у соцмережах тощо) необхідно дотримуватись загальноприйнятих етичних норм, зокрема бути ввічливим та обмежувати спілкування робочим часом викладача.
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Поточний контроль: МКР, виконання та захист лабораторних робіт.
Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
Семестровий контроль: екзамен.
Умови допуску до семестрового контролю: виконані та захищені лабораторні роботи, семестровий рейтинг більше 30 балів.
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:
Кількість балів | Оцінка |
95-100 | Відмінно |
85-94 | Дуже добре |
75-84 | Добре |
65-74 | Задовільно |
60-64 | Достатньо |
Менше 60 | Незадовільно |
Менше 30 | Не допущено |
Загальна рейтингова оцінка студента після завершення семестру складається з балів, отриманих за:
виконання та захист лабораторних робіт;
виконання модульної контрольної роботи (МКР);
відповіді на екзамені.
Лабораторні роботи
Ваговий бал. Лабораторні мають ваговий бал 3. Максимальна кількість балів за всі лабораторні роботи складає 3 бали * 14 робіт = 42 бали.
На лабораторних роботах студенти перевіряють та демонструють працездатність написаних вдома програм. Для допуску до поточної лабораторної роботи необхідно мати Протокол, оформлений відповідно до норм оформлення технічної документації, який має містити всі необхідні пункти, відповідно до Методичних вказівок. Також для допуску до лабораторної роботи (окрім 1-ї) необхідно захистити попередню. Студенти, що не захистили попередню лабораторну роботу можуть бути не допущені до виконання наступної. Лабораторні роботи виконуються бригадою.
Критерії оцінювання лабораторної роботи:
3 бали. Під час виконання завдання студент реалізував як обов’язкову так і опціональну частину завдання. В програмі відсутні помилки. Під час захисту студент надає правильні, повні та чіткі відповіді на поставлені питання.
2 бали. Під час виконання завдання студент реалізував лише обов’язкову частину завдання (опціональна частина відсутня). В програмі відсутні помилки. Під час захисту дає неповні відповіді або допускає помилки в незначних деталях.
1 бал. Написана студентом програма працює, але містить невідповідності архітектурним патернам, рекомендаціям до оформлення коду, використовує неефективні алгоритми. Під час відповіді на деякі питання студент припускається істотних помилок.
0 балів. Програма не написана, не працює, або має грубі порушення в архітектурі. Під час відповіді на питання студент припускається грубих помилок або не може дати відповіді на питання.
Модульні контрольні роботи
Ваговий бал – 4. Модульні контрольні роботи (МКР) виконуються протягом семестру на одному з лекційних занять після вивчення розділів 2 та 4. Максимальна кількість балів за всі лабораторні роботи складає 4 бали * 2 роботи = 8 балів.
Критерії оцінювання модульної контрольної роботи:
На модульній контрольній роботі студент відповідає на 3 питання і виконує одне завдання, кожне з яких оцінюється в 1 бал:
- правильна та повна відповідь, завдання виконано без помилок - 1 бал;
- відповідь неповна, є неточності, алгоритм вирішення задачі є неефективним - 0.5 балів;
- відповідь неправильна або відсутня - 0 балів.
Календарний контроль
Календарний контроль базується на поточній рейтинговій оцінці. Умовою позитивної атестації є значення поточного рейтингу студента не менше 60% від максимально можливого на час атестації. Бал, необхідний для отримання позитивного календарного контролю доводиться до відома студентів викладачем не пізніше ніж за 2 тижні до початку календарного контролю.
Форма семестрового контролю – екзамен
Максимальна сума балів за роботу у семестрі складає 50. Необхідною умовою допуску до екзамену є виконані та захищені лабораторні роботи, семестровий рейтинг не менше 30 балів.
Екзамен містить дві складові: теоретичну та практичну. Теоретична складова направлена на перевірку набутих в результаті вивчення освітнього компонента знань студентів у вигляді теоретичних питань за лекційним матеріалом семестру. Білет містить 2 теоретичних питання. Максимальна кількість балів за теоретичні питання складає 2 питання * 20 балів = 40 балів. Практична складова передбачає перевірку набутими студентами умінь програмувати. Кожному студенту надається окрема задача, відповідно до умов якої необхідно написати програму. Максимальна кількість балів за задачу складає 10 балів.
Критерії оцінювання теоретичної складової
*студентом дана повна відповідь на основне та додаткові питання - 20
балів;*
*відповідь на основне та додаткові питання в цілому правильна, але
не повна - 18-19 балів;*
*відповідь на основне та додаткові питання неповна, є неточності
16-17 балів;*
*відповідь на основне та додаткові питання неповна, є помилки 12-15
балів;*
відповідь на питання неправильна або відсутня - 0 балів;
Критерії оцінювання практичної складової
*програма написана без помилок, алгоритм правильний та ефективний -
10 балів;*
*програма написана без помилок, але алгоритм реалізації
неефективний - 8-9 балів;*
*програма написана в цілому правильно, але в ній присутні
синтаксичні помилки або є випадки, в яких програма може працювати некоректно - 6-7 балів;*
*програма не написана або написана невірно (не працює чи працює
некоректно) - 0 балів.*
Робочу програму навчальної дисципліни (силабус):
Складено доцентом кафедри інформаційних систем та технологій ФІОТ, к.т.н. Букасов М.М.
Ухвалено кафедрою інформаційних систем та технологій ФІОТ (протокол № 16 від 12.06.2024 р.)
Погоджено Методичною комісією факультету (протокол № 10 від 21.06.2024 р.)