МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Петрозаводский государственный университет

Математический факультет

Кафедра информатики и математического обеспечения

УТВЕРЖДАЮ

Декан математического факультета

________________________

«____» __________ 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.