Рабочая программа дисциплины Технология программирования (Наименование дисциплины)

Вид материалаРабочая программа

Содержание


1. Цели освоения дисциплины
Цель направления 2.
Цель направления 3.
Цель 1 профиля.
2. Место дисциплины в структуре ООП по направлению подготовки 220400.62 «Управление в технических системах».
3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Технология программирования»
4. Структура и содержание дисциплины «Технология программирования».
4.1. Разделы дисциплины и виды занятий
Формы текущего контроля успеваемости (по неделям семестра)
Введение. Объектно-ориентированное программирование как технология программирования
Дружественные функции и перегрузка операций.
Производные классы.
Классы потоков С++.
Параметризованные типы и функции.
Обработка исключительных ситуаций.
Библиотеки классов на С++.
Технология программирования.
5. Образовательные технологии
6.1. Лабораторные занятия
6.2. Индивидуальные занятия
...
Полное содержание
Подобный материал:
МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ В Г. ТАГАНРОГЕ

(ТТИ Южного федерального университета)

Факультет автоматики и вычислительной техники


УТВЕРЖДАЮ


Декан ФАВТ ______________ Ю.М. Вишняков


"_____"__________________2011 г.


Рабочая программа дисциплины


Технология программирования

(Наименование дисциплины)


Направление подготовки

220400.62 «Управление в технических системах»


Профиль подготовки


Управление и информатика в технических системах


Квалификация (степень) выпускника

Бакалавр


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


Очная

(очная, очно-заочная и др.)


г. Таганрог

2011

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


Целью освоения дисциплины «Технология программирования» является приобретение студентами знаний об объектно-ориентированном подходе в программировании, освоение возможностей языка С++ с концентрацией на решении объектно-ориентированных проблем, изучение жизненного цикла программного обеспечения, технология составления и использования технического задания.

Изучение данной дисциплины будет способствовать достижению целей 2 и 3 основной образовательной программы по направлению подготовки 220400.62 «Управление в технических системах»:

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

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

а также будет способствовать достижению локальной цели профиля подготовки «Управление и информатика в технических системах»:

Цель 1 профиля. Развитие у студентов теоретических знаний и практических навыков, позволяющих выпускникам понимать и применять фундаментальные и передовые знания и научные принципы, лежащие в основе современных средств и систем автоматизации и управления при формулировании и решении инженерных задач;


2. Место дисциплины в структуре ООП по направлению подготовки 220400.62 «Управление в технических системах».


Дисциплина «Технология программирования» относится к профессиональному циклу ООП. Дисциплина по выбору.

В процессе изучения дисциплины студенты знакомятся с: современными программными средствами разработки и проектирования и отладки; проблемами и направлениями развития технологии программирования; основными методами и средствами автоматизации проектирования программного обеспечения и прикладных систем; методами организации работы в коллективах разработчиков программного обеспечения; использованием дополнительных пакетов и библиотек при программировании; современными объектно-ориентированными алгоритмическими языками, их области применения и особенностях.

Дисциплина базируется на понятиях, изучаемых в дисциплинах: «Основы информатики», «Программирование и основы алгоритмизации». Для освоения дисциплины студенту необходимо владеть основами применения различных систем счисления, иметь общее представление о типах данных, используемых в прикладном программировании, уметь работать в прикладных офисных программах.

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


3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Технология программирования»:


Выпускник должен обладать следующими профессиональными компетенциями:

– способностью владеть основными методами, способами и средствами получения, хранения, переработки информации, иметь навыки работы с компьютером как средством управления информацией (ОК-12);

– способностью разрабатывать информационное обеспечение систем с использованием стандартных СУБД (ПК-11);


В результате освоения дисциплины обучающийся должен:
  • Знать: этапы производства программного продукта, методы и средства тестирования программ, способы эффективной реализации абстрактных структур данных, организацию файловых систем, основные приемы сборочного программирования, методы организации работы в коллективах разработчиков, принципы построения, структуры и приемы работы с инструментальными средствами, поддерживающими разработку программного обеспечения; преимущества использования объектно-ориентированного подхода при создании сложных программных продуктов.
  • Уметь использовать: основные модели, методы и средства информационных технологий и способы их применения для решения задач в предметных областях; современные готовые библиотеки классов; современные системные программные средства, технологии и инструментальные средства.
  • Владеть: Объектно-ориентированными методами и средствами разработки алгоритмов и программ, способами отладки, испытания и документирования программ;
  • Демонстрировать способность и готовность: К составлению технического задания и проекта информационной системы.


4. Структура и содержание дисциплины «Технология программирования».


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


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

Всего часов

Общая трудоемкость дисциплины

108/ 3 ЗЕТ

Аудиторные занятия

36

- лекции

18

- практические занятия




- лабораторные работы

18

- другие виды аудиторных занятий




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

22

Курсовой проект (работа)

-

Контроль самостоятельной работы

18

Аттестация





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




п/п


Раздел

Дисциплины

Семестр

Неделя семестра

Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах)

Формы текущего контроля успеваемости (по неделям семестра)

Форма промежуточной аттестации (по семестрам)

лек

лаб

пр

СРС

КСР


Введение. Объектно-ориентированное программирование как технология программирования

3

1

2

2

-

1




Собеседование, Л/Р, тестирование, устный опрос.


Расширение языка С.

3

1

2


Классы.

3

3

2

1

2

Собеседование, Л/Р, тестирование, устный опрос.


Дружественные функции и перегрузка операций.

3

2

1

2


Производные классы.

3

5

2

2

Собеседование, Л/Р, тестирование, устный опрос.


Классы потоков С++.

3

2

2


Параметризованные типы и функции.

3

7

4

4

2

2

Собеседование, Л/Р, тестирование, устный опрос.


Обработка исключительных ситуаций.

3

1

2


Библиотеки классов на С++.

3

9

1

2

Собеседование, Л/Р, тестирование, устный опрос.


Технология программирования.

3

11,

13,

15,

17,

18.

10

10

10

2

Собеседование, Л/Р, Практическое задание для коллективного выполнения.

ИТОГО

18

18

-




18





Раздел 1.Введение. Объектно-ориентированное программирование как технология программирования.

Парадигма программирования. Модульное программирование. Нисходящее программирование. Структурное программирование. Абстракция данных. Понятия объекта, класса объектов. Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм.

Раздел 2. Расширение языка С.

Прототипы функций. Перегрузка функций. Значения формальных параметров по умолчанию. Ссылки и параметры-ссылки. Объявления переменных. Встраиваемые функции. Операции new и delete.

Раздел 3. Классы.

Краткий обзор. Функции-члены и данные-члены. Интерфейсы и реализация. Конструкторы и деструкторы. Инициализация и очистка. Конструктор без параметров (по умолчанию). Конструктор копирования. Указатель this. Статические члены: функции и данные. Указатели на члены. Структуры и объединения. Константные члены-функции и константные объекты.

Раздел 4. Дружественные функции и перегрузка операций.

Функции-друзья. Перегрузка бинарных и унарных операций. Перегруженные операции индексирования, вызова функций, инкремента и декремента префиксных и постфиксных, разадресации. Перегрузка new, delete. Преобразование типов, определяемых пользователем с помощью конструкторов и операций преобразования. Неявное преобразование типов. Друзья-функции и друзья-классы.

Раздел 5. Производные классы.

Наследование классов и производные классы. Конструкторы, деструкторы и наследование. Иерархия классов. Виртуальные функции. Полиморфизм. Абстрактные классы и чистые виртуальные функции. Множественное наследование. Виртуальные базовые классы. Контроль доступа.

Раздел 6. Классы потоков С++.

Заголовочные файлы. Предопределенные объекты и потоки. Операции помещения и извлечения. Форматирование. Флаги форматирования. Манипуляторы. Ошибки потоков. Файловый ввод-вывод с применением потоков С++. Конструкторы файловых потоков. Открытие файлов в разных режимах. Ввод-вывод в файлы. Форматирование в памяти.

Раздел 7. Параметризованные типы и функции.

Шаблоны функций. Шаблоны классов. Параметры шаблонов. Наследование и шаблоны.

Раздел 8. Обработка исключительных ситуаций.

Обработка ошибок в стандартном С. Распознавание ситуаций. Использование assert, кодов возврата, сигналов, setjmp и longjmp. Использование set_new_handler(). Объектно-ориентированная обработка исключений. Применение try, catch, throw. Раскрутка стека. Стандартные исключения в С++. Работа с конструкторами и исключениями. Функции terminate(), unexpected().

Раздел 9. Библиотеки классов на С++.

Библиотека для организации ввода вывода в потоки (iostream, fstream). Библиотека контейнерных классов. Библиотека шаблонов контейнеров в Visual С++ и Watcom C++. .NET для построения приложений под WINDOWS.

Раздел 10. Технология программирования.

Понятие программного обеспечения. Отдельные виды программного обеспечения Прикладное программное обеспечение. Системное программное обеспечение. Инструментальное программное обеспечение. Жизненный цикл программы. Разработка программного обеспечения. Характеристики программ. Определение требований. Проблемы проектирования сложных программных средств. Этапы проектирования. Слои конечного продукта. Параллельная разработка. Итерации при проектировании. Детализация требований. Уровни проектирования. Документирование проектирования. Понятие технологии проектирования. Структурное проектирование программных средств. Верификация и тестирование. Документирование проекта. Руководство разработкой программных проектов. Время разработки программ. Разработка программных компонент. Взаимодействие модулей. Сложность и корректность программ. Программные ошибки. Комплексная отладка программ. Испытания и сопровождение программных продуктов. Подготовка программы к эксплуатации. Усовершенствование программных продуктов. Эксплуатационная документация. Операционная документация. Торговая документация. Вопросы маркетинга программных средств.


5. Образовательные технологии


Используется:

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

2. при проведении практических и лабораторных занятий – интерактивная доска, пакеты прикладных программ для разработки программного обеспечения (среда разработки Visual Studio);

3. Решение типовых задач в среде Visual Studio c примерами на языке C#.

4. В электронном виде используется интерактивные учебные материалы по лабораторным работам курса «Технология программирования», что стимулирует академическую активность обучающихся.

5. Анализируются интерактивные блоки программ в виде модулей для проверки.

6. В локальной сети кафедры САУ применяются интерактивные электронные обучающие системы для самостоятельной проработки материала и самоконтроля студента.

7. Для рейтингового контроля успеваемости используется программа электронного тестирования.


6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов


6.1. Лабораторные занятия




Раздел

дисциплины

Наименование работы

Часов

1

1-3

Pабота с пpоектами в сpеде Visual Studio C++. Использование классов в С++.

4

2

4-6

Наследование и полиморфизм.

5

3

7-9

Обработка исключительных ситуаций на С++.

5

4

10

Разработка комплексного программного приложения.

2


Для лабораторных работ оформляется стандартный отчет. Выполнение любой лабораторной работы заканчивается ее защитой. Максимальной оценкой за выполненную и защищенную лабораторную работу является 5, минимальной – 3. Оценка 5 подразумевает полное знание принципов работы соответствующей технологии или алгоритма и их взаимодействия с другими подсистемами в подзадачами, практическое умение реализовать данный алгоритм или технологию на уровне языка C#. Оценка 3 предполагает знание основных принципов работы соответствующей технологии или алгоритма.


6.2. Индивидуальные занятия


Индивидуальные занятия по курсу проводятся в индивидуальном порядке в соответствии с целями и задачами дисциплины. В рамках курса «Технология программирования» предусмотрено выполнение индивидуального задания «Разработка комплексного прикладного приложения для решения задач управления»:


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


6.3.1. Аннотация к тестовым заданиям


Тестовые задания по учебной дисциплине «Технология программирования» содержат 200 вопросов по теоретическим и практическим разделам курса и включают в себя вопросы следующих типов: выбор правильного ответа, установление правильной последовательности, сопоставление значений, ввод правильного ответа.

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


7. Учебно-методическое и информационное обеспечение дисциплины «Технология программирования».


а) основная литература:

1. Фленов М. Е. Библия C#. Дата издания: 2011, ISBN: 978-5-9775-0655-7, Издатель/Изготовитель: BHV-CПб

2.  Заботина Н. Н. Проектирование информационных систем, Серия: Высшее образование, Дата издания: 2011, ISBN: 978-5-16-004509-2, Издатель/Изготовитель: ИНФРА-М

    3. Брукс Ф.П. мл. Как проектируются и создаются программные комплексы. - М.: Наука, 1979.

4. Материалы представленные на сайте /kmi



    б) дополнительная литература:

1. Турский В. Методология программирования. 2008.


в) программное обеспечение и Интернет-ресурсы:

.NET FrameWork, Visual Studio.

oding.net/

manual.ru/

on.ru

on.ru/digest/java

nsu.ru


8. Материально-техническое обеспечение дисциплины


Для проведения занятий по курсу «Технология программирования» используется лаборатория Г-341а кафедры САУ, задействуются 10 персональных компьютеров.


Компьютерные программы .NET FrameWork, Visual Studio.


Рабочая программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению подготовки 220400.62 «Управление в технических системах» профили подготовки «Управление и информатика в технических системах».


Автор ____________________________ Крючек М.И.


Зав. кафедрой _________________________ Финаев В.И.


Программа одобрена на заседании УМК ФАВТ от 20.01.2011 года, протокол № 1.