Не обнаружил проекты, которые используются в примерах в лекции, также не увидел список задач. |
Основы программирования на C#: Информация
Автор: Тверской государственный университет
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 222 студентам
Уровень:
Специалист
Длительность:
28:26:00
Студентов:
30516
Выпускников:
1868
Качество курса:
4.31 | 3.69
В учебном курсе представлено полное описание языка C#. Подробно рассматриваются классы, структуры, интерфейсы, делегаты. Особое внимание уделяется наследованию и универсальным классам.
Рассматривается среда разработки Visual Studio .Net и классы библиотеки FCL каркаса Framework .Net. Изложение сопровождается большим числом примеров.
В учебном курсе представлено полное описание языка C#. Оно включает рассмотрение встроенных типов данных, управляющих структур языка, процедур, рекурсии, строк, массивов. Основное внимание уделяется классам, структурам, интерфейсам, делегатам, событиям. Особое внимание уделяется изучению отношений между классами – наследованию и встраиванию. Подробно рассмотрена универсальность и ограниченная универсальность классов – новинка, появившаяся в последней версии C#. Изучение основ программирования на C# ведется с позиций объектной технологии, где понятие класса рассматривается как тип данных и как модуль – архитектурная единица построения программных систем. Обсуждаются вопросы корректности программных систем, их устойчивости, повторного использования и расширяемости. Рассматривается среда разработки Visual Studio .Net, классы библиотеки FCL, организация интерфейса в Windows-проектах, рисование в формах, создание семейства графических классов. Изложение сопровождается большим числом примеров.
Темы: Программирование
Специальности: Программист, Архитектор программного обеспечения
ISBN: 978-5-9556-0050-5
Предварительные курсы
План занятий
Занятие
Заголовок <<
Дата изучения
Лекция 1
36 минут
Visual Studio .Net, Framework .Net
Бренд .Net. Visual Studio .Net - открытая среда разработки. Каркас Framework .Net. Библиотека классов FCL - статический компонент каркаса. Общеязыковая исполнительная среда CLR - динамический компонент каркаса. Управляемый код. Общеязыковые спецификации CLS и совместимые модули.
Оглавление
-
Лекция 2
52 минуты
Язык C# и первые проекты
Создание языка. Его особенности. Решения, проекты, пространства имен. Консольные и Windows-приложения C#, построенные по умолчанию.
Оглавление
-
Лекция 3
1 час 7 минут
Система типов языка С#
Общий взгляд. Система типов. Типы-значения и ссылочные типы. Встроенные типы. Сравнение с типами C++. Типы или классы? И типы, и классы! Преобразования переменных в объекты и vice versa. Операции "упаковать" и "распаковать". Преобразования типов. Преобразования внутри арифметического типа. Преобразования строкового типа. Класс Convert и его методы. Проверяемые преобразования. Управление проверкой арифметических преобразований.
Оглавление
-
Лекция 4
46 минут
Преобразования типов
Преобразования типов. Преобразования внутри арифметического типа. Преобразования строкового типа. Класс Convert и его методы. Проверяемые преобразования. Управление проверкой арифметических преобразований.
Оглавление
-
Лекция 5
34 минуты
Переменные и выражения
Объявление переменных. Синтаксис объявления. Инициализация. Время жизни и область видимости. Где объявляются переменные? Локальные и глобальные переменные. Есть ли глобальные переменные в C#? Константы.
Оглавление
-
Лекция 6
47 минут
Выражения. Операции в выражениях
Построение выражений. Операции и их приоритеты. Описание операций.
Оглавление
-
Лекция 7
29 минут
Присваивание и встроенные функции
Присваивание. Новинка C# - определенное присваивание. Классы Math, Random и встроенные функции.
Оглавление
-
Лекция 8
35 минут
Операторы языка C#
Операторы языка C#. Оператор присваивания. Составной оператор. Пустой оператор. Операторы выбора. If-оператор. Switch-оператор. Операторы перехода. Оператор goto. Операторы break, continue. Операторы цикла. For-оператор. Циклы while. Цикл foreach.
Оглавление
-
Лекция 9
57 минут
Процедуры и функции - методы класса
Процедуры и функции - две формы функционального модуля. Чем отличаются эти формы? Процедуры и функции - это методы класса. Описание методов (процедур и функций). Синтаксис. Атрибуты доступа. Формальные аргументы. Статус аргументов. Тело методов. Вызов процедур и функций. Фактические аргументы. Семантика вызова. Поля класса или аргументы метода? Поля класса или функции без аргументов? Проектирование класса Account. Функции с побочным эффектом. Перегрузка методов.
Оглавление
-
Лекция 10
50 минут
Корректность методов. Рекурсия
Корректность метода. Спецификации. Триады Хоара. Предусловие метода. Постусловие метода. Корректность метода по отношению к предусловию и постусловию. Частичная корректность. Завершаемость. Полная корректность. Инвариант цикла. Вариант цикла. Подходящий инвариант. Корректность циклов. Рекурсия. Прямая и косвенная рекурсия. Стратегия "разделяй и властвуй". Сложность рекурсивных алгоритмов. Задача "Ханойские башни". Быстрая сортировка Хоара.
Оглавление
-
Лекция 11
41 минута
Массивы языка C#
Общий взгляд на массивы. Сравнение с массивами C++. Почему массивы C# лучше, чем массивы C++. Виды массивов - одномерные, многомерные и изрезанные. Динамические массивы.
Оглавление
-
Лекция 12
44 минуты
Класс Array и новые возможности массивов
Семейство классов-массивов. Родительский класс Array и наследуемые им интерфейсы. Новые возможности массивов в C#. Как корректно работать с массивами объектов?
Оглавление
-
Лекция 13
31 минута
Символы и строки постоянной длины в C#
Общий взгляд. Строки в C++. Строки в C#. Строки постоянной и переменной длины. Классы char, char[].
Оглавление
-
Лекция 14
46 минут
Строки C#. Классы String и StringBuilder
Строки C#. Класс String. Изменяемые и неизменяемые строковые классы. Классы Net Framework, расширяющие строковый тип. Класс StringBuilder.
Оглавление
-
Лекция 15
56 минут
Регулярные выражения
Регулярные выражения. Пространство RegularExpressions и его классы. Регулярные выражения и языки. Теория регулярных выражений. Практика применения регулярных выражений. Разбор текстов и поиск по образцу. Свойства и методы класса Regex и других классов, связанных с регулярными выражениями. Примеры применения регулярных выражений.
Оглавление
-
Лекция 16
1 час 10 минут
Классы
Две роли класса в ООП. Синтаксис описания класса. Поля и методы класса. Конструкторы и деструкторы. Статические поля и методы. Статические конструкторы. Поля только для чтения. Закрытые поля. Стратегии доступа к полям класса. Процедуры свойства. Индексаторы. Примеры.
Оглавление
-
Лекция 17
38 минут
Структуры и перечисления
Понятие развернутого и ссылочного типа. Структуры - реализация развернутых классов. Синтаксис структур. Сравнение структур и классов. Встроенные структуры. Перечисление - частный случай класса. Особенности перечислений. Примеры.
Оглавление
-
Лекция 18
1 час 2 минуты
Отношения между классами. Клиенты и наследники
Классы. Отношения между классами. Отношение клиенты - поставщики. Отношение наследования. Единичное наследование. Родители и наследники. Предки и потомки. Что наследуют потомки. Что могут изменить потомки. Одностороннее присваивание. Контроль типов и связывание - статическое и динамическое. Полиморфизм. Проектирование классов. Абстрактные классы. Классы поведения.
Оглавление
-
Лекция 19
1 час 10 минут
Интерфейсы. Множественное наследование
Интерфейсы как частный случай класса. Множественное наследование. Проблемы. Множественное наследование интерфейсов. Встроенные интерфейсы. Интерфейсы IComparable, ICloneable, ISerializable. Поверхностное и глубокое клонирование и сериализация. Сохранение и обмен данными.
Оглавление
-
Лекция 20
1 час 11 минут
Функциональный тип в C#. Делегаты
Новое слово для старого понятия. Функциональный тип. Функции высших порядков. Вычисление интеграла и сортировка. Два способа взаимодействия частей при построении сложных систем. Функции обратного вызова. Наследование и функциональные типы. Сравнение двух подходов. Класс Delegate. Методы и свойства класса. Операции над делегатами. Комбинирование делегатов. Список вызовов.
Оглавление
-
Лекция 21
57 минут
События
Классы с событиями. Общий взгляд. Класс Sender и классы Receivers. Класс Sender. Как объявляются события? Делегаты и события. Классы с событиями, допускаемые .Net Framework. Класс EventArgs и его потомки. Входные и выходные аргументы события. Класс Receiver. Обработчик события. Встраивание объекта Sender. Связывание обработчика с событием. Отключение обработчика. Взаимодействие объектов sender и receiver. События - поля или процедуры-свойства? Динамическое связывание событий с их обработчиками.
Оглавление
-
Лекция 22
1 час 16 минут
Универсальность. Классы с родовыми параметрами
Наследование и универсальность - взаимно дополняющие базовые механизмы создания семейства классов. Родовые параметры универсального класса. Синтаксис универсального класса. Родовое порождение экземпляров универсального класса. Методы с родовыми параметрами. Ограниченная универсальность - ограничения, накладываемые на родовые параметры. Виды ограничений. Ограничение универсальности - это свобода действий. Примеры. Родовые параметры и частные случаи классов: структуры, интерфейсы, делегаты. Универсальность и Framework .Net.
Оглавление
-
Лекция 23
1 час 20 минут
Отладка и обработка исключительных ситуаций
Корректность и устойчивость. Cпецификация системы. Корректность и устойчивость программных систем. Исключительные ситуации. Обработка исключительных ситуаций. Жизненный цикл программной системы. Три закона программотехники. Отладка. Создание надежного кода. Искусство отладки. Отладка и инструментальная среда Visual Studio .Net.
Оглавление
-
Лекция 24
1 час 49 минут
Организация интерфейса и рисование в формах
Организация интерфейса. Шаблоны форм. Заселение формы элементами управления. Классы элементов управления. Примеры классов. Класс ListBox. Наследование форм. Организация меню, главное меню. Инструментальные панели с кнопками. Рисование в формах. Классы рисования. Кисти и перья.
Оглавление
-