Курс «Основи алгоритмізації та програмування» є базовим для подальшого використання навичок програмування в спеціальних дисциплінах. Предметом вивчення є базові основи програмування на мові високого рівня С/С++, принципи структурного та об’єктно-орієнтованого програмування, основи побудови та аналізу алгоритмів. Протягом курсу особлива увага приділяється роботі зі структурованими типами даних, визначенні і використанні класів, проектуванні ієрархії класів для поставленої задачі. Такі знання можуть бути використані у розробках як системного, так і прикладного програмного забезпечення з урахуванням сучасних вимог у відношенні до надійності та ефективності програмних продуктів, які створюються. Отримані знання та практичні навички мають слугувати базою для опанування у подальшому нових мов та систем програмування, які базуються на ідеях візуального програмування, CASE-технологіях, системах штучного інтелекту і т.д.
1. Метою викладання дисципліни «Основи алгоритмізації та програмування» є вивчення теоретичних основ та здобуття практичних навичок програмування, зокрема освоєнні парадигм структурного та об'єктно-орієнтованого програмування, концепцій інкапсуляції, спадкування та поліморфізму.
2. Основні завдання вивчення дисципліни:
– розрізняти основні принципи структурного та об'єктно-орієнтованого програмування;
– знати стандартні типи даних та правила зберігання в пам’яті змінних різних типів;
– опанувати принципи модульного програмування, синтаксис перевантаження функцій і операторів;
– розуміти особливості роботи з динамічними структурами даних;
– розуміти основні концепції об'єктно-орієнтованого програмування (інкапсуляція, спадкування, поліморфізм);
– знати правила визначення класів та ієрархій класів, поняття абстрактного класу та віртуальної функції;
– розробляти об'єктно-орієнтований код для вирішення поставленої задачі згідно технічного завдання;
– розробляти власні класи та ієрархії класів з дотриманням концепцій об'єктно-орієнтованого програмування;
– застосовувати механізм обробки виняткових ситуацій;
– проектувати діаграми класів мовою UML (Unified Modeling Language);
– розробляти ефективні алгоритми для вирішення поставлених задач;
– використовувати класи, ітератори та алгоритми бібліотеки стандартних шаблонів STL;
– розробляти власні статичні та/або динамічні бібліотеки підпрограм з урахуванням особливостей налаштувань програмного проєкту;
– підключати та використовувати сторонні бібліотеки підпрограм, зокрема бібліотеку NTL, яка включає велику кількість класів для вирішення задач теорії чисел та алгебри, що використовуються в сучасних криптографічних алгоритмах;
– проводити тестування та визначати ефективність алгоритмів та програм.
Для успішного опанування курсу необхідні базові знання з інформатики та математики, отримані в рамках загальної середньої освіти.
- Викладач: Nelasa Hanna