Метою викладання навчальної дисципліни є ознайомлення студентів із основними класами алгоритмів, оволодіння методикою їх аналізу та розробки; вивчення студентами типових абстрактних структур даних, що мають широке застосування при розробці прикладних програм; освоєння принципів побудови та аналізу алгоритмів, математичному обґрунтуванню їх застосування та реалізації на мовах програмування високого рівня.

Завданням дисципліни є вивчення типів універсальних алгоритмічних моделей; вміння визначати найефективніший алгоритм для розв’язку поставленої задачі; ознайомлення з основними поняттями теорії алгоритмів, з найбільш поширеними алгоритмічними системами; принципами організації алгоритмічних процесів та форми їх представлення; засвоєння базових алгоритмів процесів пошуку, сортування та обробки інформації.

За результатами вивчення дисципліни здобувач повинен опанувати наступні компетенції:

К01. Здатність застосовувати знання у практичних ситуаціях.

К04. Навички використання інформаційних і комунікаційних технологій.

К19. Здатність вільно користуватись сучасними комп’ютерними та інформаційними технологіями для вирішення професійних завдань, програмувати та використовувати прикладні та спеціалізовані комп’ютерно-інтегровані середовища для вирішення задач автоматизації.

За результатами вивчення навчальної дисципліни студент повинен

знати:

-       основні теоретичні положення теорії алгоритмів;

-       основні положення про поняттям “алгоритм”, його властивості та різні підходи щодо формалізації цього фундаментального поняття;

-       базові алгоритмічні структури, поняття математичної моделі задачі, алгоритму, програми;

-       основні прийоми алгоритмізації й програмування мовою високого рівня;

-        основні положення про складність алгоритмів, характеристики складності обчислень, класи складності P та NP та їх взаємозв’язок;

-       основні типи алгоритмів і їхнє використання для рішення обчислювальних, інженерних, економічних і інших типів прикладних завдань.

уміти:

використовувати, розробляти та досліджувати математичні методи та алгоритми обробки даних;

− використовувати, розробляти та досліджувати алгоритми розв’язування задач моделювання об’єктів і процесів інформатизації методами неперервної, дискретної математики, математичної логіки тощо;

− оцінювати складові ефективності алгоритмів функціонування комп’ютеризованих систем;

− розробити відповідно до структури даних алгоритм;

− вміння проектувати, розробляти та аналізувати алгоритми, оцінювати їх ефективність та складність;

− оцінювати розв’язність та нерозв’язність алгоритмічних проблем для адекватного моделювання предметних областей і створення програмних реалізацій;

− розробляти моделі й алгоритми чисельного розв’язування математичних задач у професійній діяльності.