Алгоритми та структури даних

Спеціальність: Комп'ютерні науки
Код дисципліни: 6.122.15.E.051
Кількість кредитів: 4.00
Кафедра: Інформаційних систем і технологій
Лектор: доцент, к.т.н. Лагун А.Е.
Семестр: 4 семестр
Форма навчання: денна
Результати навчання: - вміти формалізувати обчислювальні та логічні задачі; - вміти представляти алгоритми обчислювальних і логічних задач; - вміти досліджувати ефективність алгоритмів і вибирати для сортування даних ефективні алгоритми; - здійснювати вибір ефективних алгоритмів пошуку; - використовувати основні структури даних (масиви, лінійні списки, множини, стеки, дерева та графи); - вміти використовувати способи конструювання складних структур даних (лінійні списки, множини, дерева та графи) на базі простих структур даних, шукати інформацію в структурах даних використовуючи різні способи пошуку (послідовний, ділення навпіл, хешування, пошук підрядків різними методами); - вміти сортувати дані в масивах на лінійних списках використовуючи різні методи (методи вставок, вибору, обміну, швидке сортування), аналізувати та проектувати криптографічні алгоритми.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Вступ до спеціальності Об’єктно-орієнтовне програмування Крос-платформне програмування
Короткий зміст навчальної програми: Навчальна дисципліна «Алгоритми та структури даних» має на меті детальний розбір базових алгоритмів програмування, вивчення основних структур даних та засвоєння навиків реалізацій цих алгоритмів і їхнього використання при розробці програмних продуктів. В результаті викладання дисципліни студенти повинні вміти - формалізувати обчислювальні та логічні задачі; представляти алгоритми обчислювальних і логічних задач; досліджувати ефективність алгоритмів; вибирати для сортування даних ефективні алгоритми; здійснювати вибір ефективних алгоритмів пошуку; використовувати основні структури даних (масиви, лінійні списки, множини, стеки, дерева та графи); використовувати способи конструювання складних структур даних (лінійні списки, множини, дерева та графи) на базі простих структур даних, шукати інформацію в структурах даних використовуючи різні способи пошуку (послідовний, ділення навпіл, хешування, пошук підрядків різними методами); сортувати дані в масивах на лінійних списках використовуючи різні методи (методи вставок, вибору, обміну, швидке сортування), аналізувати та проектувати криптографічні алгоритми.
Методи та критерії оцінювання: поточний контроль(тематичний контроль, індивідуальний контроль): 25 балів; -підсумковий контроль: 75 балів.
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. Алгоритмы: построение и анализ / Т. Кормен, Ч. Лейзерсон, Р. Ривест и др. - М. : ИД "Вильямс", 2011. - 1296 с. : ил. 2. Ахо А. Структуры данных и алгоритмы : учебн. пособ. / А. Ахо, Д. Хопкрофт, Д. Ульман ; пер. с англ. - М. : ИД "Вильямс", 2000. - 384 с. 3. Седжвик Р. Алгоритмы на C++. Фундаментальные алгоритмы и структуры данных / Р. Седжвик. - М. : ИД "Вильямс", 2011. - 1056 с. : ил. 4. Ахо А. Построение и анализ вычислительных алгоритмов / А. Ахо, Д. Хопкрофт, Д. Ульман. - М. : Мир, 1979. - 536 с.