Схема розділу
-
ЛК - доцент Піксасов М.М. групи: МА-11-25, МК-11-25, ММ-11-25, МП-11-25
ЛК - старший викладач Походенко Б.О. групи: МАз-11-25, МКз-11-25, МПз-11-25
ПЗ - старший викладач Походенко Б.О. групи: МА-11-25, МК-11-25, ММ-11-25, МП-11-25
ПЗ - старший викладач Походенко Б.О. групи: МАз-11-25, МКз-11-25, МПз-11-25
Заняття відбуваються дистанційно у форматі веб-конференцій за посиланням:
On conference Zoom
https://us04web.zoom.us/j/2272646103?pwd=Y1BGUU4xb2tsYWtVVW13eHdBUEZuUT09
Identification conference: 227 264 6103
Code: 6eqvfm
-
Заняття 1. Архітектура комп’ютерів. Системи числення.
Мета: глибоке занурення в основи функціонування комп'ютерних систем, починаючи з вивчення архітектури та принципів, закладених Джоном фон Нейманом, які є фундаментом для більшості сучасних обчислювальних пристроїв. Також буде розглянуто сучасні архітектурні рішення, що використовуються в комп'ютерах сьогодення. Окрім того, заняття присвячене ознайомленню з різними системами числення, що є критично важливим для розуміння того, як комп'ютери обробляють та зберігають дані.
-
Заняття 2. Введення в теорію алгоритмів
Мета: сформувати у студентів цілісне уявлення про теорію алгоритмів, їх властивості та класифікацію; ознайомити з формальними та неформальними методами опису алгоритмів; розвинути вміння аналізувати алгоритмічні процеси та обирати оптимальні способи їх реалізації для розв’язання прикладних задач.
-
Заняття 3. Форми та засоби подання алгоритмів
Мета: метою заняття є формування у студентів теоретичних знань та практичних навичок щодо алгоритмізації та різних форм і засобів подання алгоритмів. Студенти ознайомляться з основними поняттями алгоритмізації, такими як властивості алгоритмів (дискретність, зрозумілість, детермінованість, масовість, скінченність) та їх залежність від виконавця. Вони вивчать різні способи представлення алгоритмів, включаючи словесний, аналітичний (словесно-формульний), графічний (блок-схеми), операторні схеми, псевдокоди та таблиці рішень. Особлива увага буде приділена програмному запису алгоритмів, включаючи поняття мови програмування. На занятті студенти отримають навички, необхідні для вибору відповідної форми подання алгоритму залежно від задачі та виконавця , а також розуміння відмінностей між природними мовами, алгоритмічними мовами та мовами програмування.
-
Заняття 4. Типи алгоритмічних процесів. Алгоритмічні системи.
Мета: метою заняття є формування у студентів теоретичних знань та практичних навичок щодо типів алгоритмічних процесів та алгоритмічних систем. Студенти ознайомляться з класифікацією алгоритмічних процесів, включаючи механічні (детерміновані), ймовірні (стохастичні) та евристичні алгоритми. Буде розглянуто три основні типи алгоритмів: лінійні, розгалужені та циклічні, а також їхні комбіновані варіанти. Крім того, на занятті будуть вивчені основні вимоги до алгоритмів та підходи до їх побудови, включаючи метод структурної алгоритмізації. Студенти отримають знання про поняття алгоритмічної системи, її компоненти та принципи функціонування , а також про складність алгоритмів, NP-складні задачі та поліноміальні й експоненціальні алгоритми.
-
Заняття 5. Рекурсивні функції
Мета: метою заняття є формування у студентів теоретичних знань та практичних навичок щодо рекурсивних функцій. Студенти ознайомляться із загальними поняттями рекурсії, включаючи суперпозицію та примітивну рекурсію. Будуть розглянуті операції мінімізації та застосування рекурсивних функцій у теорії алгоритмів. У результаті заняття студенти отримають навички, необхідні для розуміння принципів побудови та роботи рекурсивних алгоритмів.
-
Заняття 6. Абстрактна машина Поста. Машина Тюрінга. Нормальні алгоритми Маркова.
Мета: метою заняття є формування у студентів теоретичних знань та практичних навичок щодо абстрактних обчислювальних машин, які є основою для вивчення теорії алгоритмів та обчислювальності. Студенти ознайомляться з необхідністю створення таких машин та їх роллю у визначенні класу обчислювальних функцій. На занятті будуть вивчені сутність і принципи роботи абстрактних машин, таких як машина Е. Поста та машина А. Тюрінга, а також нормальні алгоритми Маркова. У результаті студенти отримають розуміння того, як ці алгоритмічні схеми дозволяють описувати будь-які алгоритми, та навчаться порівнювати їх за основними принципами та особливостями.
-
Заняття 7. Абстрактний алфавіт та формальні граматики
Мета: метою заняття є формування у студентів теоретичних знань та практичних навичок щодо абстрактного алфавіту та формальних граматик. Під час заняття студенти ознайомляться з поняттям алфавітного оператора та способами опису формальних мов. Також буде розглянуто класифікацію формальних граматик та основні поняття породжуючих граматик. У результаті студенти отримають навички, необхідні для розуміння основ формальних мов та їх використання в алгоритмічних обчислювальних системах.
-
Заняття 8. Абстрактні автомати
Мета: метою заняття є формування у студентів теоретичних знань та практичних навичок щодо абстрактних автоматів. На занятті будуть розглянуті основні поняття теорії автоматів, їхній зв’язок із теорією алгоритмів та їхня роль у проектуванні складних дискретних обчислювальних систем. Студенти ознайомляться з формальним визначенням автомата, його видами, зокрема автоматами Мілі та Мура, а також з різними способами їхнього задання, включаючи табличний та графічний. У результаті студенти отримають розуміння того, як автомати перетворюють дискретну інформацію, виконуючи кроки за закладеною програмою, та навчаться застосовувати ці знання для розв'язання задач, пов'язаних з обробкою інформації.
-
Заняття 9. Вступ до основ програмування
Мета: метою заняття є введення в основи програмування та ознайомлення студентів з поняттями програмного забезпечення, його складом та структурою, а також з парадигмами і мовами програмування. Студенти навчаться розуміти, що таке програмування, як воно еволюціонує, і що мова програмування є формальною системою знаків для написання програм. На занятті буде розглянуто ключові поняття, такі як програма, програмне забезпечення та розробка програмного забезпечення, а також буде представлена класифікація мов програмування, включаючи машинні, машинно-орієнтовані, процедурно-орієнтовані, об'єктно-орієнтовані та проблемно-орієнтовані мови.
-
Заняття 10. Об'єктно-орієнтоване програмування
Мета: метою заняття є формування у студентів знань про об'єктно-орієнтоване програмування (ООП). Студенти ознайомляться з основними поняттями та ознаками ООП, такими як інкапсуляція, поліморфізм, успадкування та абстракція. Також буде розглянуто, як об'єктно-орієнтована парадигма розвиває модульне програмування через створення ієрархій об'єктів і класів. У результаті, вони отримають розуміння принципів реалізації програм та їх використання в різних програмних середовищах.
-
Заняття 11. Процес розробки програмного забезпечення
Мета: метою заняття є формування у студентів знань про процес розробки програмного забезпечення, включаючи моделі розробки, гнучкі методології, такі як Scrum, та етапи розробки програмних продуктів. На занятті будуть розглянуті основні концепції, як "чотири П" розробки (персонал, процес, проект, продукт), а також класична водоспадна (каскадна) модель та її фази. Крім того, студенти ознайомляться з методологією Scrum, її ролями та подіями, а також з поняттями статичних, напівстатичних та динамічних структур даних.
-
Заняття 12. Основні поняття .NET
Мета: метою заняття є ознайомлення студентів з основними поняттями платформи .NET, її стандартною системою типів (CTS) та її перевагами. Буде розглянуто, як платформа .NET вирішує проблеми, що виникли з розвитком Інтернету та розробки великих програм, і як вона дозволяє справлятися з великими проектами. Також буде вивчено, як мови структурного програмування, як C, еволюціонували до об'єктно-орієнтованих, як C++, для подолання обмежень у роботі з пам'яттю та масштабом програм.
-
Заняття 13. Основи мови С# (1)
Мета: мета заняття — ознайомити слухачів з основами мови програмування C#, її основними вбудованими типами, а також навчити визначати та ініціалізувати змінні, розуміти їхню область видимості та правила приведення типів. Крім того, на занятті будуть розглянуті літерали (константи) та операції мови C#.
-
Заняття 14. Основи мови С# (2)
Мета: мета заняття полягає в ознайомленні з основними поняттями та конструкціями мови програмування C#. Заняття спрямоване на вивчення розгалужень, циклів, керування виходом з циклів, а також концепції класів, їхніх членів, конструкторів, властивостей і модифікаторів доступу. Крім того, розглядається перевантаження методів і операції.
-
Заняття 15. Основи мови С# (3)
Мета: метою заняття є надання студентам теоретичних знань та практичних навичок з основ роботи з масивами у мові C#, включаючи їх визначення та ініціалізацію , використання циклу
foreach
для перегляду елементів , роботу з багатовимірними масивами , а також застосування деяких методів класуSystem.Array
для сортування, перестановки, копіювання та очищення масивів.