МИНОБРНАУКИ РОССИИ
Федеральное государственное образовательное учреждение высшего профессионального образования
«Нижегородский государственный педагогический университет
имени Козьмы Минина»
Факультет естественных, математических и компьютерных наук
Кафедра «Прикладная математика и информатика»
УТВЕРЖДАЮ
Проректор по учебно-методической деятельности
__________________
«___»_____________2014 г.
рабочая ПРОГРАММа ДИСЦИПЛИНЫ
Б3.Б.4 Технологии программирования
Направление подготовки: 230400.62 (09.03.02) Информационные системы и технологии
Профиль подготовки: Информационные системы и технологии
Квалификация (степень) выпускника: бакалавр
Форма обучения: очная, 4 года
Н. Новгород
2014
Рабочая программа составлена на основе:
1. Федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки 230400 Информационные системы и технологии, утвержденного «14» января 2010г., номер государственной регистрации 25.
2. Учебного плана по направлению подготовки 230400.62 (09.03.02) Информационные системы и технологии, утвержденного «29» августа 2014 г.
Рабочая программа по дисциплине «Технология программирования» принята на заседании кафедры «Прикладная математика и информатика», протокол № 1 от «29» августа 2014 г.
Разработчик: преподаватель
СОГЛАСОВАНО
Зав. кафедрой «Прикладная математика и информатика»
_________________//
«___» ___________2014г.
СОГЛАСОВАНО
Зав. выпускающей кафедрой «Прикладная математика и информатика»
_________________/ /
«____»_______________2014г.
СОГЛАСОВАНО
Директор библиотеки
_________________/_______________/
«____»_______________2014г.
1. Цели и задачи дисциплины
Целями освоения дисциплины «Технология программирования» является изучение теоретических основ современных технологий программирования и получение практических навыков их реализации.
Задачи преподавания дисциплины:
· формирование систематизированного представления о концепциях, моделях и принципах организации, положенных в основу "классических" технологий программирования и современных семейств технологий;
· получение практической подготовки в области выбора и применения технологии программирования для задач автоматизации обработки информации;
· выработка оценки современного состояния и перспективных направлений развития технологий программирования
2. Место дисциплины в структуре ООП ВПО
Цикл, к которому относится дисциплина общепрофессиональный. Дисциплины, на которые базируется данная дисциплина, математического цикла.
Дисциплины, для которых данная дисциплина является предшествующей: дисциплины специального цикла.
3. Требования к результатам освоения дисциплины
Процесс изучения дисциплины направлен на формирование следующих компетенций или их составляющих:
ПК-12: способен разрабатывать средства реализации информационных технологий (методические, информационные, математические, алгоритмические, технические и программные);
ПК-22: готов осуществлять организацию контроля качества входной информации;
ПК-34: готов адаптировать приложения к изменяющимся условиям функционирования;
В результате освоения данной дисциплины студент должен:
знать:
- представление основных структур программирования: итерация, ветвление, повторение;
- процедуры; типы данных, определяемые пользователем;
- записи;
- файлы;
- динамические структуры данных.
- списки: основные виды и способы реализации;
- программирование рекурсивных алгоритмов;
- способы конструирования программ;
- основы доказательства правильности;
- объектно-ориентированное программирование.
уметь:
- проектировать и реализовывать программы на языке высокого уровня;
- использовать методы тестирования, отладки и документирования программ.
владеть навыками:
- разработки алгоритмов,
- описания структур данных,
- описания основных базовых конструкций,
- программирования на языке высокого уровня,
- работы в различных средах программирования.
4. Объем дисциплины и виды учебной работы
Вид учебной работы | Всего зач. ед. | Всего часов | Семестр | ||
1 | 2 | 3 | |||
Общая трудоемкость дисциплины | 9 | 324 | 72 | 171 | 81 |
Аудиторные занятия | 162 | 45 | 72 | 45 | |
в т. ч. занятия в активной и интерактивной формах | 36 | 12 | 12 | 12 | |
Лекции | 66 | 15 | 36 | 15 | |
Лабораторные работы | 96 | 30 | 36 | 30 | |
Самостоятельная работа | 126 | 27 | 99 | 0 | |
Изучаемая | 288 | 72 | 171 | 45 | |
Экзамен | 36 | 36 | |||
Курсовая работа | * | * | |||
Вид итогового контроля | зачет | зачет | экзамен |
5. Содержание дисциплины
5.1. Тематический план
Раздел дисциплины | Количество часов | Итого по разделам дисцплины | ||
Лекции | Лаб. зан. | Сам. раб | ||
Раздел 1. Функции | 14 | 12 | 36 | 62 |
1.1. Функции. Параметры функции. Передача имен функций в качестве параметров | 3 | 2 | 6 | 11 |
1.2. Функции. Параметры со значением по умолчанию. Функции с переменным числом параметров | 3 | 2 | 6 | 11 |
1.3. Перегрузка функций | 2 | 2 | 6 | 10 |
1.4. Шаблоны функций | 2 | 2 | 6 | 10 |
1.5. Функции работы со строками и символами | 2 | 2 | 6 | 10 |
1.6. Внешние объявления. Поименованные области | 2 | 2 | 6 | 10 |
Раздел 2. Динамические структуры данных | 12 | 16 | 34 | 62 |
2.1. Динамические структуры данных. Стек | 3 | 4 | 8 | 15 |
2.2. Динамические структуры данных. Очередь | 3 | 4 | 8 | 15 |
2.3. Динамические структуры данных. Линейные списки | 3 | 4 | 8 | 15 |
2.4. Динамические структуры данных. Бинарные деревья | 3 | 4 | 10 | 17 |
Раздел 3. Потоковые классы | 16 | 24 | 40 | 80 |
3.1. Потоковые классы. Стандартные потоки. Форматирование данных. | 3 | 4 | 6 | 13 |
3.2. Ошибки потоков | 2 | 4 | 6 | 12 |
3.3. Методы обмена потоками | 3 | 4 | 6 | 13 |
3.4. Файловые потоки | 3 | 4 | 8 | 15 |
3.5. Строковые потоки | 3 | 4 | 8 | 15 |
3.6. Потоки и типы определяемые пользователем | 2 | 4 | 6 | 12 |
Раздел 4. Строки | 4 | 8 | 16 | 28 |
4.1. Строки. Конструкторы и присваивание строк | 2 | 4 | 8 | 14 |
4.2. Преобразование строк | 2 | 4 | 8 | 14 |
Раздел 5. Классы | 12 | 20 | 0 | 32 |
5.1. Описание класса. Описание объектов. | 4 | 4 | 0 | 8 |
5.2. Конструкторы | 2 | 4 | 0 | 6 |
5.3. Статические элементы класса | 2 | 4 | 0 | 6 |
5.4. Дружественные функции и классы | 2 | 4 | 0 | 6 |
5.5. Перегрузка операций | 2 | 4 | 0 | 6 |
Раздел 6. Наследование | 4 | 8 | 0 | 12 |
6.1. Простое наследование | 2 | 4 | 0 | 6 |
6.2. Виртуальные методы | 2 | 4 | 0 | 6 |
Раздел 7. Шаблоны классов | 2 | 4 | 0 | 6 |
7.1. Создание и использование шаблонов классов | 2 | 4 | 0 | 6 |
Раздел 8. Обработка исключительных ситуаций | 2 | 4 | 0 | 6 |
8.1. Синтаксис исключений | 2 | 4 | 0 | 6 |
66 | 96 | 126 | 288 |
5.2. Содержание разделов дисциплины
Раздел 1. Функции
1.1. Функции. Параметры функции. Передача имен функций в качестве параметров. Объявление и определение функции. Глобальные переменные. Возвращаемое значение. Параметры функции. Передача имен в качестве параметров. Примеры.
1.2. Функции. Параметры со значением по умолчанию. Функции с переменным числом параметров. Передача массивов в качестве параметров.
1.3. Перегрузка функций. Использование нескольких функций с одним и тем же именем. Примеры. Неоднозначность.
1.4. Шаблоны функций. Примеры.
1.5. Функции унаследованные из библиотеки С (заголовочный файл <string. h>). Примеры.
1.6. Внешние объявления. Поименованные области
Области действия идентификаторов. Блок. Файл. Функция. Прототип функции. Поименованная область.
Раздел 2. Динамические структуры данных
2.1. Динамические структуры данных «Стек». Пример.
2.2. Динамические структуры данных « Очередь». Пример
2.3. Динамические структуры данных «Линейные списки». Примеры.
2.4. Динамические структуры данных «Бинарные деревья». Примеры.
Раздел 3. Потоковые классы
3.1. Потоковые классы.
Стандартные потоки. Форматирование данных. Флаги и форматирующие методы. Простые манипуляторы. Параметризованные манипуляторы. Примеры.
3.2. Ошибки потоков. Примеры.
3.3. Методы обмена потоками. Примеры.
3.4. Файловые потоки. Примеры.
3.5. Строковые потоки. Примеры.
3.6. Потоки и типы определяемые пользователем. Примеры.
Раздел 4. Строки
4 .1. Строки. Конструкторы и присваивание строк. Операции. Примеры.
4.2. Преобразование строк. Поиск подстрок. Сравнение частей строк. Получение характеристик строк.
Раздел 5. Классы
5.1. Основы ООП.
Инкапсуляция. Наследование. Полиморфизм. Описание класса. Описание объекта. Указатель this.
5.2. Конструкторы.
Конструкторы. Деструкторы. Конструкторы с параметрами.
5.3. Статические элементы класса
Статические поля. Статические методы
5.4. Дружественные функции и классы
Дружественная функция. Дружественный класс.
5.5. Перегрузка операций
Перегрузка унарных операций. Перегрузка бинарных операций. Перегрузка операции прсваивания. Указатели на элементы класса.
Раздел 6. Наследование
6.1. Простое наследование
Ключи доступа. Простое наследование.
6.2. Виртуальные методы
Виртуальные методы. Механизм позднего связывания. Абстрактные классы.
Раздел 7. Шаблоны классов
7.1. Создание и использование шаблонов классов
Раздел 8. Обработка исключительных ситуаций
8.1. Синтаксис исключений
Синтаксис исключений. Перехват исключений. Исключения в конструкторах и деструкторах
5.3. Разделы дисциплины и связь с формируемыми компетенциями
Наименование компетенции | № разделов дисциплины, ушаствующих в формировании компетенции | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
ПК-12 | + | + | + | |||||
ПК-22 | + | + | + | |||||
ПК-34 | + |
6. Образовательные технологии
Технологии проблемного обучения, интерактивные технологии, проектные технологии, программированное обучение.
Темы занятий в активной и интерактивной формах
1. Функции. Параметры функции. – 2 ч.
2. Функции. Передача массивов в качестве параметров. – 2 ч.
3. Перегрузка функций. – 2 ч.
4. Динамическая структура данных «Стек». – 2 ч.
5. Динамическая структура данных « Очередь». – 2 ч.
6. Динамические структуры данных «Линейные списки». – 2 ч.
7. Динамические структуры данных «Бинарные деревья». – 2 ч.
8. Файловые потоки. – 2 ч.
9. Строковые потоки. – 2 ч.
10. Строки. Конструкторы и присваивание строк. – 2 ч.
11. Преобразование строк. – 2 ч.
12. Основы ООП. Инкапсуляция. Наследование. Полиморфизм. – 2 ч.
13. Конструкторы. Деструкторы. – 2 ч.
14. Статические поля. Статические методы. – 2 ч.
15. Дружественная функция. Дружественный класс. – 2 ч.
16. Перегрузка операций. – 2 ч.
17. Создание и использование шаблонов классов. – 2 ч.
18. Синтаксис исключений.
7. Учебно-методическое обеспечение дисциплины
7.1. Основная литература:
1. скусство программирования для ЭВМ. Том 3 Сортировка и поиск. - М.: Мир, 2007
2. Страуструп Б. Язык программирования C++, 3-е изд. -- СПб.: Невский диалект, 2008
3. истематическое программирование. Введение. - М.: Мир, 2008.
4. Ф. Крачтен. Введение в RATIONAL UNIFIED PROCESS. – М.: Изд. Дом «Вильямс», 2009.
5. М. Бен-Ари. Языки программирования. Практический сравнительный анализ. – М.: Мир, 2007.
7.2. Дополнительная литература:
1. У. Дал, Э. Дейкстра, К. Хоор. Структурное программирование. – М.: Мир, 1975. – С. 7-97.
2. труктурное программирование. - М.: Мир, 1975.
3. адежность программного обеспечения. - М.: Мир, 1980.
4. Хьюз Дж., Мичтом Дж. Структурный подход к программированию. - М.: Мир, 1980.
5. етоды проектирования программных систем. - М.: Мир 2009
6. . C и C++. Правила программирования. -- М.: Бином, 1996
7. Подбельский C++: Учебное пособие. -- М.: Финансы и статистика, 1995
7.3 Базы данных, информационно-справочные и поисковые системы:
http://www. rusedu. ru
http://www. telecomlaw. ru/studyguides/Zadachnik_07.html
http://www. medialaw. ru
8. Материально-техническое обеспечение дисциплины
Реализация дисциплины требует наличие компьютерного класса с современной, постоянно обновляемой технической базой, обеспечивающей каждого студента, отдельным рабочим местом – комплект базовых устройств персонального компьютера, с языком программирования С++.
9. контроль и оценка результатов освоения дисциплины
Контроль и оценка результатов освоения дисциплины осуществляется преподавателем в процессе проведения лабораторных занятий, а также выполнения обучащимся индивидуальных заданий.
Формируемые компетенции и используемые оценочные средства
Показатель оценки сформированности компетенции | № разделов дисциплины, участвующих в формировании компетенций |
|
1 |
| |
| ПК-12 способен разрабатывать средства реализации информационных технологи (методические, информационные, математические, алгоритмические, технические и программные). | |
| Знает: - области применения технологий проектирования и разработки программных продуктов; - основные понятия по теории алгоритмов; - основные методы разработки алгоритмов Умеет: - представлять алгоритмы в различных формах; - разрабатывать алгоритмы новых задач; - применять известные и классические алгоритмы для решения задач; Владеет: - разработкой алгоритмов и описания структур данных | Экзамен |
| ПК-22 готов осуществлять организацию контроля качества входной информации | |
| Знает: - методы организации контроля входной информации Умеет: - использовать методы организации контроля входной информации | Экзамен |
| ПК-34 готов адаптировать приложения к изменяющимся условиям функционирования | |
| Умеет: адаптировать приложения к изменяющимся условиям функционирования | Экзамен |
Контрольные вопросы к экзамену
1. Функции.
2. Параметры функции.
3. Передача имен функций в качестве параметров
4. Функции. Параметры со значением по умолчанию.
5. Функции с переменным числом параметров.
6. Перегрузка функций.
7. Шаблоны функций.
8. Функции работы со строками и символами.
9. Функции работы со строками
10. Функции работы с символами.
11. Внешние объявления.
12. Поименованные области
13. Динамические структуры данных. Стек.
14. Динамические структуры данных. Очередь.
15. Динамические структуры данных. Линейные списки.
16. Динамические структуры данных. Бинарные деревья.
17. Потоковые классы.
18. Стандартные потоки.
19. Форматирование данных
20. Методы обмена потоками
21. Файловые потоки.
22. Строковые потоки.
23. Потоки и типы определяемые пользователем.
24. Строки.
25 Конструкторы и присваивание строк.
26. Преобразование строк.
Темы курсовых работ
1 .База данных студентов образовательного учреждения.
2. Электронный каталог литературы.
3. Обработка анкетных данных.
4. Информационная система образовательного учреждения.
5. Контроль данных
6. Исследование функций, построение их графиков.
7. Текстовый редактор.
8. Создание трехмерных объектов.
9. Алгоритмы сжатия данных.
10. База данных «Журнал куратора»
11. База данных «Расписание преподавателя кафедры»
12. Табель учета рабочего времени
13. База данных «Ежедневник»


