Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Опубликован: 18.01.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Тверской государственный университет
Курс посвящен основам объектного программирования. В качестве языка программирования выбран язык C# - его версия 3.0, в качестве среды разработки программных проектов – Visual Studio 2008 Professional Edition и Framework .Net в версии 3.5. Вторая часть курса посвящена созданию программных систем, построенных на классах. Изложение сопровождается большим числом примеров. Курс является учебником и задачником. Задачи сопровождают каждую лекцию курса.
Современные программные системы проектируются и разрабатываются как системы, построенные на классах. Язык С# и среда разработки Visual Studio 2008 эффективно поддерживают такой стиль создания программных систем. Как правильно создавать классы, какие отношения существуют между классами системы, почему в языке С# появляются частные случаи классов – структуры, интерфейсы, перечисления, делегаты, универсальные классы – эти вопросы составляют основу этой части курса. Классы с событиями, документирование классов, обработка исключительных ситуаций, наконец, стиль профессионального программирования подробно обсуждается в данном курсе.
Цель: Формирование понимания того, как проектируются и программируются современные программные системы, основанные на классах, - главная цель этого курса. Хотелось бы, чтобы с первых проектов, создаваемых на С#, формировался стиль, присущий профессиональному программированию и та степень ответственности, присущая профессиональным программистам.
Предварительные курсы |
Дополнительные курсы |
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 1 | Классы
В лекции рассматриваются детали построения класса. Обсуждается роль полей, как глобальной информации, доступной всем методам класса.
| - |
Лекция 2 | Проектирование класса
Обсуждаются две роли класса – типа данных и модуля. Рассматривается интерфейс – открытая часть класса, методы класса и их частные случаи – конструкторы, свойства, операции. Лекция сопровождается задачами на построение классов.
| - |
Тест 121 минута | - | |
Лекция 3 | Структуры
Структуры, как частный случай класса, позволяют задавать развернутый тип данных. Подробно обсуждаются отличия ссылочных и развернутых типов данных, когда и где следует применять тот или иной тип – выбирать структуру или ссылочный класс. Лекция сопровождается задачами.
| - |
Тест 218 минут | - | |
Лекция 4 | Перечисления
Перечисление позволяет задать конечное множество значений, которые могут получать объекты классы. Показано, как перечисление, заданное шкалой, позволяет строить эффективные по памяти и времени алгоритмы для широкого класса задач. Лекция сопровождается задачами.
Оглавление | - |
Тест 321 минута | - | |
Лекция 5 | Отношения между классами. Клиенты и наследники
Одна из важнейших тем этого курса рассматривает два основных типа отношений, существующих между классами – наследование и встраивание. Каждый класс создается в интересах своих будущих клиентов и потомков. Подробно обсуждается вопрос, когда следует применять наследование, а когда встраивание.
| - |
Лекция 6 | Наследование и полиморфизм
Продолжается изучение особенностей наследования. Рассматривается важное понятие полиморфизма, характерное для семейства классов, связанных отношением наследования. Лекция сопровождается задачами.
| - |
Тест 424 минуты | - | |
Лекция 7 | Интерфейсы. Множественное наследование
Многозначное слово интерфейс в данной лекции задает еще один важный частный случай класса – класс, заданный заголовками методов. Интерфейсы важны не только потому, что позволяю задать определенное поведение у потомков интерфейса, но и позволяют справиться с проблемой множественного наследования. Лекция сопровождается задачами.
| - |
Тест 518 минут | - | |
Лекция 8 | Делегаты. Функциональный тип данных
Методы класса могут выступать в роли объектов. Методы с одинаковой сигнатурой принадлежат одному функциональному типу. Класс, позволяющий описать функциональный тип, называется делегатом. Различные вопросы, связанные с делегатами подробно рассматриваются в этой лекции.
| - |
Лекция 9 | Применение делегатов. Функции высших порядков
Подробно обсуждаются анонимные методы. Рассматриваются функции высших порядков. Функции высших порядков как альтернатива полиморфизму.
Приводятся примеры.
| - |
Лекция 10 | Делегаты как свойства. Операции над делегатами
Рассматриваются операции, которые можно выполнять над объектами функционального типа. На примерах обсуждаются возможности комбинирования методов. Лекция сопровождается задачами.
| - |
Тест 621 минута | - | |
Лекция 11 | Классы с событиями
Поля, методы и события – треугольник, полностью описывающий объекты класса. События позволяют специфицировать поведение объектов класса, поскольку каждый объект при возникновении события может иметь свой набор обработчиков этого события.
| - |
Лекция 12 | Корректная работа с событиями
Обсуждаются проблемы, возникающие при совместной обработке события несколькими обработчиками. Рассматривается пример моделирования жизни города, в котором происходят события. Лекция сопровождается задачами.
| - |
Тест 721 минута | - | |
Лекция 13 | Универсальность. Классы с родовыми параметрами
Универсальные классы, шаблоны, классы с родовыми параметрами – синонимичные понятия для класса, у которого есть параметры, задающие типы. Эти классы являются одним из мощнейших механизмов, позволяющих существенно сокращать объем кода объектно-ориентированных программных систем.
| - |
Лекция 14 | Ограничения универсальности
Как ни парадоксально, но ограничение универсальности увеличивает свободу программиста. Рассматриваются способы ограничения универсальности.
Лекция сопровождается задачами.
| - |
Тест 818 минут | - | |
Лекция 15 | Декларативность. Атрибуты и теги
В язык С# все в большей степени встраиваются декларативные элементы, позволяющие описать, что надо делать, не указывая, как это делается. В этой лекции изучаются такие элементы декларативного стиля как атрибуты и теги.
| - |
Лекция 16 | Встроенные и заданные программистом атрибуты. Документируемые комментарии
В данной лекции подробно обсуждаются атрибуты – встроенные и создаваемые программистом, относящиеся к декларативным элементам – метаинформации, сопровождающей проект. Еще одна тема этой лекции – это документирование кода и использование тегов - документируемых комментариев. Лекция сопровождается задачами.
| - |
Тест 921 минута | - | |
Лекция 17 | Корректность и устойчивость программных систем
Программные системы во многих случаях – жизненно важные системы, от правильной работы которых может зависеть благосостояние и даже жизнь отдельного человека или целого коллектива. Элементами доказательного программирования должен владеть каждый профессиональный программист.
| - |
Лекция 18 | Искусство отладки
Отладка рассматривается как процесс, направленный на достижение корректности программной системы. Обсуждаются средства, предоставляемые языком C# и средой разработки для отладки программных систем.
| - |
Лекция 19 | Обработка исключительных ситуаций
Обработка исключительных ситуаций рассматривается как процесс, направленный на достижение устойчивости программной системы. В этой же лекции обсуждаются вопросы профессионального стиля разработки программных проектов. Подводятся итоги курса.
| - |
Тест 1021 минута | - | |
Лекция 20 | Практикум 1. Установка Visual Studio 2010
В практикуме рассказывается процесс установки программного продукта.
Оглавление | - |
Лекция 21 | Практикум 2. Создание простого приложения в Visual Studio 2010
В практикуме показывается пример создания простой программы в Visual Studio 2010 на языке C#
Оглавление | - |
Лекция 22 | Практикум 3. Разработка программ в Visual Studio 2010
В практикуме даются примеры разработки различных проектов.
Оглавление | - |
Лекция 23 | Практикум 4. Взаимодействие проектов
В практикуме даются примеры взаимодействия: C# и C++, C3 и Visual Basic.
Оглавление | - |
5 часов | - |