Автор: Владимир Биллиг | Тверской государственный университет
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
3:24:00
Студентов:
2550
Выпускников:
179
Качество курса:
4.86 | 4.36
Курс посвящен основам объектного программирования. В качестве языка программирования выбран язык C# - его версия 3.0, в качестве среды разработки программных проектов – Visual Studio 2008 Professional Edition и Framework .Net в версии 3.5. Вторая часть курса посвящена созданию программных систем, построенных на классах. Изложение сопровождается большим числом примеров. Курс является учебником и задачником. Задачи сопровождают каждую лекцию курса.
Современные программные системы проектируются и разрабатываются как системы, построенные на классах. Язык С# и среда разработки Visual Studio 2008 эффективно поддерживают такой стиль создания программных систем. Как правильно создавать классы, какие отношения существуют между классами системы, почему в языке С# появляются частные случаи классов – структуры, интерфейсы, перечисления, делегаты, универсальные классы – эти вопросы составляют основу этой части курса. Классы с событиями, документирование классов, обработка исключительных ситуаций, наконец, стиль профессионального программирования подробно обсуждается в данном курсе.
 

План занятий

Занятие
Заголовок <<
Дата изучения
Классы
В лекции рассматриваются детали построения класса. Обсуждается роль полей, как глобальной информации, доступной всем методам класса.
-
Проектирование класса
Обсуждаются две роли класса – типа данных и модуля. Рассматривается интерфейс – открытая часть класса, методы класса и их частные случаи – конструкторы, свойства, операции. Лекция сопровождается задачами на построение классов.
-
Тест 1
21 минута
-
Структуры
Структуры, как частный случай класса, позволяют задавать развернутый тип данных. Подробно обсуждаются отличия ссылочных и развернутых типов данных, когда и где следует применять тот или иной тип – выбирать структуру или ссылочный класс. Лекция сопровождается задачами.
-
Перечисления
Перечисление позволяет задать конечное множество значений, которые могут получать объекты классы. Показано, как перечисление, заданное шкалой, позволяет строить эффективные по памяти и времени алгоритмы для широкого класса задач. Лекция сопровождается задачами.
-
Тест 3
21 минута
-
Отношения между классами. Клиенты и наследники
Одна из важнейших тем этого курса рассматривает два основных типа отношений, существующих между классами – наследование и встраивание. Каждый класс создается в интересах своих будущих клиентов и потомков. Подробно обсуждается вопрос, когда следует применять наследование, а когда встраивание.
-
Наследование и полиморфизм
Продолжается изучение особенностей наследования. Рассматривается важное понятие полиморфизма, характерное для семейства классов, связанных отношением наследования. Лекция сопровождается задачами.
-
Тест 4
24 минуты
-
Интерфейсы. Множественное наследование
Многозначное слово интерфейс в данной лекции задает еще один важный частный случай класса – класс, заданный заголовками методов. Интерфейсы важны не только потому, что позволяю задать определенное поведение у потомков интерфейса, но и позволяют справиться с проблемой множественного наследования. Лекция сопровождается задачами.
-
Делегаты. Функциональный тип данных
Методы класса могут выступать в роли объектов. Методы с одинаковой сигнатурой принадлежат одному функциональному типу. Класс, позволяющий описать функциональный тип, называется делегатом. Различные вопросы, связанные с делегатами подробно рассматриваются в этой лекции.
-
Делегаты как свойства. Операции над делегатами
Рассматриваются операции, которые можно выполнять над объектами функционального типа. На примерах обсуждаются возможности комбинирования методов. Лекция сопровождается задачами.
-
Тест 6
21 минута
-
Классы с событиями
Поля, методы и события – треугольник, полностью описывающий объекты класса. События позволяют специфицировать поведение объектов класса, поскольку каждый объект при возникновении события может иметь свой набор обработчиков этого события.
-
Корректная работа с событиями
Обсуждаются проблемы, возникающие при совместной обработке события несколькими обработчиками. Рассматривается пример моделирования жизни города, в котором происходят события. Лекция сопровождается задачами.
-
Тест 7
21 минута
-
Универсальность. Классы с родовыми параметрами
Универсальные классы, шаблоны, классы с родовыми параметрами – синонимичные понятия для класса, у которого есть параметры, задающие типы. Эти классы являются одним из мощнейших механизмов, позволяющих существенно сокращать объем кода объектно-ориентированных программных систем.
-
Ограничения универсальности
Как ни парадоксально, но ограничение универсальности увеличивает свободу программиста. Рассматриваются способы ограничения универсальности. Лекция сопровождается задачами.
-
Декларативность. Атрибуты и теги
В язык С# все в большей степени встраиваются декларативные элементы, позволяющие описать, что надо делать, не указывая, как это делается. В этой лекции изучаются такие элементы декларативного стиля как атрибуты и теги.
-
Встроенные и заданные программистом атрибуты. Документируемые комментарии
В данной лекции подробно обсуждаются атрибуты – встроенные и создаваемые программистом, относящиеся к декларативным элементам – метаинформации, сопровождающей проект. Еще одна тема этой лекции – это документирование кода и использование тегов - документируемых комментариев. Лекция сопровождается задачами.
-
Тест 9
21 минута
-
Корректность и устойчивость программных систем
Программные системы во многих случаях – жизненно важные системы, от правильной работы которых может зависеть благосостояние и даже жизнь отдельного человека или целого коллектива. Элементами доказательного программирования должен владеть каждый профессиональный программист.
-
Искусство отладки
Отладка рассматривается как процесс, направленный на достижение корректности программной системы. Обсуждаются средства, предоставляемые языком C# и средой разработки для отладки программных систем.
-
Обработка исключительных ситуаций
Обработка исключительных ситуаций рассматривается как процесс, направленный на достижение устойчивости программной системы. В этой же лекции обсуждаются вопросы профессионального стиля разработки программных проектов. Подводятся итоги курса.
-
Тест 10
21 минута
-
Практикум 1. Установка Visual Studio 2010
В практикуме рассказывается процесс установки программного продукта.
Оглавление
    -
    Практикум 2. Создание простого приложения в Visual Studio 2010
    В практикуме показывается пример создания простой программы в Visual Studio 2010 на языке C#
    Оглавление
      -
      Практикум 3. Разработка программ в Visual Studio 2010
      В практикуме даются примеры разработки различных проектов.
      Оглавление
        -
        Практикум 4. Взаимодействие проектов
        В практикуме даются примеры взаимодействия: C# и C++, C3 и Visual Basic.
        Оглавление
          -
          1 час 40 минут
          -
          Федор Антонов
          Федор Антонов

          Здравствуйте!

          Записался на ваш курс, но не понимаю как произвести оплату.

          Надо ли писать заявление и, если да, то куда отправлять?

          как я получу диплом о профессиональной переподготовке?

          Илья Ардов
          Илья Ардов

          Добрый день!

          Я записан на программу. Куда высылать договор и диплом?