|
№ |
Наименование дисциплин,
разделов и тем |
Всего часов |
в том числе |
Форма контроля |
|
аудиторные занятия |
стажировка |
|
1 |
Парадигмы программирования |
4 |
2 |
2 |
|
|
Понятие парадигмы программирования, способы декомпозиции системы. Структурный подход. Процедурное программирование. Модульное программирование. Функциональное программирование. Логическое программирование. Объектно-ориентированное программирование (ООП). Сущность объектно-ориентированного подхода. Предпосылки объектно-ориентированного подхода в программировании. Проблемы проектирования сложных систем. Сопоставление и взаимосвязь структурного и объектно-ориентированного подходов. Компонентное программирование. |
| | | |
|
2 |
Базовые принципы ООП |
6 |
2 |
4 |
|
|
Объектная модель. Природа классов и объектов. Отношения между объектами и классами. Взаимосвязь классов и объектов. Наследование. Полиморфизм. Инкапсуляция. | | |
| |
|
3 |
Язык программирования Java |
6 |
4 |
2 |
|
|
Проблемы переносимости и безопасности программ, проблемы использования программ в сети Интернет. Особенности языка Java делающие его адекватным для программирования в сети Интернет (JVM, byte-код, JIT). Области применения Java. Java - приложения и Java – аплеты. | |
|
| |
|
4 |
Описание классов и методов в языке Java |
8 |
4 |
4 |
|
|
Инициализация объектов. Контроль доступа. Статические методы и переменные. Ссылки на объекты. Наследование, полиморфизм и инкапсуляция в языке Java. Абстрактные классы. Интерфейсы. Пакеты. Упаковщики класса. Обработка ошибок при помощи исключений. Организация файлового ввода-вывода. Обработка событий. Программирование аплетов. Классы. Описания протокола класса. |
| |
| |
|
5 |
Язык С++ |
6 |
4 |
2 |
|
|
Классы и методы в языке С++. Ключевое слово this. Функции типа inline. Управление доступом к элементам классов. Функции-члены класса. Конструкторы и деструкторы. Классы и методы в языке Java. Массивы объектов. Конструктор копирования. Дружественные функции и перегрузка операций. Перегрузка унарных и бинарных операторов. Оператор преобразования типов. Оператор присваивания и индексирования. Перегруженные операции new, delete и ->. |
|
|
| |
|
6 |
Наследование в С++ и Java |
8 |
4 |
4 |
|
|
Производные классы: одиночное наследование. Подкласс, подтип и принцип подстановки. Формы наследования. Наследование в языке С++ и Java. Повторное использование кода: наследование и композиция. Открытые и закрытые производные классы. Правила доступа для классов и объектов. Правила доступа для друзей классов и производных классов. |
|
|
| |
|
7 |
Полиморфизм в С++ и Java |
6 |
4 |
2 |
|
|
Виртуальные функции и полиморфизм. Позднее связывание. Виртуальные деструкторы. Замещение и уточнение. Присваивание в С++ и Java. Таблицы виртуальных методов. Производные классы: множественное наследование. Конфликты имен. Порядок вызова конструкторов. Виртуальные базовые классы. Множественное наследование в С++ и Java. Разновидности полиморфизма. Параметрический полиморфизм и шаблоны. Шаблоны функций. Шаблоны классов. Обработка исключительных ситуаций. Блок try, оператор catch, throw. |
|
|
| |
|
8 |
Объектно-ориентированное программирование на языке C# |
6 |
4 |
2 | |
|
9 |
Визуальное моделирование. Язык UML |
8 |
4 |
4 |
|
|
|
Роль моделирования в создании информационных систем. Цели и история создания языка UML, перспективы развития и стандартизации UML. Основные средства и модели языка UML. Варианты использования (use case). Диаграммы классов. Диаграммы взаимодействия (модели поведения системы). Диаграммы состояний. Диаграммы деятельности. Диаграммы компонентов. Диаграммы размещения. |
| |
| |
|
10 |
Компонентные технологии - развитие ООП |
6 |
4 |
2 | |
|
11 |
Шаблоны проектирования |
6 |
4 |
2 | |
|
Итоговый контроль |
2 |
2 | |
зачет |
|
Трудоемкость |
72 |
42 |
30 | |