Дисципліни, які викладає
Процедурне програмування
Мова програмування С була створена, власне, як мова високого рівня, призначена для системного програмування, в першу чергу для програмування операційної системи Unix. Вона забезпечує пряме спілкування програми з комп’ютером, не потребуючи додаткової підтримки процесу виконання. С-програма безпосередньо оперує і керує доступом до пам’яті комп’ютера. Цим разом досягається висока ефективність процесу виконання програми. Наступним розвитком мови програмування С стала процедурна частина мови С++, побудована на базі мови С. ЇЇ вивчення складає основну частину курсу. С++ доповнює С засобами абстракції вищого рівня без втрати ефективності виконання. Курс забезпечить віртуозне володіння процедурним програмуванням, забезпечивши плавний перехід до наступних парадигм.
Процедурне програмування (на базі Сі/Сі++) (ПІ)
Мова програмування С була створена, власне, як мова високого рівня, призначена для системного програмування, в першу чергу для програмування операційної системи Unix. Вона забезпечує пряме спілкування програми з комп’ютером, не потребуючи додаткової підтримки процесу виконання. С-програма безпосередньо оперує і керує доступом до пам’яті комп’ютера. Цим разом досягається висока ефективність процесу виконання програми. Наступним розвитком мови програмування С стала процедурна частина мови С++, побудована на базі мови С. ЇЇ вивчення складає основну частину курсу. С++ доповнює С засобами абстракції вищого рівня без втрати ефективності виконання. Курс забезпечить віртуозне володіння процедурним програмуванням, забезпечивши плавний перехід до наступних парадигм.
Об`єктно-орієнтоване програмування
Мова програмування С++, доповнивши мову С в частині своєї процедурної парадигми, відкриває доступ до двох інших важливих парадигм імперативного програмування. Це об’єктно-орієнтована і узагальнена парадигми. Залишаючись мультипарадигменною мовою, С++ дозволяє вдало поєднувати різні парадигми і рівні абстракції, знову ж без втрати ефективності виконання, досягаючи високої ефективності процесів проектування програмного забезпечення. Ієрархічний характер структур даних – класів і об’єктів, а потім концепцій і модулів – дозволяє застосовувати різні види поліморфізму. Поєднання семантики копіювань і переміщень забезпечує високу гнучкість програм. Все разом це забезпечить бездоганне орієнтування в підґрунтях засобів конструювання програм, прийнятих в багатьох інших системах програмування, наприклад, Java, C##, Python тощо, які так чи інакше спираються на С++.
Патерни проектування
Мета курсу полягає у вивченні широкого аспекту патернів (невдалий переклад шаблонів?) програмування, що набули широкого застосування в практиці створення програмних систем. Володіння патернами проектування протягом останніх десятиліть стало необхідним атрибутом кваліфікації розробника програмного забезпечення. Розглядаються три основних види патернів: твірні (Creational), структурні (Structural ) і поведінкові (Behavioral). Курс проводиться в форматі науково-технічного семінару. Кожен учасник курсу обирає декілька пов’язаних між собою патернів і готує доповідь про їх висвітлення, використовуючи науково-технічну літературу, доступні або власні програмні розробки. Доповідь відбувається у вигляді презентації і ілюструється відповідним програмним кодом. Два інших учасника призначаються на роль рецензентів доповіді і ілюстративного коду. Рецензенти можуть поглиблювати і розвивати тему доповіді. Процес засідань семінару супроводжується загальним обговоренням.
Патерни проектування
Мета курсу полягає у вивченні широкого аспекту патернів (невдалий переклад шаблонів?) програмування, що набули широкого застосування в практиці створення програмних систем. Володіння патернами проектування протягом останніх десятиліть стало необхідним атрибутом кваліфікації розробника програмного забезпечення. Розглядаються три основних види патернів: твірні (Creational), структурні (Structural ) і поведінкові (Behavioral). Курс проводиться в форматі науково-технічного семінару. Кожен учасник курсу обирає декілька пов’язаних між собою патернів і готує доповідь про їх висвітлення, використовуючи науково-технічну літературу, доступні або власні програмні розробки. Доповідь відбувається у вигляді презентації і ілюструється відповідним програмним кодом. Два інших учасника призначаються на роль рецензентів доповіді і ілюстративного коду. Рецензенти можуть поглиблювати і розвивати тему доповіді. Процес засідань семінару супроводжується загальним обговоренням.