МИНИСТЕРСТВО КУЛЬТУРЫ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГОУ ВПО «ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ
ИСКУССТВА И КУЛЬТУРЫ»
ФАКУЛЬТЕТ ДОКУМЕНТАЛЬНО-ИНФОРМАЦИОННЫХ КОММУНИКАЦИЙ
КАФЕДРА ИНФОРМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
СИСТЕМА КАЧЕСТВА
Одобрено НМС ПГИИК
Протокол № _________
«____»___________20__ г
Председатель__________
КИБРИК Л. И.
ПРОГРАММИРОВАНИЕ НА С++
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
Специальности 080801.65 «Прикладная информатика в
социально - культурной сфере»,
специализация «Мультимедиа технологии и WEB – дизайн»
Рекомендовано кафедрой:
Протокол №
«_____»__________20__г.
Зав. кафедрой__________
Пермь 2012
Автор - составитель:
, канд. техн. наук, профессор
Учебно-методический комплекс дисциплины «Программирование на С++» составлен в соответствии с требованиями Государственного образовательного стандарта высшего профессионального образования, Профессиональной образовательной программой по специальности, Примерной программой по дисциплине по специальности 080801.65 «Прикладная информатика в социально - культурной сфере», специализация «Мультимедиа технологии и WEB – дизайн».
Дисциплина входит в федеральный компонент цикла общих математических и естественнонаучных дисциплин и является дисциплиной по выбору.
Согласования со смежными кафедрами и библиотекой ПГИИК
Зав. библиотекой ПГИИК……………………………………………
СОДЕРЖАНИЕ
ЧАСТЬ 1 РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА ДИСЦИПЛИНЫ.. 2
1.1 ЦЕЛИ, ЗАДАЧИ И ПРЕДМЕТ ДИСЦИПЛИНЫ.. 2
1.2 ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ.. 2
1.3 ОБЪЕМ ДИСЦИПЛИНЫ.. 2
1.3.1 ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ.. 2
1.3.2 РАСПРЕДЕЛЕНИЕ ЧАСОВ ПО ТЕМАМ И ВИДАМ УЧЕБНОЙ РАБОТЫ.. 2
1.4. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ.. 2
1.5 ТЕМЫ практических ЗАНЯТИЙ. 2
1.6 ТЕМЫ ЛАБОРАТОРНЫХ РАБОТ. 2
1.7 СПИСОК ЛИТЕРАТУРЫ.. 2
ЧАСТЬ 2.МАТЕРИАЛЫ, УСТАНАВЛИВАЮЩИЕ СОДЕРЖАНИЕ И ПОРЯДОК ПРОВЕДЕНИЯ ПРОМЕЖУТОЧНОЙ И ИТОГОВОЙ АТТЕСТАЦИИ.. 2
2.1. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ.. 2
2.2 ТЕМЫ КУРСОВЫХ РАБОТ. 2
2.3 ВОПРОСЫ ДЛЯ ПОДГОТОВКИ К ЗАЧЕТУ.. 2
2.4. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ. 2
ДИСЦИПЛИНЫ.. 2
2.4.1 МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ПРЕПОДАВАТЕЛЕЙ.. 2
2.4.2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ СТУДЕНТОВ.. 2
2.4.3 МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ.. 2
2.4.4 МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ.. 2
ЧАСТЬ 1 РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА ДИСЦИПЛИНЫ
1.1 ЦЕЛИ, ЗАДАЧИ И ПРЕДМЕТ ДИСЦИПЛИНЫ
Настоящему курсу должны предшествовать дисциплины: «Высокоуровневые методы информатики и программирования» (ВУМИП), «Технологии программирования», «Программирование и основы алгоритмов».
Изучение настоящей дисциплины дает возможность обоснованно выбрать язык программирования при выполнении дипломного проектирования.
Цель курса - подготовить специалиста, который должен иметь представление о тенденциях развития языков программирования, о современных алгоритмических языках, областях их эффективного применения, уметь использовать современные методы и средства разработки алгоритмов и программ на языке высокого уровня. Студент должен получить опыт программирования, отладки, тестирования и документирования программы на языке высокого уровня, широко применяющемся в настоящий момент в коммерческом программировании.
Задачи изучения дисциплины:
· Ознакомить студентов с профессиональными средствами программирования на языке C++;
· Ознакомить студентов с библиотеками STL и MFC;
· Научить студентов создавать оконные приложения для создания информационных систем.
Предмет изучения дисциплины – профессиональные средства программирования на C++ и Visual C++.
1.2 ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ
В соответствии с Государственным образовательным стандартом высшего образования по межотраслевой специальности 080801.65 «Прикладная информатика в социально-культурной сфере» дисциплина «Программирование на С++» определяет базовый уровень подготовки в области программного обеспечения информационных систем в соответствии с которым специалист должен:
знать:
а)базовые и профессиональные средства языка С ++;
б) правила объектной декомпозиции и описания классов и объектов.
в)развитие абстракции в С++ - шаблоны функций и классов;
г)основные классы стандартной библиотеки шаблонов (STL);
д)основные классы библиотеки MFC;
уметь:
а) Разрабатывать программы модульной структуры;
б) Вести проектирование объектно-ориентированным методом;
в) Уметь создавать консольные приложения С ++ с использованием библиотек;
с) Уметь создавать оконное и диалоговое приложение в визуальной среде программирования Visual C++;
владеть:
а) приемами использования инструментальных сред разработки программного обеспечения;
б) способами и методами написания и отладки функций, тестирования программы.
1.3 ОБЪЕМ ДИСЦИПЛИНЫ
1.3.1 ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ
Дисциплина состоит из лекционных занятий, лабораторных работ, практических занятий и самостоятельных занятий.
Лекционные занятия раскрывают основные проблемные вопросы дисциплины.
Лабораторные работы предназначены для изучения средств языка программирования С++, получения навыков разработки программ.
Самостоятельная работа проводится вне рамок учебного расписания и предназначена для закрепления лекционного материала, подготовки к лабораторным работам, оформления отчетов по лабораторным работам и ознакомления с рекомендуемой литературой.
Дисциплина «Программирование на С++» реализуется в 9 семестре обучения в объеме 70 аудиторных часов и завершается зачетом в 9 семестре.
Форма обучения – очная
Вид учебной работы | № семестра | Количество часов по формам обучения |
Очная | ||
Аудиторные занятия | 9 | 70 |
лекции | 9 | 34 |
практические/семинар | 9 | 4 |
Лабораторные работы | 9 | 32 |
КСР | 9 | |
Самостоятельная работа | 9 | 70 |
Всего часов | 9 | 140 |
Текущий контроль | ||
Лабораторные работы | лаб. раб. № 1-6, 9 сем. | |
Виды итогового контроля | Зачет – 9 семестр |
1.3.2 РАСПРЕДЕЛЕНИЕ ЧАСОВ ПО ТЕМАМ И ВИДАМ УЧЕБНОЙ РАБОТЫ
Форма обучения - очная
Наименования разделов и тем курса | Всего | Виды учебных занятий | |||
Аудиторные занятия. | СРС | ||||
Лекц. | Практ. | Лабор. | |||
Введение | 4 | 2 | 2 | ||
Раздел 1. Средства объектно-ориентированной абстракции. | |||||
Тема 1 Классы. Обработка исключительных ситуаций. Стандартная библиотека классов (STL). | 32 | 8 | 4 | 4 | 16 |
Тема 2 Контейнерные классы. | 16 | 4 | 4 | 8 | |
Тема 3 Итераторы и функциональные объекты. | 16 | 4 | 4 | 8 | |
Тема 4 Алгоритмы STL. | 12 | 2 | 4 | 6 | |
Раздел 2. Визуальное программирование, создание простейших приложений. | |||||
Тема 5 Использование мастера создания приложений. | 12 | 2 | 4 | 6 | |
Тема 6 Классы приложений, документов и представлений. | 24 | 6 | 6 | 12 | |
Тема 7 Диалоговые окна и простейшие элементы управления. | 24 | 6 | 6 | 12 | |
ИТОГО | 140 | 34 | 4 | 32 | 70 |
1.4. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Введение
Место и назначение дисциплины в формировании специалиста. Главная задача курса общая характеристика учебной дисциплины. Порядок, характер и вид контроля освоения материала обучаемым. Рекомендуемая литература по дисциплине.
Объектно-ориентированная абстракция. Её развитие и отражение в языках процедурного программирования.
Раздел 1. Средства объектно-ориентированной абстракции.
Тема 1 Классы. Стандартная библиотека классов (STL).
Сущность объектного подхода к разработке программных средств. Классы, структура описания классов. Атрибуты объектов. Обобщение и наследование. Абстрактные классы. Множественное наследование. Механизм позднего связывания. Шаблоны функций и классов. Библиотека шаблонов (STL). Потоковые классы. Строки. Обработка исключительных ситуаций.
Лабораторная работа 1 Работа со строками.
Практическое занятие №1 Потоковый ввод - вывод.
Тема 2 Контейнерные классы.
Понятие о контейнерах. Последовательные контейнеры. Векторы. Двусторонние очереди. Списки. Стеки. Очереди с приоритетами. Ассоциативные контейнеры. Множества.
Лабораторная работа №2 Работа со стеками, списками, очередями.
Тема 3 Итераторы и функциональные объекты.
Итераторы. Обратные итераторы. Итераторы вставки. Потоковые итераторы Функциональные объекты. Арифметические функциональные объекты. Адаптеры указателей на функцию. Адаптеры методов.
Лабораторная работа №3 Применение итераторов для работы с контейнерами.
Тема 4 Алгоритмы STL.
Немодифицирующие операции с последовательностями. Модифицирующие операции с последовательностями. Алгоритмы работы со множествами. Обобщенные численные алгоритмы.
Лабораторная работа №3 Применение алгоритмов для работы с контейнерами.
Раздел 2. Визуальное программирование, создание простейших приложений.
Тема 5 Использование мастера создания приложений.
Мастер приложений, виды приложений. Библиотека MFC.
Лабораторная работа №5 Создание и использование консольного приложения..
Тема 6 Классы приложений, документов и представлений.
Понятие о классе приложения. Класс документа. Класс представления, Класс приложения. Дизайн элементов управления и системный реестр. Шаблон документа. Создание окон.
Лабораторная работа №5 Создание оконного приложения.
Тема 7 Диалоговые окна и простейшие элементы управления.
Диалоговое окно. Формирование ресурсов диалогового окна. Создание класса диалога. Создание вкладок диалогового окна. Программирование интерфейса пользователя.
Лабораторная работа №6 Создание диалогового приложения.
1.5 ТЕМЫ практических ЗАНЯТИЙ.
Практическое занятие №1 Потоковый ввод - вывод.
1.6 ТЕМЫ ЛАБОРАТОРНЫХ РАБОТ
№№ и названия разделов и тем | Цель и содержание лабораторной работы | Результаты лабораторной работы |
Лабораторная работа № 1 Работа со строками. | ||
Раздел 1. Тема 1 | Изучить стандартные классов потоков и строк. Научиться программировать ввод и вывод, обработку строк. | Практические навыки программирования и отладки. Отчет |
Лабораторная работа № 2 Работа со стеками, списками, очередями. | ||
Раздел 1 Тема 2 | Изучить контейнерные классы, научиться программировать связные структуры данных с применением стандартных классов. Сравнить с непосредственным программированием. | Практические навыки. Отчет |
Лабораторная работа № 3 Применение итераторов для работы с контейнерами. | ||
Раздел 1 Тема 3 | Изучить итераторы как средство работы с элементами контейнера. Научиться программировать. | Практические навыки. Отчет |
Лабораторная работа № 4 Применение алгоритмов для работы с контейнерами. | ||
Раздел 2 Тема 4 | Изучить алгоритмы библиотеки STL. Научиться использовать в программах как средство работы с элементами контейнера. | Практические навыки. Отчет |
Лабораторная работа № 5. Создание и использование консольного приложения. | ||
Раздел 2 Тема 5 | Изучить Мастер создания приложений, функции MFC, которые могут быть использованы в консольном приложении. Создать консольное приложение с использованием некоторых функций MFC. | Практические навыки. Отчет |
Лабораторная работа № 6 Создание диалогового приложения. | ||
Раздел 2 Тема 6 | Изучить способы создания оконных приложений с помощью мастера. Создать диалоговое приложении в соответствии с заданием. | Практические навыки. Отчет |
Лабораторные работы выполняются согласно Методическим указаниям к лабораторным работам по дисциплине «Программирование на С++», оформленным как самостоятельный документ.
1.7 СПИСОК ЛИТЕРАТУРЫ
основная
1. С/С ++. Программирование на языке высокого уровня. – СПб.: Питер, 201с.
2. , С ++. Объектно-ориентированное программирование: Практикум. - СПб.: Питер, 2006. – 265с.
дополнительная
1. C ++ Начало программирования 3-е изд. М.: Бином, 201с.
2. Теория и практика С ++: пер. с англ. – СПб.: BHV – Санкт-Петербург, 19с.
3. Секунов Visual C++ 6. – СПб.: БХВ – Санкт-Петербург, 199с.
ЧАСТЬ 2.МАТЕРИАЛЫ, УСТАНАВЛИВАЮЩИЕ
СОДЕРЖАНИЕ И ПОРЯДОК ПРОВЕДЕНИЯ
ПРОМЕЖУТОЧНОЙ И ИТОГОВОЙ АТТЕСТАЦИИ
2.1 ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ
Разделы и темы для самостоятельного изучения | Виды и содержание самостоятельной работы |
Введение | Повторить темы: классы, объекты, деструктор, конструктор, статические поля и методы, изученные в дисциплине ВУМИП. |
Раздел 1. Тема 1. | Изучение иерархии потоковых классов, принципов форматирования, манипуляторов, изучение класса строк. Подготовка к практическому занятию и выполнение отчета. |
Раздел 1. Тема 2. | Повторить темы о связных структурах данных, динамическом распределении памяти, изучить контейнерные классы. Подготовить отчет. |
Раздел 1. Тема 3. | Изучение лекционного материала. Подготовка отчета. |
Раздел 2. Тема 4. | Изучение лекционного материала. Подготовка отчета. |
Раздел 2. Тема 5. | Изучение лекционного материала. Подготовка отчета. |
Раздел 2. Тема 6. | Изучение лекционного материала. Подготовка отчета. |
2.2 ТЕМЫ КУРСОВЫХ РАБОТ
В рамках данной дисциплины курсовых (контрольных работ) рефератов не предусмотрено
2.3 ВОПРОСЫ ДЛЯ ПОДГОТОВКИ К ЗАЧЕТУ
1. Сущность объектного подхода к разработке программных средств.
2. Классы, структура описания классов.
3. Атрибуты объектов
4. Обобщение и наследование.
5. Абстрактные классы.
6. Множественное наследование.
7. Механизм позднего связывания.
8. Шаблоны функций и классов.
9. Библиотека шаблонов (STL).
10. Общий механизм обработки исключений.
11. Синтаксис исключений.
12. Перехват исключений.
13. Список исключений функции.
14. Потоковые классы.
15. Строки.
16. Понятие о контейнерах.
17. Последовательные контейнеры.
18. Векторы.
19. Двусторонние очереди.
20. Списки.
21. Стеки.
22. Очереди с приоритетами.
23. Ассоциативные контейнеры.
24. Множества.
25. Итераторы.
26. Обратные итераторы.
27. Итераторы вставки.
28. Потоковые итератор.
29. Функциональные объекты.
30. Арифметические функциональные объекты.
31. Адаптеры указателей на функцию.
32. Адаптеры методов.
33. Немодифицирующие операции с последовательностями.
34. Модифицирующие операции с последовательностями.
35. Алгоритмы работы со множествами.
36. Обобщенные численные алгоритмы.
37. Мастер приложений, виды приложений. Библиотека MFC.
38. Понятие о классе приложения. Класс документа. Класс представления, Класс приложения.
39. Дизайн элементов управления и системный реестр.
40. Шаблон документа.
41. Создание окон.
42. Диалоговое окно. Формирование ресурсов диалогового окна.
43. . Создание класса диалога.
44. Программирование интерфейса пользователя.
2.4 УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
ДИСЦИПЛИНЫ
2.4.1 МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ПРЕПОДАВАТЕЛЕЙ
Лекционные занятия раскрывают основные проблемные вопросы по каждому разделу.
Лабораторные работы предназначены для приобретения практических навыков в работе по освоению различных приемов программирования.
Самостоятельная работа проводится вне рамок учебного расписания и предназначена для закрепления лекционного материала и ознакомления с рекомендованной литературой.
Формами контроля курса являются лабораторные работы и зачет.
2.4.2 МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ СТУДЕНТОВ
Комплексное изучение студентами учебной дисциплины «Программирование на С++» предполагает: овладение материалами лекций, учебной и дополнительной литературы, указанными в программе, творческую работу студентов в ходе проведения семинарских занятий, а также систематическое выполнение заданий для самостоятельной работы.
В ходе лекций раскрываются основные вопросы в рамках рассматриваемой темы, делаются акценты на наиболее сложные и интересные положения изучаемого материала, которые должны быть приняты студентами во внимание.
Основной целью семинарских занятий является контроль степени усвоения пройденного материала и хода выполнения студентами самостоятельной работы, обсуждение наиболее сложных и спорных вопросов в рамках заявленной темы. Занятие предполагает всестороннее обсуждение темы при максимальном участии студентов учебной группы. Вопросы дисциплины, требующих авторского подхода к их рассмотрению, заслушиваются на семинарских занятиях в форме подготовленных студентами сообщений (10-15 минут) с последующей их оценкой всеми студентами группы. Тема, форма проведения семинара предполагает дискуссионность, свободный обмен мнениями. Студентам при подготовке к семинару следует сформировать свою точку зрения по каждому из вопросов, выносимых на обсуждение.
Основой для подготовки студента к семинарским занятиям являются издания, рекомендуемые преподавателем. При изучении источников студентам рекомендуется законспектировать основные идеи публикации, предлагаемые определения, зафиксировать существенные факты, суть приводимых примеров.
Основной целью практических занятий является приобретение и закрепление навыков работы с профессиональными документами различных видов в целях выявления, анализа и усвоения профессионально и учебно-значимой информации,
Предусмотрено проведение индивидуальной работы (консультаций) со студентами в ходе изучения материала данной дисциплины.
2.4.3 МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Учебно-методических издания рекомендуемые студентам для подготовки к занятиям:
а) методические рекомендации по изучению теоретического курса,
б) методические рекомендации по выполнению лабораторных работ
в) методические рекомендации для выполнения самостоятельной работы студентов
2.4.4 МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Перечень технических средств обучения, используемых в учебном процессе:
а) компьютерная аудитория
б) мультимедиа лаборатория
Перечень программных средств, используемых в учебном процессе:
а) Visual Studio


