Рабочая программа дисциплины «Кроссплатформенное программирование»



Скачать 92.99 Kb.
Pdf просмотр
Дата24.11.2016
Размер92.99 Kb.
Просмотров335
Скачиваний1
ТипРабочая программа

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

Томский государственный университет

Факультет прикладной математики и кибернетики


УТВЕРЖДАЮ
Декан факультета прикладной математики и кибернетики, профессор
_________А.М. Горцев "28" августа 2014 г.
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
«Кроссплатформенное программирование»
Наименование магистерской программы:
Математическое и программное обеспечение вычислительных машин и компьютерных сетей
Направление подготовки:
01.04.02 – Прикладная математика и информатика
Квалификация (степень) выпускника:
Магистр
Томск
2014г.

2
1. Цели освоения дисциплины:

В первой части курса
«Кроссплатформенное программирование» дается определение кроссплатформенного программного обеспечения, рассматриваются варианты кроссплатформенности на уровне компиляции и на уровне выполнения, дается обзор технологий. В контексте уровней кроссплатформенности описываются характерные для каждого уровня языки программирования, С, С++ для уровня компиляции и С# и Java для уровня выполнения. Для языков предоставляющих кроссплатформенность на уровне выполнения описываются используемые для этого технологии выявляются достоинства и недостатки данного подхода и сравниваются варианты реализации кроссплатформенности в разных языках. Рассматривается понятие кросс-компиляции и описываются попадающие под это понятие компиляторы. Выделяется понятие аппаратной кроссплатформенности.
Данный аспект освещается обзорно так как курс ориентирован на кроссплатформенность в смысле возможности разработки программ одновременно для нескольких операционных систем. Дается понятие эмулятора как аппаратной так и программной платформы. В данной части курса так же описываются различные кроссплатформенные среды разработки Code::Blocks, Eclipse, MonoDevelop, QDevelop. Более детальное рассмотрение каждой из этих сред выносится на самостоятельное изучение и лабораторный практикум.
Во второй части курса рассматриваются кроссплатформенные библиотеки: Glib, Qt,
GTK+, STL, Pthreads и др. Библиотеки задействованные в лабораторных заданиях рассматриваются достаточно подробно с точки зрения разработчика программного обеспечения использующего данные библиотеки, чтобы предоставить студентам все необходимые знания для выполнения лабораторных заданий с применением этих кроссплатформенных библиотек.
2. Место дисциплины в структуре магистерской программы
Дисциплина по выбору студента, читается в 12 семестре (Профессиональный цикл, вариативная часть). За курс отвечает кафедра программирования.
Для успешного освоения дисциплины студент должен иметь предварительную подготовку по дисциплинам: операционные системы, языки программирования и методы трансляции, системное и прикладное программное обеспечение.

3. Компетенции обучающегося, формируемые в результате освоения дисциплины
ОК-6 Способность совершенствовать и развивать свой интеллектуальный и общекультурный уровень, добиваться нравственного и физического совершенствования своей личности; ОК-7 способность и готовность к активному общению в научной, производственной и социально-общественной сферах деятельности.
ПК-2 Способность разрабатывать концептуальные и теоретические модели решаемых научных проблем и задач; ПК-3 Способность углубленного анализа проблем, постановки и обоснования задач научной и проектно-технологической деятельности; ПК-
12 способность участвовать в деятельности профессиональных сетевых сообществ по конкретным направлениям.
В результате освоения дисциплины обучающийся должен:
• Знать: основы POSIX, технологии разработки кроссплатформенного программного обеспечения и кроссплатформенные библиотеки.
• Уметь: проектировать и разрабатывать кроссплатформенные приложения на языках программирования С, С++, С#, Java с применением кроссплатформенных библиотек Glib, Qt, GTK+, STL, Pthreads и др.
• Владеть: навыками использования кроссплатформенных сред разработки
Code::Blocks, Eclipse, MonoDevelop, QDevelop и написания кроссплатформенных приложений с использованием данных сред.

3
4. Структура и содержание дисциплины
Общая трудоемкость дисциплины составляет 3 зачетных единицы 108 часов.
4.1. Распределение часов курса по темам и видам работ

Аудиторные занятия
(час) в том числе
№№ п/п
Раздел дисциплины
Всего часов
Л
ек ц
и и
С
ем и
н ар ы
Л
аб о
р ат о
р н
ы е р
аб о
ты
С
ам о
ст о
я те л
ь н
ая р
аб о
та
1.
Введение
4 2
0 2
2.
Языки программирования
14 4
4 6
3.
Среды разработки
10 2
2 6
4.
Glib
16 4
4 8
5.
GTK+
14 4
4 6
6.
Qt
20 6
6 8
7.
STL
4 2
0 2
8.
Pthreads
16 4
6 6
9.
Mono
10 2
4 4
Итого
108 30 30 48
4.2. Перечень разделов курса

1.
Введение. Определение кроссплатформенности. Примеры кроссплатформенного программного обеспечения.
Эмуляторы.
Уровни кроссплатформенности аппаратный/программный, компиляции/выполнения.
2.
Языки программирования. Языки реализующие кроссплатформенность на уровне компиляции: С, С++. Языки реализующие кроссплатформенность на уровне выполнения: Java, C#.
3.
Среды разработки. Code::Blocks — разработка на С и С++, использование внешнего кросс-компилятора. Eclipse — разработка на Java и С++. MonoDevelop – C#. Qdevelop
– среда разработки программного обеспечения для Qt.
4.
Glib - низкоуровневая библиотека, расширяющая возможности, предоставляемые стандартной библиотекой libc языка C. Типы данных. Функции для работы со строками и другими структурами данных. Средства ввода-вывода. Потоки, синхронизация, процессы. Таймеры. Средства для работы с динамической памятью.
5.
Qt
- кросс-платформенный инструментарий разработки
ПО на языке программирования C++. Основные классы, которые могут потребоваться при разработке прикладного программного обеспечения начиная от элементов

4 графического интерфейса и заканчивая классами для работы с сетью, базами данных и
XML.
6.
GTK+ - кроссплатформенная библиотека элементов интерфейса. GTK и GDK. Первый содержит набор элементов пользовательского интерфейса, или «виджетов» (таких, как кнопка, список, поле для ввода текста и т. п.) для различных задач. GDK отвечает за вывод на экран и может использовать для этого X Window System, Linux Framebuffer,
WinAPI или функции Mac OS X.
7.
STL - Стандартная библиотека шаблонов (STL) (англ. Standard Template Library) — набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++.
8.
Pthreads – кроспплатформенная библиотека предоставляющая API для работы с потоками в соответствии со стандартом POSIX Threads.
9.
Mono - включает компилятор языка C#, среду исполнения .NET, отладчик, а также ряд библиотек, включая реализацию WinForms, ADO.NET и ASP.NET, а также компиляторы smcs (для создания приложений для Moonlight) и vbc (для приложений, написанных на VB.NET).
4.3. Лабораторный практикум/практикум на ЭВМ

1.
Знакомство со средами разработки. Code::Blocks - настройка, подключение компиляторов MinGW/GCC, Intel C++ compiler, MS Visual C++, импорт проекта Visual
Studio, подключение отладчика GNU Debugger. Eclipse - настройка, создание проекта на
Java, импорт проекта, отладка. Qdevelop настройка, создание проекта, создание GUI средаствами Qt-Designer. MonoDevelop настройка, создание проекта, отладка.
2.
Glib и GTK – задача, написать простой XML парсер представляющий XML документ в виде дерева. Реализация: разобрать XML файл средствами Simple XML Subset
Parser из состава Glib, нарисовать дерево XML документа средствами GTK+.
Рекомендуемая среда Code::Blocks.
3.
Qt - выполнить задачу из лабораторного задания 2 средствами Qt.
Рекомендуемая среда Qdevelop.
4.
Mono – выполнить задачу из лабораторного задания 2 средствами
Mono(.Net) Рекомендуемая среда MonoDevelop.
5.
Pthreads – реализовать любой параллельный алгоритм используя API потоков pthreads. Рекомендуемая среда Code::Blocks
6.
Java — выполнить задачу из лабораторного задания 2 используя пакет javax.xml.parsers. Рекомендуемая среда Eclipse.
4.4. Практические занятия

Практические занятия не предусмотрены.
4.5. Курсовой проект (курсовая работа)
Курсовой проект не предусмотрен.
5. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для
текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины.
Все необходимое учебно-методическое обеспечение по дисциплине представлено в печатном или электронном виде в библиотеке ТГУ, а также в электронном виде в сети
Интернет на сайте кафедры программирования или ИДО ТГУ.
В качестве промежуточного контроля успеваемости в середине семестра (на 9 неделе) проводится письменное тестирование.

5
В конце 12 семестра сдается экзамен.
6. Учебно-методическое и информационное обеспечение дисциплины
а)
Основная литература:
1.
Жасмин Бланшет, Марк Саммерфилд. Qt 4. Программирование GUI на С++.
2.
Макс Шлее. Qt. Профессиональное программирование на C++.
3.
Бьерн Страуструп. Язык программирования С++.
4.
Теренс Чан. Системное программирование на C++ для Unix.
б)
Дополнительная литература:
1.
Мейерс Скотт. Эффективное использование STL.
2.
Брюс Эккель. Философия Java. (Thinking in Java)
3.
Артур Гриффитс. Программирование GNOME/GTK+.
в)
Перечень иных информационных источников:
1.
Справочное описание GLib http://www.opennet.ru/docs/RUS/glib_api/
2.
Microsoft Developer Network http://msdn.microsoft.com/

7. Материально-техническое обеспечение дисциплины
7.1. Требования к аудиториям (помещениям, местам) для проведения занятий
Стандартно оборудованные лекционные аудитории. Для проведения лабораторных занятий – компьютерные классы. А также аудитории для проведения интерактивных лекций: видеопроектор, экран настенный, др. оборудование.
7.2. Требования к специализированному оборудованию
Рабочие места преподавателя и студентов должны быть оснащены оборудованием не ниже: Pentium |||-800/ОЗУ-256 Мб / Video-32 Мб / HDD 80 Гб / СD-ROM – 48x /
Network adapter – 10/100/ Мбс / SVGA – 15”.
7.3. Требования к специализированному программному обеспечению
При использовании электронных учебных пособий каждый обучающийся во время занятий и самостоятельной подготовки должен быть обеспечен рабочим местом в компьютерном классе с выходом в Интернет и корпоративную сеть факультета.
Лаборатории (компьютерные классы) должны быть обеспечены необходимым комплектом лицензионного программного обеспечения системы MS Visual Studio C++.
Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП
ВПО по направлению подготовки 01.04.02 – Прикладная математика и информатика
Автор: аспирант Р.В. Мухамедов, к.т.н., доцент Ю.В. Седов.
Рецензент: к.т.н., доцент С.А. Останин.
Программа одобрена на заседании Ученого Совета ФПМК от 28.08.2014 г., протокол № 315.

Каталог: sites -> default -> files -> Хранилище -> фпмк
files -> Занятие №18 Здравствуйте, участники программ личностного развития для детей!
files -> Программа кружка «Юный журналист»
files -> Шелакина А. А. Студентка 2 курса атп 921 ппк сгту имени Гагарина Ю. А
files -> Культурного и природного наследия имени д. С. Лихачева
files -> Участники регионального отборочного Чемпионата профессионального мастерства по методике WorldSkills «WorldSkills Russia Иркутск 2016» по компетенции: 21 PlasteringandDrywallSystems – Сухое строительство и штукатурные работы 25 27
files -> Семинар «использование квест- технологии в обучении английскому языку»
Хранилище -> Рабочая программа Направление 032400. Антропология и этнология Профиль «Социальная антропология» Квалификация (степень) выпускника


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал