Блок 1. Основы структурного программирования (10 часов, 3 занятия).
Занятие 1.1. Синтаксис и семантика языков программирования высокого уровня
Строго типизированные языки программирования высокого уровня. Операторы и выражения. Простые типы данных. Последовательное выполнение операторов.
Занятие 1.2. Логика
Логический тип данных, условные операторы, циклы, логические операции и выражения, булева алгебра.
Занятие 1.3. Контейнеры и Подпрограммы
Одномерные массивы, алгоритмы сортировки, строки. Ссылочные типы данных. Повторное использование кода алгоритмов, процедуры и функции, передача параметров, рекурсия.
Блок 2. Основы объектно-ориентированного программирования (10 часов, 3 занятия).
Занятие 2.1. Объекты
Сложные типы данных, структуры, динамические рекурсивные структуры.
Занятие 2.1. Инкапсуляция
Состояние и поведение объекта, поля и методы, модификаторы доступа.
Занятие 2.3. Наследование
Повторное использование кода данных, иерархии классов, агрегация и композиция.
Блок 3. Язык программирования C# (30 часов, 9 занятий)
Занятие 3.1. Основы языка программирования C#
JIT компиляция и CLR, Метаданные. Сборки. Межязыковые возможности. Лексемы, идентификаторы, зарезервированные слова, комментарии, структура программы, встроенные типы данных, литералы, переменные, выражения, операторы.
Занятие 3.2. Управление программами - Логический тип данных, логические операции, блоки операторов, ветвления, циклы, операторы переходов, функции.
Занятие 3.3. Массивы, коллекции, строки
Одномерные и многомерные массивы, итераторы, функции с переменным числом аргументов. Символьные типы данных, строки, операции над текстом
Занятие 3.4. Исключения
Обработка ошибок в программировании, структурная обработка исключений, защищённые блоки, иерархия исключений.
Занятие 3.5. Объектная модель
Классы и экземпляры, поля и методы, перегрузка методов, статические элементы, ссылка this, жизненный цикл объекта.
Занятие 3.6. Интерфейсы и контракты
Наследование интерфейсов. Реализации интерфейсов
Занятие 3.7. Делегаты и события
Анонимные методы. Делегаты. События.
Занятие 3.8. Обобщения и Функциональное программирование
Обобщения, шаблоны в обобщениях, стандартные коллекции. Анонимные функции, функциональные интерфейсы, лямбда-выражения, ссылки на методы.
Занятие 3.9 LINQ: язык интегрированных запросов
Выражения запросов. LINQ к коллекциям