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