Теорія алгоритмів - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інформаційні управляючі системи та технології |
Статус дисципліни | Нормативна |
Форма навчання | очна(денна)/заочна/дистанційна/змішана |
Рік підготовки, семестр | 1 курс, весняний семестр |
Обсяг дисципліни | 180 годин (54 години – Лекції, 36 годин – Лабораторні, 90 годин – СРС) |
Семестровий контроль/ контрольні заходи | залік |
Розклад занять | http://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів | Лектор: ст.викл., Дорошенко Катерина Сергіївна @K_Doroshenko Лабораторні: ст.викл., Дорошенко Катерина Сергіївна |
Розміщення курсу | https://campus.kpi.ua |
Пр огр ама н авчальн ої дис циплі ни
- Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Мета курсу - сприяти більш глибшому розумінню студентом прикладних задач; сформувати математичний фундамент інженера комп’ютерних систем, здатного використовувати сучасний математичний апарат для дослідження, опису, аналізу, проектування алгоритмів для розв’язку таких задач.
Предметом вивчення дисципліни є методи та засоби дослідження та проектування алгоритмів. Завдання вивчення дисципліни: – оволодіння основними поняттями торії алгоритмів; – ознайомлення з технологіями дослідження, аналізу розробки та застосування алгоритмів; –
набуття практичних навичок використання методів і засобів проектування та дослідження алгоритмів.
Навчальна дисципліна покликана допомогти студенту отримати: знання:
методів, що використовуються для побудови алгоритмів;
способів опису алгоритмів;
методів аналізу розв’язності, обчислюваності задач. вміння:
формалізувати математичну задачу і підготувати її для розв’язування
на ЕОМ;
провести аналіз розв’язності і обчислюваності задачі;
скласти алгоритм вирішення прикладної задачі;
оцінити складність алгоритму;
проаналізувати отримані результати. досвід:
вибору методів розробки та/або вибору алгоритму для розв’язку
задачі.
Компетентності
Інтегральна компетентність Здатність розв'язувати складні спеціалізовані задачі та практичні проблеми у галузі інженерії програмного забезпечення, що характеризується комплексністю та невизначеністю умов із застосування теорій та методів інформаційних технологій.
Загальні компетентності
КЗ 1 Здатність до абстрактного мислення, аналізу та синтезу. КЗ 2 Здатність застосовувати знання у практичних ситуаціях. КЗ 5 Здатність вчитися і оволодівати сучасними знаннями
КЗ 6 Здатність до пошуку, оброблення та аналізу інформації з різних джерел
Спеціальні (фахові, предметні) компетентності
КС 4 Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (IoT), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними
Програмні результати навчання:
ПРН 2 Застосовувати знання фундаментальних і природничих наук,системного аналізу та технологій моделювання, стандартних алгоритмів та дискретного аналізу при розв’язанні задач проектування і використання інформаційних систем та технологій
ПРН 3 Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій
ПРН 4 Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в інформаційних системах та технологіях
ПРН 12 Знати основи побудови та застосовувати сучасні операційні системи та пакети прикладних програм відповідно до професійних завдань
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити: вміти користуватися комп’ютером на рівні користувача, вміти писати код однією з розповсюджених мов програмування (С/С++, Java, C#, Python).
Постреквізити: розробка та аналіз алгоритмів.
Після проходження дисципліни студенти зможуть вибирати існуючі алгоритми та структури даних для вирішення поставлених задач, розробляти та адаптувати алгоритми, проводити аналіз алгоритмів, документувати розроблені алгоритми.
Зміст навчальної дисципліни
Тема 1. Поняття алгоритму.
Тема 2. Класи складності алгоритмів.
Тема 3. Документування програмного продукту. Тема 4. Вибір методу розв’язку задачі.
Тема 5. Метод проміжних цілей. Метод пошуку з поверненням. Тема 6. Метод локального пошуку.
Тема 7. Рекурсія.
Тема 8. Структурне програмування.
Тема 9. Визначення абстрактного типу даних. Тема 10. АТД «Список».
Тема 11. АТД «Стек». Тема 12. АТД «Черга».
Тема 13. АТД «Однозв’язний лінійний список». Тема 14. АТД «Двозв’язний лінійний список». Тема 15. АТД «Відображення».
Тема 16. АТД «Дерево».
Тема 17. Основні оператори множин. Тема 18. Словники.
Тема 19. Хешування.
Тема 20. Відображення.
Тема 21. Черги з пріоритетами. Тема 22. Розширені BST-дерева.
Тема 23. Низхідні та висхідні 2-3-4-дерева. Тема 24. Червоно-чорні дерева.
Тема 25. Інші дерева пошуку.
Тема 26. Елементарні методи сортування. Тема 27. Швидке сортування.
Тема 28. Сортування злиттям. Тема 29. Пірамідальне сортування. Тема 30. Порозрядне сортування.
Тема 31. Методи сортування спеціального призначення.
Навчальні матеріали та ресурси
БазоваАхо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы / М.: Вильямс, 2000 – 384с.
Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов/М.: Мир, 1981 – 368 с.
Седжвик Р. Фундаментальные алгоритмы на С++ / К.: ДиаСофт, 2001 – 688с.
Ковалюк Т.В. Основи програмування / К.: BHV, 2005 – 384 с.
Ананій В. Левітін Алгоритми: введення в розробку й аналіз =
Introduction to The Design and Analysis of Aigorithms. / М .: "Вильямс", 2006. - С. 275-284. - ISBN 5-8459-0987-2ормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Глава 6. Пірамідальна сортування / / Алгоритми: побудова й аналіз = Introduction to Algorithms / Под ред. І. В. Красикова. - 2-ге вид. / М .: Вільямс, 2005. - С. 182-188. - ISBN 5-8459-0857-4
Інформаційні ресурси
https://campus.kpi.ua
Навчальн и й кон тен т
- Методика опанування навчальної дисципліни (освітнього компонента)
|
|
|
|
|
|||
---|---|---|---|---|---|---|---|
Лекції | Практичні (семінарські) заняття | Лабораторні роботи | СРС | ||||
|
|
|
0 | 36 |
|
залік | |
Лекційні заняття
|
|
---|---|
|
Розділ 1. Побудова і аналіз алгоритмів
|
|
Завдання на СРС: дати відповіді на контрольні запитання [3, стор. 5], виконати завдання для домашніх робіт [3, стор. 8]. |
|
|
|
|
|
Розділ 2. Методи розробки алгоритмів
|
|
|
---|---|
|
Завдання на СРС: дати відповіді на контрольні запитання [3, стор. 15], виконати завдання
|
|
|
|
Розділ 3. Абстрактні типи даних
|
|
|
|
|
|
|
|
Розділ 4. АТД засновані на множинах. Задача пошуку
|
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Розділ 5. АТД засновані на множинах. Задача сортування
|
|
|
|
|
|
|
|
|
---|---|
|
|
|
|
|
|
|
|
Лабораторні заняття (комп’ютерні практикуми)
|
Тема |
|
---|---|---|
|
|
4 |
|
|
4 |
|
|
4 |
|
|
4 |
|
|
2 |
|
|
2 |
|
|
4 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
Всього на лабораторні заняття виділено 36 годин.
Самостійна робота студента
Самостійна робота студентів складається з:
Підготовки до аудиторних занять
Виконання лабораторних робіт
Виконання індивідуального завдання.
Самостійна робота
|
|
---|---|
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
3 |
|
21 |
|
90 |
Пол і ти ка та кон тр ол ь
- Політика навчальної дисципліни (освітнього компонента)
Форми організації освітнього процесу, види навчальних занять і оцінювання результатів навчання регламентуються Положенням про організацію освітнього процесу в Національному технічному університеті України «Київському політехнічному інституті імені Ігоря Сікорського».
Політика виставлення оцінок: кожна оцінка виставляється відповідно до розроблених викладачем та заздалегідь оголошених студентам критеріїв, а також мотивується в індивідуальному порядку на вимогу студента; у випадку не виконання студентом усіх передбачених навчальним планом видів занять (лабораторних робіт, індивідуального завдання) до екзамену він не допускається; пропущені заняття обов’язково мають бути відпрацьовані.
Відвідування є обов'язковим (за винятком випадків, коли існує поважна причина, наприклад, хвороба чи дозвіл працівників деканату). Якщо студент не може бути присутніми на заняттях, він все одно несете відповідальність за виконання завдань, що проводились в комп’ютерному класі.
Порядок зарахування пропущених занять. Відпрацювання пропущеного заняття з лекційного курсу здійснюється шляхом підготовки і захисту реферату за відповідною темою у вигляді презентації. Захист реферату відбувається відповідно до графіку консультацій викладача, з яким можна ознайомитись на кафедрі. Відпрацювання пропущеного лабораторного заняття здійснюється шляхом самостійного виконання завдання і його захисту відповідно до графіку консультацій викладача.
Реферати також можуть підготувати студенти, у яких недостатньо рейтингових балів.
Політика академічної поведінки та доброчесності: конфліктні ситуації мають відкрито обговорюватись в академічних групах з викладачем, необхідно бути взаємно толерантним, поважати думку іншого. Плагіат та інші форми нечесної роботи неприпустимі. Всі індивідуальні завдання та курсову роботу студент має виконати самостійно із використанням рекомендованої літератури й отриманих знань та навичок. Цитування в письмових роботах допускається тільки із відповідним посиланням на авторський текст. Недопустимі підказки і списування у ході захисту лабораторних робіт, на контрольних роботах, на іспиті.
Норми академічної етики: дисциплінованість; дотримання субординації; чесність; відповідальність; робота в аудиторії з відключеними мобільними телефонами. Повага один до одного дає можливість ефективніше досягати поставлених командних результатів. При виконанні лабораторних робіт студент може користуватися ноутбуками. Проте під час лекційних занять та обговорення завдань лабораторних робіт не слід використовувати ноутбуки, смартфони, планшети чи комп’ютери. Це відволікає викладача і студентів групи та перешкоджає навчальному процесу. Якщо ви використовуєте свій ноутбук чи телефон для аудіо- чи відеозапису, необхідно заздалегідь отримати дозвіл викладача.
Дотримання академічної доброчесності студентів й викладачів регламентується кодекс честі Національного технічного університету України «Київський політехнічний інститут», положення про організацію освітнього процесу в КПІ ім. Ігоря Сікорського
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
РОЗПОДІЛ БАЛІВ, ЯКІ ОТРИМУЮТЬ СТУДЕНТИ ПІД ЧАС ВИВЧЕННЯ ДИСЦИПЛІНИ
|
|
---|---|
|
|
|
|
|
|
R=12*5+2*5+30=100
Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 16 балів. На першій атестації (8-й та 9-й тиждень) студент отримує “зараховано”, якщо його поточний рейтинг не менше 10 балів.
За результатами 13 тижнів навчання максимально можлива кількість балів – 55 балів. На другій атестації (14-й тиждень) студент отримує “зараховано”, якщо його поточний рейтинг не менше 30 балів.
Семестровий контроль: залік
Умови допуску до семестрового контролю: мінімально позитивна оцінка за лабораторні роботи та індивідуальне завдання / зарахування усіх лабораторних робіт та індивідуального завдання.
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:
|
Оцінка |
---|---|
100-95 | Відмінно |
94-85 |
|
84-75 | Добре |
74-65 |
|
64-60 |
|
|
|
|
|
9. Додаткова інформація з дисципліни (освітнього компонента)
Рекомендовані теми рефератів.
Ієрархія класів складності.
Повнота задач NP-класу.
Розгляд евристичних алгоритмів.
Дослідження застосування АТД в різноманітних алгоритмах.
Використання хешування в криптографії.
Використання хешування в різних галузях діяльності.
Дерева пошуку в теорії ігор.
Дерева пошуку в задачах прйняття рішень.
Сортування Timsort.
Інтроспективне сортування.
Блукаюче сортування.
Млинцеве сортування.
Топологічне сортування.
Мережеве сортування.
Зовнішнє сортування ( методи не розглянуті в лекці).
Робочу програму навчальної дисципліни (силабус): Складено ст. викладач, Дорошеко Катерина Сергіївна.
Ухвалено кафедрою ІСТ (протокол №1 від 30.08.2021р)
Погоджено Методичною комісією факультету (протокол №1 від 30.08.2021р)