ПРОГРАМУВАННЯ. ЧАСТИНА 2. Структури даних та алгоритми - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
---|---|
Галузь знань | 12 «Інформаційні технології» |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Обов’язкова (нормативна) |
Форма навчання | Очна(денна)/заочна |
Рік підготовки, семестр | І курс, весняний семестр |
Обсяг дисципліни | 5 кредитів ECTS /150 годин (54 годин – Лекції, 36 годин – Лабораторні, 60 годин – СРС) |
Семестровий контроль/ контрольні заходи | Екзамен, МКР, захист лабораторних робіт |
Розклад занять | 1.5 лекції (3 години) 1 раз на тиждень; 1 лабораторна робота (2 години) 1 раз на тиждень. |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: к.т.н. Букасов Максим Михайлович, @bukasov Лабораторні роботи: Колеснік Валерій Миколайович, @valerii_kolesnik |
Розміщення курсу | https://drive.google.com/drive/folders/1QhxfxeCKSU_0lIxAmmFr58p89PRWKijo |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Силабус освітнього компонента «Програмування - 2. Структури даних та алгоритми» складено відповідно до освітньої програми підготовки бакалаврів «Інтегровані інформаційні системи» спеціальності 126 – Інформаційні системи і технології.
Метою навчальної дисципліни є формування та закріплення у студентів наступних компетентностей: КС3 Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (ІоТ), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними; КС4 Здатність проектувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші); КС17 Здатність застосовувати технології та інструментальні засоби для розроблення вебзастосувань, веб-сервісів, веб-сайтів та веб-інтерфейсів з інтеграцією зовнішніх даних і програмних продуктів.
Предмет навчальної дисципліни – теорія і практика застосування базових алгоритмічних структур і базових структур даних з використанням сучасних технологій розроблення програмного забезпечення.
Програмні результати навчання, на формування та покращення яких спрямована дисципліна: ПРН3 Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій; ПРН5 Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій; ПРН6 Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності; ПРН7 Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу інформаційних систем та технологій; ПРН12 Застосовувати знання складу, структури, принципів реалізації та функціонування інформаційно-керуючих систем та виконувати розроблення, підтримку та супроводження інформаційних та програмно-технічні засобів, оцінювати ефективність використання інформаційно-керуючих систем на підприємствах; ПРН14 Демонструвати вміння аналізувати вимоги та розробляти веб-додатки, веб-сервіси, веб-сайти з використанням базових принципів, сучасних технологій та мов програмування для створення веб-застосувань, як інтерфейсу доступу до сервісів ІТ-інфраструктури; ПРН16 Застосовувати знання відповідних мов програмування та ефективно використовувати методи машинного навчання в задачах створення компонентів штучного інтелекту в інформаційних система з використання аналізу та оцінки складності алгоритмів рішення.
Пререквізити та постреквізити дисципліни
Пререквізити: вміти користуватися комп’ютером на рівні користувача та адміністратора, вміти працювати з офісними пакетами на базовому рівні, пройти курс «Програмування - 1. Основи програмування».
Постреквізити: Після проходження дисципліни студенти зможуть відтворити базові етапи створення програмного забезпечення, а саме виконувати аналіз предметної області, будувати алгоритм розв’язання задачі, обирати структури для збереження даних, писати код, проводити його налагодження та тестування. Розуміти й уміти використовувати на практиці базові принципи структурного, об’єктно-орієнтованого та функційного програмування.
Зміст навчальної дисципліни
Очна форма
Лекційні заняття
Розділ 1. Загальні положення.
Тема 1.1. Структура та зміст курсу. РСО.
Розділ 2. Основи створення веб-застосунків.
Тема 2.1. Базові поняття про web-застосунки.
Тема 2.2. Технологія JavaServer Pages.
Тема 2.3. Архітектура багаторівневого веб-застосунку.
Розділ 3. Основи багатопоточного програмування.
Тема 3.1. Основи багатопоточного програмування на Java.
Тема 3.2. Управління потоками виконання.
Розділ 4. Основи функціонального програмування у Java 8.
Тема 4.1. Вкладені класи.
Тема 4.2. Лямбда-вирази.
Тема 4.3. Stream API.
Тема 4.4. Клас Optional.
Тема 4.5. Операції з датою та часом.
Лабораторні заняття
Веб-застосунок на базі Java-сервлету.
Оброблення параметрів запиту у сервлетах.
Створення веб-сторінок на базі технології JSP.
Створення JSP-сторінок з використанням Expression Language.
Створення JSP-сторінок з використанням бібліотеки JSTL.
Використання асоціативних масивів для оброблення текстових даних.
Обчислення в паралельних потоках виконання.
Синхронізація потоків виконання.
Вкладені та внутрішні класи.
Лямбда-вирази.
Функціональні інтерфейси.
Посилання на методи.
Stream API.
Date Time API.
Заочна форма
Лекційні заняття
Розділ 1. Загальні положення.
Тема 1.1. Структура та зміст курсу. РСО.
Розділ 2. Основи створення веб-застосунків.
Тема 2.1. Базові поняття про web-застосунки.
Лабораторні заняття
Веб-застосунок на базі Java-сервлету.
Оброблення параметрів запиту у сервлетах.
Навчальні матеріали та ресурси
Основна література
Кетті Сьєрра, Берт Бейтс. 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 | Веб-застосунок на базі Java-сервлету. | 2 |
2 | Оброблення параметрів запиту у сервлетах. | 4 |
3 | Створення веб-сторінок на базі технології JSP. | 4 |
4 | Створення JSP-сторінок з використанням Expression Language. | 2 |
5 | Створення JSP-сторінок з використанням бібліотеки JSTL. | 2 |
6 | Використання асоціативних масивів для оброблення текстових даних. | 2 |
7 | Обчислення в паралельних потоках виконання. | 4 |
8 | Синхронізація потоків виконання. | 4 |
9 | Вкладені та внутрішні класи. | 2 |
10 | Лямбда-вирази. | 2 |
11 | Функціональні інтерфейси. | 2 |
12 | Посилання на методи. | 2 |
13 | Stream API. | 2 |
14 | Date Time API. | 2 |
Самостійна робота студента
№ з/п |
Вид самостійної роботи | Кількість годин СРС |
---|---|---|
1 | Підготовка до лабораторних робіт | 36 |
2 | Підготовка до МКР | 8 |
3 | Підготовка до екзамену | 16 |
Контрольна робота
Метою контрольної роботи є закріплення та перевірка теоретичних знань із освітнього компонента, набуття студентами практичних навичок самостійного вирішення задач та складанні та компіляції програм. Модульна контрольна робота (МКР) виконується після вивчення Розділів 2 та 3.
Заочна форма
Лекційні заняття
|
|
---|---|
|
|
|
|
|
|
Лабораторні роботи
№ | Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1 | Веб-застосунок на базі Java-сервлету. | 2 |
2 | Оброблення параметрів запиту у сервлетах. | 2 |
Самостійна робота студента
№ з/п |
|
Кількість годин СРС |
---|---|---|
1 |
|
2 |
2 |
|
2 |
3 |
|
2 |
4 |
|
4 |
5 |
|
4 |
6 |
|
4 |
7 |
|
4 |
8 |
|
4 |
9 |
|
4 |
10 |
|
4 |
11 |
|
4 |
12 |
|
4 |
13 |
|
4 |
14 |
|
4 |
15 |
|
4 |
16 |
|
4 |
17 |
|
4 |
18 |
|
4 |
19 |
|
4 |
20 |
|
4 |
21 |
|
4 |
22 |
|
4 |
23 |
|
4 |
24 |
|
4 |
25 |
|
4 |
26 |
|
4 |
27 |
|
4 |
28 |
|
4 |
29 |
|
2 |
30 |
|
4 |
31 |
|
4 |
32 |
|
2 |
33 |
|
2 |
34 |
|
4 |
35 |
|
4 |
36 |
|
4 |
37 |
|
8 |
Контрольна робота
Метою контрольної роботи є закріплення та перевірка теоретичних знань із освітнього компонента, набуття студентами практичних навичок самостійного вирішення задач та складанні та компіляції програм. Модульна контрольна робота (МКР) виконується після вивчення Розділів 2 та 3.
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які викладач ставить перед студентом:
правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та практичних заняттях.
правила поведінки на заняттях: студент має можливість отримувати бали за відповідні види навчальної активності на лекційних та практичних заняттях, передбачені РСО дисципліни. Використання засобів зв’язку для пошуку інформації на гугл-диску викладача, в інтернеті, в дистанційному курсі на платформі Сікорський здійснюється за умови вказівки викладача;
політика дедлайнів та перескладань: якщо студент не проходив або не з’явився на МКР (без поважної причини), його результат оцінюється у 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 та 3. Максимальна кількість балів за всі лабораторні роботи складає 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 р.)