Preliminary courses |
Lesson | Title << | Date |
---|---|---|
- | ||
Lecture 136 minutes | Visual Studio .Net, Framework .Net
Бренд .Net. Visual Studio .Net - открытая среда разработки. Каркас Framework .Net. Библиотека классов FCL - статический компонент каркаса. Общеязыковая исполнительная среда CLR - динамический компонент каркаса. Управляемый код. Общеязыковые спецификации CLS и совместимые модули.
Contents | - |
Тест 115 minutes | - | |
Lecture 252 minutes | Язык C# и первые проекты
Создание языка. Его особенности. Решения, проекты, пространства имен. Консольные и Windows-приложения C#, построенные по умолчанию.
Contents | - |
Тест 215 minutes | - | |
Lecture 31 hour 7 minutes | Система типов языка С#
Общий взгляд. Система типов. Типы-значения и ссылочные типы. Встроенные типы. Сравнение с типами C++. Типы или классы? И типы, и классы! Преобразования переменных в объекты и vice versa. Операции "упаковать" и "распаковать". Преобразования типов. Преобразования внутри арифметического типа. Преобразования строкового типа. Класс Convert и его методы. Проверяемые преобразования. Управление проверкой арифметических преобразований.
Contents | - |
Тест 315 minutes | - | |
Lecture 446 minutes | Преобразования типов
Преобразования типов. Преобразования внутри арифметического типа. Преобразования строкового типа. Класс Convert и его методы. Проверяемые преобразования. Управление проверкой арифметических преобразований.
Contents | - |
Тест 415 minutes | - | |
Lecture 534 minutes | Переменные и выражения
Объявление переменных. Синтаксис объявления. Инициализация. Время жизни и область видимости. Где объявляются переменные? Локальные и глобальные переменные. Есть ли глобальные переменные в C#? Константы.
Contents | - |
Тест 515 minutes | - | |
Lecture 647 minutes | Выражения. Операции в выражениях
Построение выражений. Операции и их приоритеты. Описание операций.
Contents | - |
Тест 615 minutes | - | |
Lecture 729 minutes | Присваивание и встроенные функции
Присваивание. Новинка C# - определенное присваивание. Классы Math, Random и встроенные функции.
Contents | - |
Тест 715 minutes | - | |
Lecture 835 minutes | Операторы языка C#
Операторы языка C#. Оператор присваивания. Составной оператор. Пустой оператор. Операторы выбора. If-оператор. Switch-оператор. Операторы перехода. Оператор goto. Операторы break, continue. Операторы цикла. For-оператор. Циклы while. Цикл foreach.
Contents | - |
Тест 815 minutes | - | |
Lecture 957 minutes | Процедуры и функции - методы класса
Процедуры и функции - две формы функционального модуля. Чем отличаются эти формы? Процедуры и функции - это методы класса. Описание методов (процедур и функций). Синтаксис. Атрибуты доступа. Формальные аргументы. Статус аргументов. Тело методов. Вызов процедур и функций. Фактические аргументы. Семантика вызова. Поля класса или аргументы метода? Поля класса или функции без аргументов? Проектирование класса Account. Функции с побочным эффектом. Перегрузка методов.
Contents | - |
Тест 915 minutes | - | |
Lecture 1050 minutes | Корректность методов. Рекурсия
Корректность метода. Спецификации. Триады Хоара. Предусловие метода. Постусловие метода. Корректность метода по отношению к предусловию и постусловию. Частичная корректность. Завершаемость. Полная корректность. Инвариант цикла. Вариант цикла. Подходящий инвариант. Корректность циклов. Рекурсия. Прямая и косвенная рекурсия. Стратегия "разделяй и властвуй". Сложность рекурсивных алгоритмов. Задача "Ханойские башни". Быстрая сортировка Хоара.
Contents | - |
Тест 1015 minutes | - | |
Lecture 1141 minute | Массивы языка C#
Общий взгляд на массивы. Сравнение с массивами C++. Почему массивы C# лучше, чем массивы C++. Виды массивов - одномерные, многомерные и изрезанные. Динамические массивы.
Contents | - |
Тест 1115 minutes | - | |
Lecture 1244 minutes | Класс Array и новые возможности массивов
Семейство классов-массивов. Родительский класс Array и наследуемые им интерфейсы. Новые возможности массивов в C#. Как корректно работать с массивами объектов?
Contents | - |
Тест 1215 minutes | - | |
Lecture 1331 minute | Символы и строки постоянной длины в C#
Общий взгляд. Строки в C++. Строки в C#. Строки постоянной и переменной длины. Классы char, char[].
Contents | - |
Тест 1315 minutes | - | |
Lecture 1446 minutes | Строки C#. Классы String и StringBuilder
Строки C#. Класс String. Изменяемые и неизменяемые строковые классы. Классы Net Framework, расширяющие строковый тип. Класс StringBuilder.
Contents | - |
Тест 1415 minutes | - | |
Lecture 1556 minutes | Регулярные выражения
Регулярные выражения. Пространство RegularExpressions и его классы. Регулярные выражения и языки. Теория регулярных выражений. Практика применения регулярных выражений. Разбор текстов и поиск по образцу. Свойства и методы класса Regex и других классов, связанных с регулярными выражениями. Примеры применения регулярных выражений.
Contents | - |
Тест 1515 minutes | - | |
Lecture 161 hour 10 minutes | Классы
Две роли класса в ООП. Синтаксис описания класса. Поля и методы класса. Конструкторы и деструкторы. Статические поля и методы. Статические конструкторы. Поля только для чтения. Закрытые поля. Стратегии доступа к полям класса. Процедуры свойства. Индексаторы. Примеры.
Contents | - |
Тест 1615 minutes | - | |
Lecture 1738 minutes | Структуры и перечисления
Понятие развернутого и ссылочного типа. Структуры - реализация развернутых классов. Синтаксис структур. Сравнение структур и классов. Встроенные структуры. Перечисление - частный случай класса. Особенности перечислений. Примеры.
Contents | - |
Тест 1715 minutes | - | |
Lecture 181 hour 2 minutes | Отношения между классами. Клиенты и наследники
Классы. Отношения между классами. Отношение клиенты - поставщики. Отношение наследования. Единичное наследование. Родители и наследники. Предки и потомки. Что наследуют потомки. Что могут изменить потомки. Одностороннее присваивание. Контроль типов и связывание - статическое и динамическое. Полиморфизм. Проектирование классов. Абстрактные классы. Классы поведения.
Contents | - |
Тест 1815 minutes | - | |
Lecture 191 hour 10 minutes | Интерфейсы. Множественное наследование
Интерфейсы как частный случай класса. Множественное наследование. Проблемы. Множественное наследование интерфейсов. Встроенные интерфейсы. Интерфейсы IComparable, ICloneable, ISerializable. Поверхностное и глубокое клонирование и сериализация. Сохранение и обмен данными.
Contents | - |
Тест 1915 minutes | - | |
Lecture 201 hour 11 minutes | Функциональный тип в C#. Делегаты
Новое слово для старого понятия. Функциональный тип. Функции высших порядков. Вычисление интеграла и сортировка. Два способа взаимодействия частей при построении сложных систем. Функции обратного вызова. Наследование и функциональные типы. Сравнение двух подходов. Класс Delegate. Методы и свойства класса. Операции над делегатами. Комбинирование делегатов. Список вызовов.
Contents | - |
Тест 2015 minutes | - | |
Lecture 2157 minutes | События
Классы с событиями. Общий взгляд. Класс Sender и классы Receivers. Класс Sender. Как объявляются события? Делегаты и события. Классы с событиями, допускаемые .Net Framework. Класс EventArgs и его потомки. Входные и выходные аргументы события. Класс Receiver. Обработчик события. Встраивание объекта Sender. Связывание обработчика с событием. Отключение обработчика. Взаимодействие объектов sender и receiver. События - поля или процедуры-свойства? Динамическое связывание событий с их обработчиками.
Contents | - |
Тест 2115 minutes | - | |
Lecture 221 hour 16 minutes | Универсальность. Классы с родовыми параметрами
Наследование и универсальность - взаимно дополняющие базовые механизмы создания семейства классов. Родовые параметры универсального класса. Синтаксис универсального класса. Родовое порождение экземпляров универсального класса. Методы с родовыми параметрами. Ограниченная универсальность - ограничения, накладываемые на родовые параметры. Виды ограничений. Ограничение универсальности - это свобода действий. Примеры. Родовые параметры и частные случаи классов: структуры, интерфейсы, делегаты. Универсальность и Framework .Net.
Contents | - |
Тест 2215 minutes | - | |
Lecture 231 hour 20 minutes | Отладка и обработка исключительных ситуаций
Корректность и устойчивость. Cпецификация системы. Корректность и устойчивость программных систем. Исключительные ситуации. Обработка исключительных ситуаций. Жизненный цикл программной системы. Три закона программотехники. Отладка. Создание надежного кода. Искусство отладки. Отладка и инструментальная среда Visual Studio .Net.
Contents | - |
Тест 2315 minutes | - | |
Lecture 241 hour 49 minutes | Организация интерфейса и рисование в формах
Организация интерфейса. Шаблоны форм. Заселение формы элементами управления. Классы элементов управления. Примеры классов. Класс ListBox. Наследование форм. Организация меню, главное меню. Инструментальные панели с кнопками. Рисование в формах. Классы рисования. Кисти и перья.
Contents | - |
Тест 2415 minutes | - | |
Lecture 2542 minutes | Финальный проектContents | - |
5 hours | - |