Базовый курс по языку программирования C#
Описание
Аннотация
Курс состоит из 18-ти логически взаимосвязанных уроков, что позволяет более глубоко изучить синтаксис языка C# и освоить структурный, объектно-ориентированный, функциональный, аспектно-ориентированный и событийно-ориентированный подходы в программировании.
Обучение программированию происходит, начиная с изучения основных понятий и принципов объектно-ориентированного программирования, классов, а также особенностей языка C#, и заканчивая рассмотрением базовых понятий такой технологии, как LINQ и архитектуры платформы .NET.
Аудитория
Курс предназначен для начинающих программистов и тех, кто имеет базовые знания об основах программирования или желает их освоить. «Базовый курс по языку программирования C#» будет полезен также программистам, имеющим опыт разработки приложений на языке C#.
Предварительная подготовка
• Уверенное владение персональным компьютером
• Навыки работы с Visual Studio
• Знание и умение применять основные понятия и конструкций языка C#, такие как переменная, циклы, условные конструкции, методы, массивы.
Программа курса
- Введение в ООП. Классы и объекты
В модуле рассматривается тема классов и создания их экземпляров. Объясняется назначение и использование свойств, принципы работы с конструкторами. Особое внимание выделено рассмотрению основных парадигм ООП. - Классы и объекты. Диаграммы классов
На занятии рассматривается применение частичных классов и методов. Объясняются назначение и использование диаграмм классов, а также демонстрируются примеры связей отношений между классами (ассоциации, агрегации, композиции, реализации, самоассоциации зависимости и т.д.). - Наследование и полиморфизм
В модуле рассматривается тема наследования и основные формы полиморфизма. Объясняется назначение и применение модификаторов доступа, виртуальных членов, понятие и использование герметизированных классов, ключевого слова sealed. - Абстракция. Абстрактные классы и интерфейсы
В модуле демонстрируются примеры использования и создания абстрактных классов и интерфейсов, их основные отличия. - Массивы и индексаторы
В модуле рассматриваются примеры создания и использования массивов. Объясняются принципы создания и использования индексаторов, их переопределение. - Статические и вложенные классы
Модуль позволяет понимать работу статических членов, принципы создания и использования статических классов. Объясняется работа расширяющих методов. Раскрывается понятие вложенных классов. Рассматривается паттерн «Одиночка». - Структуры и их разновидности
В модуле раскрывается понятие структур и их членов, ключевые особенности работы с ними, а также основные отличия классов от структур. - Структуры и их разновидности. Перечисления
В модуле рассматриваются примеры операций упаковки и распаковки. Демонстрируется работа со структурой DateTime и способы получения времени компьютера, форматирование даты и т.д. Объясняется назначение и применение перечислений. - Делегаты
Модуль позволяет понимать работу делегатов и лямбда выражений. Рассматриваются примеры комбинирования делегатов, использования анонимных методов. - Универсальные шаблоны
Модуль раскрывает понятие обобщений (параметризированных типов), их назначение, примеры использования. Рассматривается ковариантность и контрвариантность обобщений. - Ограничения универсальных шаблонов
Модуль позволяет научиться понимать работу универсальных шаблонов, демонстрируются основные ограничения, которые можно использовать для них. Объясняется понятие Nullable типов и операции поглощения. - События
В модуле объясняется работа событий и примеры их использования. Рассматривается назначение паттерна MVP и его применение. - Потоки
Модуль раскрывает тему многопоточности в С#, использования делегатов ThreadStart и ParameterizedThreadStart, объясняется работа критических секций, как средств синхронизации доступа нескольких потоков к разделяемым ресурсам. - Коллекции
В модуле объясняется назначение и использование коллекций, базовых интерфейсов IEnumerable, IEnumerator. Рассматриваются примеры создания пользовательских коллекций, демонстрируется работа оператора yield. - Обработка исключений
Модуль позволяет понимать и использовать техники обработки исключительных ситуаций, работу класса Exception и конструкций try — catch — finally. - Перегрузка операторов
В этом модуле рассматривается базовый класс object, его использование и применение. Объясняется техника клонирования, а также назначение паттерна «Прототип» и интерфейса ICloneable. Демонстрируются примеры использования техники перегрузки операторов. - Анонимные и динамические типы. LINQ
В модуле рассматриваются анонимные и динамические типы, а также примеры их использования. Объясняются механизмы работы LINQ. - Пространства имен. Директивы препроцессора
Данный Модуль позволяет научиться создавать динамически связываемые библиотеки, использовать пространства имен. Рассматриваются модификаторы доступа internal и protected internal, их применение. Демонстрируются примеры использования директив препроцессора.
Расписание
Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.
Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.