Не обнаружил проекты, которые используются в примерах в лекции, также не увидел список задач. |
Основы программирования на C#: Информация
Автор: Владимир Биллиг | Тверской государственный университет
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 220 студентам
Уровень:
Специалист
Длительность:
28:26:00
Студентов:
30405
Выпускников:
1809
Качество курса:
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
Теги: .net, deserialize, icloneable, objective-c, xml-отчет, арифметические преобразования, библиотеки, выходной аргумент, интерфейсы, клиенты, обратная ссылка, отладка, охраняемые блоки, программирование, процедуры, регулярные выражения, спецификации, статический контроль типов, схема без возобновления, экземпляры делегата, элементы
Предварительные курсы
План занятий
Занятие
Заголовок <<
Дата изучения
Лекция 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. Наследование форм. Организация меню, главное меню. Инструментальные панели с кнопками. Рисование в формах. Классы рисования. Кисти и перья.
Оглавление
-