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

Муромский институт (филиал)

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

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

имени Александра Григорьевича и Николая Григорьевича Столетовых»

(МИ ВлГУ)

 

Кафедра  ИС 

 

 

 

«   04   »       06       2019 г.

 

 

 

 

Рабочая программа ДИСЦИПЛИНЫ

 

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

 




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

09.03.02 Информационные системы и технологии

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

Информационные системы и технологии

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

бакалавр









          

Семестр

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

час. / зач. ед.

Лек-ции,

час.

 

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

час.

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

час.

Консуль-тация,

час.

Конт-роль,

час.

Всего (контак-тная работа),

час.

СРС,

час.

Форма

промежу-точного контр.

(экз., зач., зач. с оц.)

1

288 / 8  

36  

 

32  

5,6  

0,35  

73,95  

178,4  

Экз.(35,65)  

Итого

288 / 8  

36  

 

32  

5,6  

0,35  

73,95  

178,4  

35,65  

 

Муром, 2019 г.


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

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

Задачи дисциплины:

В результате освоения курса «Технологии программирования» студенты должны иметь представление:

- О принципах создания программ на языках высокого уровня;

- О простых и сложных типах данных;

- Об алгоритмизации и основных способах представления алгоритмов;

- Об основных структурных элементах программы (циклы, условия, процедуры и функции);

- Об основных типах вычислительных процессов;

- Об особенностях создания программ на языке C++.

2. Место дисциплины в структуре ОПОП ВО (Цикл (Б1.О.27))

Дисциплина «Технологии программирования» обеспечивает понимание основ проектирования и написания программ для ЭВМ на языках программирования высокого уровня на примере языка C++. Курс базируется на знаниях, полученных студентами в процессе изучения основных дисциплин школьного общеобразовательного курса, а также дисциплин «Информатика», «Математика». Углубление и расширение вопросов, изложенных в данном курсе, будет осуществляться во время работы студентов над дисциплинами: «Объектно-ориентированное программирование» «Функциональное программирование», «Архитектура микропроцессоров и язык Ассемблер», «Системное программное обеспечение» и других, а также при написании бакалаврских работ.

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

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

ОПК-6 Способен разрабатывать алгоритмы и программы, пригодные для практического применения в области информационных систем и технологий;.

 

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

ОПК-6.1 Демонстрирует знания алгоритмизации, языков и технологий программирования, пригодных для практического применения в области информационных систем и технологий.

ОПК-3.2 Умеет применять знания приемов безопасной работы в сети Интернет при поиске информации, связанной с профессиональной деятельностью.

ОПК-6.2 Умеет применять методы алгоритмизации, языки и технологии программирования при решении профессиональных задач в области информационных систем и технологий.

ОПК-6.3 Владеет навыками программирования, отладки и тестирования прототипов программно-технических комплексов.

 


4. Структура и содержание дисциплины

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

 

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

Уровень базового образования: среднее общее.

Срок обучения 4г.

 

4.1.1. Структура дисциплины


 

Раздел (тема)

дисциплины

 

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

(в часах)

 

Форма  текущего контроля успеваемости (по неделям семестра), форма промежуточной аттестации

  (по семестрам)

 

п\п

Семестр

Лекции

Семинары

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

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

Контрольные работы

СРС

КП / КР

Консультация

Контроль

1

Принципы решения задач на ЭВМ

1

2

0

устный опрос, тестирование

2

Методы проектирования базовых и прикладных ИТ

1

2

7

Устный опрос, тестирование

3

Представление алгоритмов обработки информации

1

2

2

Устный опрос, тестирование

4

Написание программ для ЭВМ

1

2

0

Устный опрос, тестирование

5

Основы С++

1

4

0

Устный опрос, тестирование

6

Механизмы ввода-вывода

1

2

8

2

Устный опрос, тестирование, лабораторные работы

7

Ветвления и циклы

1

4

0

Устный опрос, тестирование,

8

Массивы, строки и указатели

1

4

8

0

Устный опрос, тестирование, лабораторные работы

9

Функции

1

4

8

25

Устный опрос, тестирование, лабораторные работы

10

Директивы препроцессора

1

2

0

Устный опрос, тестирование

11

Объектно-ориентированное программирование

1

4

8

93

Устный опрос, тестирование,лабораторные работы

12

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

1

2

0

Устный опрос, тестирование

13

Отладка программ. Методы тестирования

1

2

49,4

Устный опрос, тестирование

Всего за  семестр

288

36

32

178,4

5,6

0,35

Экз.(35,65)

Итого   

288

36

32

178,4

5,6

0,35

35,65

 

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

4.1.2.1. Перечень лекций

Семестр 1

Раздел 1. Принципы решения задач на ЭВМ

Лекция 1.

Введение. принципы решения задач на ЭВМ (2 часа).

Раздел 2. Методы проектирования базовых и прикладных ИТ

Лекция 2.

Методы проектирования базовых и прикладных информационных технологий (2 часа).

Раздел 3. Представление алгоритмов обработки информации

Лекция 3.

История развития языков программирования. Синтаксис языка C++. Алфавит языка (2 часа).

Раздел 4. Написание программ для ЭВМ

Лекция 4.

Основы C++. История возникновения. Алфавит и идентификаторы. Основные типы данных. Объявление переменных. Время существования и область видимости переменных (2 часа).

Раздел 5. Основы С++

Лекция 5.

Основы C++. Комментарии. Операции, выражения и операторы. Приведение типов. Ключевое слово typedef. Перечисления (2 часа).

Лекция 6.

Механизмы ввода-вывода (2 часа).

Раздел 6. Механизмы ввода-вывода

Лекция 7.

Ветвления и циклы. Операторы выбора (2 часа).

Раздел 7. Ветвления и циклы

Лекция 8.

Операторы цикла. Оператор безусловного перехода (2 часа).

Лекция 9.

Указатели. Адресная арифметика. Работа с динамической памятью (2 часа).

Раздел 8. Массивы, строки и указатели

Лекция 10.

Одномерные массивы. Многомерные массивы (2 часа).

Лекция 11.

Указатели и массивы. Строки. Динамические массивы. Ссылки (2 часа).

Раздел 9. Функции

Лекция 12.

Объявление, определение и вызов функции. Передача аргументов по значению. Передача аргументов через указатель. Передача аргументов по ссылке (2 часа).

Лекция 13.

Аргументы по умолчанию. Рекурсивные функции (2 часа).

Раздел 10. Директивы препроцессора

Лекция 14.

Встраиваемые функции. Перегрузка функций. Шаблоны функций (2 часа).

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

Лекция 15.

Директива #include. Директива #define. Директивы условной компиляции (2 часа).

Лекция 16.

Основные принципы ООП. Объявление класса. Использование класса. Объекты (2 часа).

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

Лекция 17.

Конструкторы. Деструкторы. Структуры. Объединения (2 часа).

Раздел 13. Отладка программ. Методы тестирования

Лекция 18.

Генерация и перехват исключений. Генерация исключений внутри функций. Повторная гене-рация исключения. Стандартные и собственные классы исключений (2 часа).

 

4.1.2.2. Перечень практических занятий

Не планируется.

 

4.1.2.3. Перечень лабораторных работ

Семестр 1

Раздел 1. Механизмы ввода-вывода

Лабораторная 1.

Типы данных и структуры программы. Вычисление простого и условного выражений (4 часа).

Лабораторная 2.

Табулирование функции (4 часа).

Раздел 2. Массивы, строки и указатели

Лабораторная 3.

Работа с битами. Одномерные и двумерные массивы (4 часа).

Лабораторная 4.

Структуры (4 часа).

Раздел 3. Функции

Лабораторная 5.

Функции. Перегрузка функций. Шаблоны функций (4 часа).

Лабораторная 6.

Файлы и строки (4 часа).

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

Лабораторная 7.

Динамические структуры данных (4 часа).

Лабораторная 8.

Разработка объектно-ориентированной программы (4 часа).

 

Методические указания к лабораторным работам приведены в https://www.mivlgu.ru/iop/course/view.php?id=532

 

4.1.2.4. Перечень учебно-методического обеспечения для самостоятельной работы

Методические указания для самостоятельной работы размещены на информационно-образовательном портале института по ссылке https://www.mivlgu.ru/iop/course/view.php?id=5058.

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

Перечень тем, вынесенных на самостоятельное изучение:

1. Запись алгоритмов в виде структурограмм.

2. Компиляторы и интерпретаторы: особенности, преимущества, недостатки.

3. Рекомендации по оформлению программ на C++.

4. Использование библиотеки STL для работы с классами - контейнерами.

5. Возвращение функциями указателей. Указатели на указатели.

6. Обработка аргументов командной строки с использованием параметров функции main().

7. Спецификаторы const и volatile.

8. Копирующий конструктор.

9. Перегрузка операторов.

10. Наследование. Доступ к членам родительского класса. Множественное наследова-ние. Виртуальные функции.

11. Использование потоков ввода-вывода для работы с файлами.

12. Шаблоны классов.

13. Пространства имён.

14. Принципы написания эффективного кода программ для поддержки систем в работоспособном состоянии.

15. Виды тестов и принципы тестирования программных продуктов.

 

4.1.2.5. Перечень тем контрольных работ, рефератов, ТР, РГР, РПР

Не планируется.

 

4.1.2.6. Примерный перечень тем курсовых работ (проектов)

Не планируется.

 


4. 2. Форма обучения: заочная

Уровень базового образования: среднее профессиональное.

Срок обучения 3г 6м.

 

Семестр

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

час. / зач. ед.

Лек-ции,

час.

 

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

час.

Лабора-торные работы, час.

Консуль-тация,

час.

Конт-роль,

час.

Всего (контак-тная работа),

час.

СРС,

час.

Переат-теста-ция

Форма

промежу-точного контроля

(экз., зач., зач. с оц.)

1

288 / 8  

12  

 

12  

6  

0,6  

30,6  

212,75  

36  

Экз.(8,65)  

Итого

288 / 8  

12  

 

12  

6  

0,6  

30,6  

212,75  

36  

8,65  

 

4.2.1. Структура дисциплины


 

Раздел (тема)

дисциплины

 

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

(в часах)

 

Форма  текущего контроля успеваемости (по неделям семестра), форма промежу-точной аттестации

  (по семестрам)

 

п\п

Семестр

Лекции

Семинары

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

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

Контрольные работы

СРС

КП / КР

Консультация

Контроль

1

Принципы решения задач на ЭВМ

1

4

17

устный опрос, тестирование, лабораторные работы

2

Методы проектирования базовых и прикладных ИТ

1

2

40

Устный опрос, тестирование, лабораторные работы

3

Представление алгоритмов обработки информации

1

4

15

Устный опрос, тестирование

4

Написание программ для ЭВМ

1

2

Устный опрос, тестирование

5

Основы С++

1

4

Устный опрос, тестирование

6

Механизмы ввода-вывода

1

4

14

Устный опрос, тестирование

7

Ветвления и циклы

1

30

Устный опрос, тестирование

8

Массивы, строки и указатели

1

4

20

Устный опрос, тестирование

9

Функции

1

4

20

Устный опрос, тестирование

10

Директивы препроцессора

1

15

Устный опрос, тестирование

11

Объектно-ориентированное программирование

1

14

Устный опрос, тестирование

12

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

1

23,75

Устный опрос, тестирование

Всего за  семестр

252

12

12

+

212,75

6

0,6

Экз.(8,65)

Итого   

252

12

12

212,75

6

0,6

8,65

Итого с переаттестацией   

288

 

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

4.2.2.1. Перечень лекций

Семестр 1

Раздел 1. Принципы решения задач на ЭВМ

Лекция 1.

Язык C++. Приоритеты операций. Арифметические, логические, побитовые операции (2 часа).

Лекция 2.

Типы данных. Операторы if, while, for. Массивы (2 часа).

Раздел 2. Методы проектирования базовых и прикладных ИТ

Лекция 3.

Указатели. Адресная арифметика. Динамическое распределение памяти (2 часа).

Раздел 3. Представление алгоритмов обработки информации

Лекция 4.

Структуры. Функции. Определение и вызов функций (2 часа).

Лекция 5.

Механизмы ввода-вывода. Директивы препроцессора (2 часа).

Раздел 4. Написание программ для ЭВМ

Лекция 6.

Объектно-ориентированное программирование (2 часа).

 

4.2.2.2. Перечень практических занятий

Не планируется.

 

4.2.2.3. Перечень лабораторных работ

Семестр 1

Раздел 1. Механизмы ввода-вывода

Лабораторная 1.

Типы данных и структуры программы. Вычисление простого и условного выражений (4 часа).

Раздел 2. Массивы, строки и указатели

Лабораторная 2.

Табулирование функции (4 часа).

Раздел 3. Функции

Лабораторная 3.

Работа с битами. Одномерные и двумерные массивы (4 часа).

 

4.2.2.4. Перечень учебно-методического обеспечения для самостоятельной работы

Методические указания для самостоятельной работы размещены на информационно-образовательном портале института по ссылке https://www.mivlgu.ru/iop/course/view.php?id=5058.

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

Перечень тем, вынесенных на самостоятельное изучение:

1. Запись алгоритмов в виде структурограмм.

2. Компиляторы и интерпретаторы: особенности, преимущества, недостатки.

3. Рекомендации по оформлению программ на C++.

4. Использование библиотеки STL для работы с классами - контейнерами.

5. Возвращение функциями указателей. Указатели на указатели.

6. Обработка аргументов командной строки с использованием параметров функции main().

7. Спецификаторы const и volatile.

8. Копирующий конструктор.

9. Перегрузка операторов.

10. Наследование. Доступ к членам родительского класса. Множественное наследова-ние. Виртуальные функции.

11. Использование потоков ввода-вывода для работы с файлами.

12. Шаблоны классов.

13. Пространства имён.

14. Принципы написания эффективного кода программ для поддержки систем в работоспособном состоянии.

15. Виды тестов и принципы тестирования программных продуктов.

 

4.2.2.5. Перечень тем контрольных работ, рефератов, ТР, РГР, РПР

1. Методы сортировки.

2. Использование отладчика GDB.

3. Компилятор GCC.

4. Сборка программ с использованием Makefile.

5. Восходящее программирование.

6. Нисходящее программирование.

7. Модульное программирование.

8. Способы доказательства правильности.

9. Отладка программ.

10. Стили оформления программ на C++.

11. Интерфейс Windows API.

12. Язык текстовой разметки XML.

13. Работа с файлами в C++.

14. Работа со строками в C++.

15. Регулярные выражения в C++.

16. Стандартная библиотека шаблонов (STL).

17. Сложные структуры данных: бинарные деревья.

18. Полнотекстовый поиск.

19. Системы контроля версий.

20. Макросы в C++.

21. Работа с динамической памятью в C++.

22. Проблемы переноса программ на 64-битные платформы.

23. Виды списков и способы их реализации в C++.

 

4.2.2.6. Примерный перечень тем курсовых работ (проектов)

Не планируется.

 

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

В процессе изучения дисциплины Технологии программирования применяется контактная технология преподавания (за исключением самостоятельно изучаемых студентами вопросов). При проведении лабораторных работ применяется имитационный или симуляционный подход, когда преподавателем разбирается на конкретном примере проблемная ситуация, все шаги решения задачи студентам демонстрируются при помощи мультимедийной техники. Затем студенты самостоятельно решают аналогичные задания.

Во время выполнения лабораторных работ каждому студенту выдается конкретное задание, тем самым формируется способность обучающихся к самостоятельной работе при решений определенных задач, связанных с изучением основ программирования на языке C++.

 

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

Фонды оценочных средств приведены в приложении.

 

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

7.1. Основная учебно-методическая литература по дисциплине

1. Павловская Т.А. Программирование на языке высокого уровня C# [Электронный ресурс]/ Павловская Т.А.— Электрон. текстовые данные.— Москва: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016.— 245 c. - http://www.iprbookshop.ru/73713.html

2. Баженова И.Ю. Введение в программирование [Электронный ресурс]: учебное пособие/ Баженова И.Ю., Сухомлин В.А.— Электрон. текстовые данные.— Москва: Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2020.— 326 c. - http://www.iprbookshop.ru/97539.html

 

7.2. Дополнительная учебно-методическая литература по дисциплине

1. Канунова Е.Е., Стулов Н. Н Информатика и программирование: учебное пособие. В 2-х ча-стях [Гриф]. Ч.1. / Канунова Е.Е., Стулов Н. Н, Стулов Н. Н - Муром: ИПЦ МИ ВлГУ, 2008. - 74c. - 60 экз.

2. Канунова Е.Е., Стулов Н. Н Информатика и программирование: учебное пособие. В 2-х частях [Гриф]. Ч.2. / Канунова Е.Е., Стулов Н. Н, Стулов Н. Н - Муром: ИПЦ МИ ВлГУ, 2008. - 72c. - 60 экз.

3. Информатика и программирование: метод. указания к лабораторным работам / сост.: Е.Е.Канунова- Муром: Изд.-полиграфический центр МИ ВлГУ, 2010. – 78 с. - 100 экз.

4. Информатика [Электронный ресурс]: учебное пособие для СПО/ — Электрон. текстовые данные.— Саратов: Профобразование, 2021.— 171 c. - http://www.iprbookshop.ru/99928.html

5. Фарафонов А.С. Программирование на языке высокого уровня [Электронный ресурс]: методические указания к проведению лабораторных работ по курсу «Программирование»/ Фарафонов А.С.— Электрон. текстовые данные.— Липецк: Липецкий государственный технический университет, ЭБС АСВ, 2013.— 32 c. - http://www.iprbookshop.ru/22912.html

 

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

В образовательном процессе используются информационные технологии, реализованные на основе информационно-образовательного портала института (www.mivlgu.ru/iop), и инфокоммуникационной сети института:

- предоставление учебно-методических материалов в электроном виде;

- взаимодействие участников образовательного процесса через локальную сеть института и Интернет;

- предоставление сведений о результатах учебной деятельности в электронном личном кабинете обучающегося.

Информационные справочные системы:

- электронная библиотечная системы "IPRBooks" (http://www.iprbookshop.ru/);

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

не предусмотрено

 

7.4. Перечень ресурсов информационно-телекоммуникационной сети «Интернет», необходимых для освоения дисциплины

iprbookshop.ru

 

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

 

9. Методические указания по освоению дисциплины

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

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

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

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

 



РЕЦЕНЗИЯ

на  рабочую программу дисциплины

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

по направлению подготовки 09.03.02 Информационные системы и технологии

 

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

На изучение данного курса по учебному плану отводится 288 час. (8 ЗЕТ). Формой итогового контроля изучения дисциплины является экзамен .

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

Задачи дисциплины:

В результате освоения курса «Технологии программирования» студенты должны иметь представление:

- О принципах создания программ на языках высокого уровня;

- О простых и сложных типах данных;

- Об алгоритмизации и основных способах представления алгоритмов;

- Об основных структурных элементах программы (циклы, условия, процедуры и функции);

- Об основных типах вычислительных процессов;

- Об особенностях создания программ на языке C++.

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

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

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

Перечень учебно-методической литературы достаточен для изучения дисциплины. Имеются ссылки на электронно-библиотечные системы.

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

 

04.06.2019 г.