МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Петрозаводский государственный университет
Математический факультет
Кафедра информатики и математического обеспечения
УТВЕРЖДАЮ
Декан математического факультета
________________________
«____» __________ 2012 г.
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
Языки и методы программирования 1 (С++)
Модуль:
Средства разработки графических интерфейсов
Направление подготовки
010400 - «Прикладная математика и информатика»
Квалификация (степень) выпускника
Бакалавр
Форма обучения
очная
Петрозаводск
2012 г.
Общие сведения о дисциплине
Название дисциплины – Языки и методы программирования 1 (С++).
Модуль: Средства разработки графических интерфейсов
Факультет, на котором преподается данная дисциплина – Математический
Направление подготовки – 010400 Прикладная математика и информатика
Квалификация (степень) выпускника – Бакалавр
Цикл дисциплин – профессиональный
Часть цикла – базовая
Курс – I
Семестры – 2
Всего зачетных единиц – 1
Всего часов – 36
Аудиторные занятия 28 часов:
(лекции – 14 часов, лабораторные занятия – 14 часов)
Самостоятельная работа – 8 часов
Экзамен – нет
Зачет – 2 семестр
Составитель рабочей программы – ст. преп. каф. ИМО
1. Цели освоения дисциплины
Целью освоения дисциплины «Средства разработки графических интерфейсов» является формирование профессиональных компетенций в области создания графических интерфейсов пользователя, являющихся неотъемлемой частью современных компьютерных технологий, способность применения которых, в свою очередь, является одной из основных целей ООП ВПО.
2. Место дисциплины в структуре ООП бакалавриата
Дисциплина входит в базовую часть профессионального цикла. Для освоения данной дисциплины требуется предварительное овладение компетенциями в области структурного и объектно-ориентированного программирования, формируемыми в рамках курсов «Основы информатики» и модуле «Структуры данных» курса «Языки и методы программирования (C++)».
Знания и умения, приобретенные в результате освоения модуля, будут использоваться при изучении курсов по системному программированию и компьютерным технологиям, при выполнении курсовых и дипломных работ, связанных с системным программированием, компьютерными технологиями и обработкой данных.
3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля):
· способность владеть культурой мышления, умение аргументированно и ясно строить устную и письменную речь (ОК-1);
· способность осознать социальную значимость своей будущей профессии, обладать высокой мотивацией к выполнению профессиональной деятельности (ОК - 9);
· способностью и готовность к письменной и устной коммуникации на родном языке (ОК-10);
· способность работать в коллективе и использовать нормативные правовые документы в своей деятельности (ОК-13);
· способность использовать в научной и познавательной деятельности, а также в социальной сфере профессиональные навыки работы с информационными и компьютерными технологиями (ОК-14);
· способность работы с информацией из различных источников, включая сетевые ресурсы сети Интернет, для решения профессиональных и социальных задач (ОК-15);
· способностью демонстрации общенаучных базовых знаний естественных наук, математики и информатики, понимание основных фактов, концепций, принципов теорий, связанных с прикладной математикой и информатикой (ПК-1);
· способность приобретать новые научные и профессиональные знания, используя современные образовательные и информационные технологии (ПК-2);
· способность критически переосмысливать накопленный опыт, изменять при необходимости вид и характер своей профессиональной деятельности (ПК-5);
· способность осуществлять целенаправленный поиск информации о новейших научных и технологических достижениях в сети Интернет и из других источников (ПК-6);
· способность решать задачи производственной и технологической деятельности на профессиональном уровне, включая: разработку алгоритмических и программных решений в области системного и прикладного программирования (ПК-9);
· способность приобретать и использовать организационно-управленческие навыки в профессиональной и социальной деятельности (ПК-11);
· способность составлять и контролировать план выполняемой работы, планировать необходимые для выполнения работы ресурсы, оценивать результаты собственной работы (ПК-12).
В результате освоения дисциплины обучающийся должен:
- Знать: основные понятия и принципы событийно-ориентированного программирования и разработки графических интерфейсов: цикл обработки событий, виджет, компоновка виджетов, иерархия виджетов; механизмы обработки событий (сигнал – функция обратного вызова, сигнал – слот); шаблон Model-View-Controller и способы реализации в библиотек классов; понятие юзабилити и способы реализации эргономичных интерфейсов. Уметь: разрабатывать и реализовывать приложения с графическим интерфейсом, использующие сложную организацию диалоговых окон:
- включающих систему меню и панелей инструментов; использующих любые характерные для интерфейсов современных ОС инструменты управления (кнопки, поля ввода, выпадающие списки и т. п.); обеспечивающих возможность управления с помощью клавиатуры и манипулятора «мышь».
4. Структура и содержание дисциплины (модуля) «Средства разработки графических интерфейсов»
Общая трудоемкость дисциплины (модуля) составляет одну зачетных единиц 36 часов (28 часов аудиторных занятий и 8 часов самостоятельной работы).
№ п/п | Раздел дисциплины | Семестр | Неделя семестра | Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) | Формы текущего контроля успеваемости. Форма промежуточной аттестации. | |||
Лек. | Лабор. | Самост. | Контр. | |||||
1 | Введение в разработку графических интерфейсов. История развития. Базовые концепции: визуальные объекты, цикл обработки событий, связывание сигналов с обработчиками, позиционирование. Обзор семейства библиотек GTK+: интерфейс программирования, иерархия визуальных объектов. Создание меню и панелей инструментов в GTK+, диалоговые окна. | 2 | 1-2 | 2 | 2 | 1 | ||
2 | Введение в семейство кроссплатформенных библиотек Qt. Система классов, метаобъектный компилятор, сигналы и слоты. Ориентированная на проект система сборки QMake. Примеры реализации графических интерфейсов. | 2 | 3-4 | 2 | 2 | 1 | Прием лабораторных работ. | |
3 | Иерархия классов модуля QtGui. Позиционирование виджетов. Интегрированная среда QtCreator и вспомогательные инструменты. Визуальное проектирование графического интерфейса и связывание с приложением. | 2 | 5-6 | 2 | 2 | 1 | Прием лабораторных работ. | |
4 | Интервью-классы, реализующие подход «Модель-вид-представление» в Qt. Создание собственных подклассов QObject: реализация сигналов и слотов. | 2 | 7-8 | 2 | 2 | 1 | Прием лабораторных работ. | |
5 | 2D - и 3D-графика в Qt. Обзор графических классов QtQui и возможностей модулей QtOpenGL, QtSVG. | 2 | 9-10 | 2 | 2 | 1 | Прием лабораторных работ. | |
6 | Дополнительные возможности Qt: поддержка интерфейсов «Перенести-и-оставить», жестов, реализации анимированных интерфейсов, интеграции со средой рабочего стола. Интернационализация приложения с использованием QtLinguist. | 2 | 11-12 | 2 | 2 | 1 | Прием лабораторных работ. | |
7 | Облегченное проектирование и прототипирование интерфейсов с помощью QtQuick. Использование модуля QtDeclarative и языка разметки QML. | 2 | 13-14 | 2 | 2 | 2 | ||
Всего: | 14 | 14 | 8 | 36 |
5. Образовательные технологии
Сочетание традиционных образовательных технологий в форме лекции с компьютерными автоматизированными информационными технологиями при выполнении лабораторных работ и проведении контрольных мероприятий (экзаменов, зачетов, промежуточного тестирования).
6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины.
Контроль качества подготовки осуществляется путем проверки теоретических знаний и практических навыком посредством письменного теста в конце 1 семестра, проверки и приема текущих лабораторных работ.
Перечень заданий лабораторных работ
Задание 1. Простая программа с графическим интерфейсом пользователя с использованием GTK+.
Предлагается шаблон программы с полем ввода и кнопкой. При нажатии на кнопку текст из поля вводы выводится в терминал.
Необходимо модифицировать код программы таким образом, чтобы интерфейс содержал два поля ввода, а при нажатии на кнопку, текст из первого поля ввода записывался в файл с именем, введенным в другое поле ввода. Программа должна проверять возможность записи введенного текста в указанный файл и при невозможности отображать соответствующее диалоговое окно.
Задание 2. Конвертор величин. Простая программа с графическим интерфейсом пользователя с использованием Qt.
Предлагается шаблон программы конвертора величин.
Необходимо добавить следующие возможности:
при нажатии на кнопку должно выполняться преобразование единиц (ярды-метры, килограммы-унции и т. д. — по выбору), при этом результат преобразования должен отображаться в нижнем поле ввода текста; интерфейс должен быть улучшен с точки зрения удобства (понятности) пользователя, в частности, следует добавить надписи, поясняющие назначение полей ввода.Необходимо также, используя визуальные средства проектирования интерфейса в QtCreator, разработать второе приложение, обеспечивающее аналогичную функциональность.
Задание 3. Программа просмотра изображений. Реализация собственного виджета Qt и локализация приложения.
Необходимо реализовать с помощью Qt программу, позволяющую открывать и просматривать графические изображения. Дан шаблон. По желанию допускается использовать дизайнер форм, а не приведенный шаблон для создания интерфейса приложения.
Необходимо выполнить локализацию приложения с использованием Qt Linguist.
Необходимо вынести возможности по управлению просмотром изображения в отдельный класс.
Задание 4. Программа просмотра изображений с проводником файловой системы. Использование интервью-классов Qt.
Используя ранее разработанный виджет просмотра изображения, необходимо реализовать приложение, обеспечивающее следующие возможности:
- окно приложения представлено двумя областями, слева проводник, изображающий файлы в некотором каталоге, справа виджет, опеспечивающий просмотр изображения; проводник использует QListView для отображения содержимого каталога; файл каталога изображается строкой, содержащей имя файла каталог с изображениями может быть задан явно в программе, переходы внутрь подкаталога и вовне можно не обрабатывать; при клике на изображении (файле c расширениями. jpg, .png), оно отрисовывается справа.
7. Учебно-методическое и информационное обеспечение дисциплины (модуля)
а) основная литература:
В. , Бородина. А. В. Средства разработки графических интерфейсов пользователя: учебное пособие / А. В. Бородин, А. В. Бородина. – Петрозаводск: Изд-во ПетрГУ, 2012. – 102 c. (в печати)
б) дополнительная литература:
1. Бланшетт Ж., Qt 4. Программирование GUI на C++ / Ж. Бланшетт, М. Саммерфилд. – М.: КУДИЦ-Пресс, 2008. – 718 с.
2. Боровский А. Qt4.7+. Практическое программирование на C++ / А. Боровский. СПб.: БХВ-Петербург, 2012. – 496 с.
3. Земсков Ю. Qt4 на примерах / Ю. Земсков. – СПб.: БХВ-Петербург, 2008. – 608 с.
4. Саммерфилд М. Qt. Профессиональное программирование. Разработка кроссплатформенных приложений на C++ / М. Саммерфилд. – М.: Символ-Плюс, 2011. – 560 с.
5. Qt 4.5. Профессиональное программирование на C++ / М. Шлее. – СПб.: БХВ-Петербург, 2010. – 896 с.
в) программное обеспечение и Интернет-ресурсы:
Qt 4.8 Documentation http://qt-project. org/doc/qt-4.8
8. Материально-техническое обеспечение дисциплины (модуля)
Для выполнения лабораторных работ необходимы классы персональных компьютеров с установленными системами программирования на языках C/C++ и комплектом разработчика Qt SDK. Петрозаводский университет обеспечен необходимым комплектом лицензионного программного обеспечения.
Программа составлена в соответствии с требованиями Федерального государственного образовательного стандарта высшего профессионального образования (ФГОС ВПО) направления «Прикладная математика и информатика» (квалификация Бакалавр, год утверждения стандарта 2010) с учетом методических рекомендаций и Примерной основной образовательной программы ВПО по направлению «Прикладная математика и информатика» квалификация Бакалавр.
Автор: ст. преп. каф. ИМО А. В. Бородин
Программа рассмотрена и утверждена на заседании кафедры информатики и математического обеспечения 13 апреля 2012 года, протокол № 4.
Зав. кафедрой _____________________________
Программа одобрена на заседании учебно-методической комиссии математического факультета 25 июня 2012 года, протокол № 10.


