На цьому курсі починають з основ об'єктно-орієнтованого програмування. Студенти вчаться працювати з класами та створювати їх екземпляри. Розглядаються властивості та конструктори. Також пояснюються основні парадигми ООП та принципи роботи з діаграмами класів. Детально розбираються типи зв'язків між класами - асоціації, агрегації, композиції та інші.
Далі курс охоплює тему спадкування та різні форми поліморфізму. Студенти вивчають модифікатори доступу, віртуальні методи та герметизовані класи. Розглядається ключове слово sealed та його практичне застосування.
Цей блок присвячений абстрактним класам та інтерфейсам. На курсі показують, як їх створювати та використовувати. Пояснюються ключові відмінності між цими поняттями та їх практичне застосування в реальних проектах.
Студенти вчаться працювати з масивами та індексаторами, включаючи їх перевизначення. Потім переходять до вивчення структур, їх членів та відмінностей від класів. Розглядаються операції упаковки та розпакування, робота з DateTime та перерахуваннями.
На цьому етапі курс охоплює статичні члени та класи, розширені методи та вкладені класи. Особливу увагу приділяють патерну "Одинак" та його реалізації.
Студенти вивчають делегати, лямбда-вирази та анонімні методи. Потім переходять до універсальних шаблонів, їх обмежень, коваріантності та контрваріантності. Розглядаються Nullable типи та операції поглинання.
Цей блок присвячений роботі з подіями та патерну MVP. Далі курс охоплює багатопоточність в C#, використання делегатів для роботи з потоками та синхронізацію доступу через критичні секції.
Студенти вчаться працювати з колекціями, інтерфейсами IEnumerable та IEnumerator. Розглядається створення власних колекцій та робота з оператором yield. Також вивчається обробка виняткових ситуацій через конструкції try-catch-finally.
Завершальні модулі охоплюють перевантаження операторів, техніку клонування та патерн "Прототип". Студенти вивчають анонімні та динамічні типи, механізми LINQ, простори імен та директиви препроцесора. Також розглядається створення динамічних бібліотек та їх підключення до проектів.
Після завершення курсу студенти зможуть застосовувати інтерфейси, абстрактні та статичні класи в реальних проектах. Вони навчаться використовувати розширюючі методи, перевантажувати оператори та працювати з основами ООП. Курс дає змогу освоїти патерни проектування, організовувати багатопоточну роботу, створювати власні колекції та обробляти виняткові ситуації. Випускники зможуть працювати з LINQ запитами та створювати динамічні бібліотеки.
Курс включає практичні заняття з перевіркою домашніх завдань. Доступний безкоштовний відеокурс для додаткового навчання. Передбачене онлайн тестування та видача сертифіката після успішного завершення.