Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

УТВЕРЖДАЮ

Первый проректор –

проректор по учебной работе

_____________________

«___» _________________________ 2012 г.


РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ

«Языки и технологии программирования»


Уровень основной образовательной программы Магистратура

Направление подготовки 222000.68 «Инноватика»

Профиль «Мультимедийные многопроцессорные системы на кристалле»

Форма обучения очная

Факультет ФИТ (Факультет инновационных технологий)

Кафедра УИ (Управления инновациями)

Курс  5         Семестр  9 

Учебный план набора 2011 года

Распределение рабочего времени:




Виды учебной работы

Семестр 1

Семестр 2

Семестр 3

Семестр 4

Всего

Единицы

1

Лекции

18

18

часов

Лабораторные работы

часов

Практические занятия

36

36

часов

Курсовой проект/работа (КРС) (аудиторная)

часов

Всего аудиторных занятий        (Сумма 1-4)

54

54

часов

Из них в интерактивной форме

26

26

часов

Самостоятельная работа студентов (СРС)

54

54

часов

Всего (без экзамена)        (Сумма 5,7)

108

108

часов

Самост. работа на подготовку, сдачу экзамена

часов

Общая трудоемкость        (Сумма 8,9)

108

108

часов

(в зачетных единицах)

3

3

ЗЕТ

Зачет  9  семестр        Диф. зачет _________________ семестр

НЕ нашли? Не то? Что вы ищете?

Экзамен ______________семестр

Томск – 2012

Лист согласований

Рабочая программа составлена с учетом требований Федерального Государственного образовательного стандарта высшего профессионального образования (ФГОС ВПО) третьего поколения по направлению подготовки 222000 «Инноватика», утвержденного 18 ноября 2009 г.,

рассмотрена и утверждена на заседании кафедры «22» июня 2012 г., протокол № 9.



Разработчики


ассистент кафедры УИ

________________________________________________________________________________________________________________________________________________________

(подпись)

________________________________________________________________________________________________________________________________________________________

(Ф. И.О.)

Зав. кафедрой

«Управление инновациями»

______________________________________________________________________________________________________________________________________________________________________________________

(подпись)


Рабочая программа согласована с факультетом, профилирующей и выпускающей кафедрами направления подготовки (специальности).



Декан ФИТ

________________________________________________________________________________________________________________________________________________________

(подпись)

Зав. профилирующей

и выпускающей кафедрой «Управление инновациями»

________________________________________________________________________________________________________________________________________________________

(подпись)

Эксперты:

Председатель учебно-методической комиссии ФИТ, к. ф.-м. н., доцент кафедры УИ

________________________________________________________________________________________________________________________________________________________

(подпись)


ассистент кафедры УИ

________________________________________________________________________________________________________________________________________________________

(подпись)


Цели и задачи дисциплины:

Целью изучения дисциплины является изучение будущими специалистами общих принципов проектирования и разработки программного обеспечения, современных методик и инструментальных средств, используемых при разработке программного обеспечения.

В задачи дисциплины входит проведение лекционных и практических работ, на которых студенты узнают об основных современных методах создания программного обеспечения, получают сведения о используемом при разработке инструментарии, отличительных особенностях различных подходов в разработке и сопровождении программного обеспечения. На практических занятиях студенты закрепляют теоретические знания, полученные на лекциях и получают первоначальные навыки работы с современным инструментарием разработчика программного обеспечения.

2. Место дисциплины в структуре ООП: дисциплина М2.В. ДВ.2 относится к дисциплинам по выбору вариативной части общенаучного цикла и изучается во 1-ом семестре.

3. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетенций:

Общекультурные компетенции (ОК):

Способность приобретать и использовать в практической деятельности новые знания и умения, в том числе в областях, непосредственно не связанных со сферой деятельности (ОК-4).

Профессионально-специализированные компетенции (ПСК)

Способность оценивать качество кодирования аудио - и видеосигналов по международным стандартам; проектировать и разрабатывать модули программного обеспечения для потоковой обработки цифровых сигналов (ПСК-5).

Знание современных технологий создания коммерческих программных продуктов: исследование рынка, разработка макета, построение интерфейсов, тестирование, просчёт стоимости, реклама, продажа и внедрение (ПСК-9).

Способность разрабатывать компоненты программных комплексов, применять методы объектно-ориентированного программирования, использовать системы поддержки программных проектов и применять языки для тестирования модулей и сборок (ПСК-10).

В результате изучения дисциплины студент должен:

Знать:

    историю и общие принципы проектирования и разработки программного обеспечения; основные методики, используемые при разработке программного обеспечения; области использования паттернов проектирования и повторного использования кода; области культуры кодирования и применения методик тестирования; цели и методы рефакторинга.

Уметь:

    анализировать предметную область и техническое задание; проектировать программное обеспечение в соответствии с заданными требованиями; оценивать возможность повторного использования модулей; составлять план тестирования программного продукта; работать с современными инструментальными средствами разработки и тестирования.

Владеть:

    навыками написания качественного, легко сопровождаемого кода; навыками оценки проблемных мест в программных модулях и замены на более качественную реализацию (рефакторинг); навыками оценки отказоустойчивости систем.

4. Объем дисциплины и виды учебной работы

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












Вид учебной работы

Всего часов

Семестры

Аудиторные занятия (всего)

54

54

В том числе:

-

-

-

-

-

Лекции

18

18

Лабораторные работы (ЛР)

Практические занятия (ПЗ)

36

36

Семинары (С)

Коллоквиумы (К)

Курсовой проект/(работа) (аудиторная нагрузка)

Другие виды аудиторной работы

Самостоятельная работа (всего)

54

54

В том числе:

-

-

-

-

-

Курсовой проект (работа) (самостоятельная работа)

Расчетно-графические работы

Реферат

Проработка лекционного материала

10

10

Разработка индивидуальных проектов

26

26

Изучение дополнительной литературы

18

18

Вид промежуточной аттестации (зачет, экзамен)

Общая трудоемкость час

Зачетные  Единицы Трудоемкости

108

108


5. Содержание дисциплины

5.1. Разделы дисциплин и виды занятий

№ п/п

Наименование раздела дисциплины

Лекции

Лаборат.

занятия

Практич.

занятия.

Курсовой П/Р (КРС)

Самост. работа студента

Всего час. (без экзам)

Формируемые компетенции

(ОК, ПК, ПСК)

1

Введение

2

1

3

ОК4

2

Основные парадигмы программирования

2

9

11

ОК4, ПСК5

3

Проектирование программного обеспечения

2

4

9

15

ПСК5

4

Инструментальные средства разработки программного обеспечения

2

4

1

7

ПСК9

5

C/C++

2

8

15

25

ПСК10

6

Рефакторинг

2

8

5

15

ПСК10

7

Культура программирования

2

1

3

ОК4, ПСК5, ПСК10

8

Системы поддержки и процесс разработки программных проектов

2

4

9

15

ПСК9

9

Тестирование

1

8

3

12

ПСК9, ПСК10

10

Эффективное использование механизмов языка С++

1

1

2

ПСК10

18

36

54

108


5.2. Содержание разделов дисциплины (по лекциям)

№ п/п

Наименование разделов

Содержание разделов

Трудоемкость (час.)

Формируемые компетенции

(ОК, ПК, ПСК)

1

Введение

Введение. Общие принципы (этапы) разработки программного обеспечения. Методология. Исторический экскурс.

2

ОК4

2

Основные парадигмы программирования

Объектно-ориентированное программирование, структурное, декларативное, функциональное программирование

2

ОК4, ПСК5

3

Проектирование программного обеспечения

Проектирование программного обеспечения. Паттерны проектирования, уровни абстракции, интерфейсы и контракты, обработка ошибок

2

ПСК5

4

Инструментальные средства разработки программного обеспечения

Инструментальные средства разработки программного обеспечения

2

ПСК9

5

C/C++

C/C++ и другие современные языки программирования

2

ПСК10

6

Рефакторинг

Рефакторинг, спецификация последовательностей действий (use cases)

2

ПСК10

7

Культура программирования

Культура программирования: стиль кодирования, комментирование, документирование

2

ОК4, ПСК5, ПСК10

8

Системы поддержки и процесс разработки программных проектов

Системы поддержки и процесс разработки программных проектов

2

ПСК9

9

Тестирование

Этапы тестирования программного обеспечения

1

ПСК9, ПСК10

10

Эффективное использование механизмов языка С++

1

ПСК10


5.3. Разделы дисциплины и междисциплинарные связи с обеспечивающими (предыдущими) и обеспечиваемыми (последующими) дисциплинами


№ п/п

Наименование обеспечивающих (предыдущих) и обеспечиваемых (последующих) дисциплин

№ № разделов данной дисциплины из табл.5.1, для которых необходимо изучение обеспечивающих (предыдущих) и обеспечиваемых (последующих) дисциплин

1

2

3

4

5

6

7

8

9

10

Предшествующие дисциплины

1

Информатика

*

*

*

*

Последующие дисциплины

1

Архитектура систем на кристалле

*

*

*

*

*

*

2

Параллельное программирование

*

*

*


5.4. Соответствие компетенций, формируемых при изучении дисциплины, и видов занятий

Перечень компетенций

Виды занятий

Формы контроля по всем видам занятий

Л

Лаб

Пр.

КР/КП

СРС

ОК4

+

+

Тест, Контрольная работа

ПСК5

+

+

Тест, Разработка индивидуальных проектов

ПСК9

+

+

Тест, Разработка индивидуальных проектов

ПСК10

+

+

Тест, Разработка индивидуальных проектов

Л – лекция, Пр – практические и семинарские занятия, Лаб – лабораторные работы, КР/КП – курсовая работа/проект, СРС – самостоятельная работа студента

6. Методы и формы организации обучения

Технологии интерактивного обучения при разных формах занятий в часах

Формы

Методы

Лекции (час)

Практические/семинарские

Занятия (час)

Тренинг

Мастер-класс (час)

Всего

Тесты

18

18

IT-методы

8

8

Итого интерактивных занятий

8

18

26


7. Лабораторный практикум - не-предусмотрено

8. Практические занятия (семинары)

№ п/п

№ раздела дисциплины из табл. 5.1

Тематика практических занятий (семинаров)

Трудо-емкость

(час.)

Компетенции ОК, ПК, ПСК

1

1

Первоначальное знакомство со структурой процесса разработки в -Девайсез». Анализ структуры одного из мультимедиа компонентов. Сборка мультимедиа компонента

4

ОК4

2

3

Проектирование мультимедиа компонента (DirectShow-фильтра)

4

ПСК5

3

4, 8

Изучение инструментальных средств: SVN, MS Visual Studio, WinDbg

8

ПСК9

4

5

Реализация структуры спроектированного мультимедиа компонента

8

ПСК10

5

6

Поиск и устранение проблемных мест в реализованном мультимедиа компоненте

4

ПСК10

6

9

Подготовка тестов и тестирование мультимедиа компонента

8

ПСК9, ПСК10


9. Самостоятельная работа

№ п/п

№ раздела дисциплины из табл. 5.1

Виды самостоятельной работы

(детализация)

Трудо-емкость

(час.)

Компе­тенции ОК, ПК, ПСК

Контроль выполнения работы (Опрос, тест, дом. задание, и т. д)

1.

1-10

Проработка лекционного материала

10

ОК4, ПСК5, ПСК9, ПСК10

Опрос

2

2,3,5,6,8,9

Разработка индивидуальных проектов

26

ПСК5, ПСК9, ПСК10

дом. задание

3

1-10

Изучение дополнительной литературы

18

ОК4, ПСК5, ПСК9, ПСК10

Опрос

Подготовка и сдача экзамена

36

Оценка на экзамене


10. Примерная тематика курсовых проектов (работ) - не предусмотрено

11. Рейтинговая система для оценки успеваемости студентов

Таблица 11.1 Балльные оценки для элементов контроля.

Элементы учебной деятельности

Максимальный балл на 1-ую КТ с начала семестра

Максимальный балл за период между 1КТ и 2КТ

Максимальный балл за период между 2КТ и на конец семестра

Всего за

семестр

Посещение занятий

4

4

4

12

Тестовый контроль

10

10

10

30

Разработка индивидуальных проектов

9

10

0

19

Компонент своевременности

3

3

3

9

Итого максимум за период:

26

27

17

70

Сдача зачета (максимум)

30

Нарастающим итогом

26

53

70

100


Таблица 11.2 Пересчет баллов в оценки за контрольные точки

Баллы на дату контрольной точки

Оценка

≥ 90 % от максимальной суммы баллов на дату КТ

5

От 70% до 89% от максимальной суммы баллов на дату КТ

4

От 60% до 69% от максимальной суммы баллов на дату КТ

3

< 60 % от максимальной суммы баллов на дату КТ

2


Таблица 11.3 – Пересчет суммы баллов в традиционную и международную оценку

Оценка (ГОС)

Итоговая сумма баллов, учитывает успешно сданный экзамен

Оценка (ECTS)

5 (отлично) (зачтено)

90 - 100

А (отлично)

4 (хорошо)
(зачтено)

85 – 89

В (очень хорошо)

75 – 84

С (хорошо)

70 - 74

D (удовлетворительно)

3 (удовлетворительно)
(зачтено)

65 – 69

60 - 64

E (посредственно)

2 (неудовлетворительно),
(не зачтено)

Ниже 60 баллов

F (неудовлетворительно)


12. Учебно-методическое и информационное обеспечение дисциплины:

12.1 Основная литература

Буч, Гради. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ : Пер. с англ. / Гради Буч; Ред. пер. И. Романовский, Ред. пер. Ф. Андреев. - 2-е изд. - М. : БИНОМ, 2000 ; СПб. : Невский Диалект, 2000. - 360 с. : ил.. (1 экземпляр в библиотеке ТУСУРа). Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб: Питер, 2007. — 366 с.: ил. Страуструп Бьерн. Язык программирования С++. Специальное издание. Спб : Бином, Невский Диалект, 2008. (1 экземпляр в библиотеке ТУСУРа).

12.2 Дополнительная литература

Фаулер M. UML. Основы, 3-е издание. – Пер. с англ. – СПб: Символ–Плюс, 2004. – 192 с.,ил. Иан Грэхем. Объектно-ориентированные методы. Принципы и практика. — 3-е изд. — М.: «Вильямс», 2004. — 880 с. Коплиен Дж. Мультипарадигменное программирование для C++. Библиотека программиста. – СПб.: Питер, 2005. — 235 с: ил. Коплиен Дж. Программирование на C++. Классика CS. Библиотека программиста. – СПб.: Питер, 2005. — 479 с: ил. истый код: создание, анализ и рефакторинг. Библиотека программиста. — СПб.: Питер, 2010. — 464 с: ил. Влиссидес Джон. Применение шаблонов проектирования. Дополнительные штрихи. – Пер. с англ. — М.: "Вильямс", 2003. — 144 с.: ил. Рамбо Дж. Унифицированный процесс разработки программного обеспечения. — СПб.: Питер, 2002. — 496 с: ил. Microsoft. Руководство Microsoft по проектированию архитектуры приложений. – Microsoft, 2009 – 529 c. ффективное использование C++. «ДМК», Москва, 2006 аиболее эффективное использование C++. «ДМК», Москва, 2000. ффективное использование STL. Библиотека программиста. – СПб.: Питер, 2002. — 224 с: ил. Керниган, Пайк, Роб. Практика программирования.: Пер. с англ. — М.: "Вильяме", 2004. — 288 с.: ил. овременное проектирование на C++. «Вильямс», 2002. асширение библиотеки STL для C++. Наборы и итераторы. «ДМК», Москва, 2008.

12.3 Учебно-методические пособия и программное обеспечение:

Для обеспечения дисциплины используются следующие УМП:

1. Надреев и технологии программирования [Электронный ресурс] : методические рекомендации к практическим занятиям для студентов, обучающихся по направлению 222000.68 «Инноватика» / . – 2012. 12 с. Режим доступа: на компакт-диске.

2. Надреев и технологии программирования [Электронный ресурс] : методические рекомендации к самостоятельным работам для студентов, обучающихся по направлению 222000.68 «Инноватика» / . – 2012. 7 с. Режим доступа: на компакт-диске.

3. Надреев и технологии программирования [Электронный ресурс] : учебное пособие для студентов, обучающихся по направлению 222000.68 «Инноватика» / . – 2012. 7 с. Режим доступа: на компакт-диске.

Программное обеспечение:

OC Microsoft Windows XP/7 OC Linux (Ubuntu  9.10) Microsoft Visual Studio 2008 Visual SVN Server (SVN сервер) TortoiseSVN (SVN клиент) gcc-toolchain (GNU Compiler Collection) GDB (Gnu debugger) Bugzilla (bug tracking system) Elecard System of project management

13. Материально-техническое обеспечение дисциплины: компьютеры на базе процессоров Intel архитектуры x86.