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

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

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

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

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

(МИ ВлГУ)

 

Кафедра  ПИн 

 

 

 

«   31   »       05       2016 г.

 

 

 

 

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

 

     Основы алгоритмизации и программирования     

 




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

09.03.04 Программная инженерия

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

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

бакалавр









          

Семестр

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

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

Лек-ции,

час.

 

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

час.

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

час.

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

час.

Конт-роль,

час.

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

час.

СРС,

час.

Форма

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

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

1

216 / 6  

48  

 

32  

6,8  

0,35  

87,15  

102,2  

Экз.(26,65)  

Итого

216 / 6  

48  

 

32  

6,8  

0,35  

87,15  

102,2  

26,65  

 

Муром, 2016 г.


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

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

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

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

Дисциплина «Информатика и программирование» обеспечивает изучение основных понятий теории алгоритмизации и программирования, а также принципов и методов программирования. Курс базируется на знаниях, полученных студентами в области естественно-научных и общепрофессиональных дисциплин. Базовые дисциплины: информатика, математический анализ. Углубление и расширение вопросов, изложенных в данном курсе, будет осуществляться во время работы студентов над дисциплинами: алгоритмы и структуры данных, базы данных, а также при написании бакалаврских работ.

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

ПК-1 готовность применять основные методы и инструменты разработки программного обеспечения.

 

В результате освоения дисциплины обучающийся должен демонстрировать следующие результаты образования:

1) Знать:

Методы и приемы алгоритмизации поставленных задач (ПК-1).

2) Уметь:

Использовать методы и приемы алгоритмизации поставленных задач (ПК-1).

3) Владеть:

навками разработка алгоритмов решения поставленных задач в соответствии с требованиями технического задания или других принятых в организации нормативных документов (ПК-1).

 


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

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

 

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

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

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

 

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


 

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

дисциплины

 

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

(в часах)

 

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

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

 

п\п

Семестр

Лекции

Семинары

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

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

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

СРС

КП / КР

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

Контроль

1

Этапы решения задач на ЭВМ. Критерии качества программы

1

2

4

5

Устный опрос

2

Жизненный цикл программы

1

2

4

9

Устный опрос

3

Способы записи алгоритма

1

2

4

5

Устный опрос

4

Процесс программирования

1

10

4

21

Устный опрос

5

Типы данных. Приведение типов

1

2

4

12

Устный опрос

6

Структура программы. Представление основных управляющих структур

1

4

4

21,2

Устный опрос

7

Подпрограммы. Процедуры и функции

1

2

4

7,2

Устный опрос

8

Модульные программы

1

2

4

21,8

Устный опрос

9

Структурированные типы данных

1

2

0

Устный опрос

10

Записи. Файлы

1

2

0

Устный опрос

11

Программирование на С++

1

18

0

Устный опрос

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

216

48

32

102,2

6,8

0,35

Экз.(26,65)

Итого   

216

48

32

102,2

6,8

0,35

26,65

 

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

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

Семестр 1

Раздел 1. Этапы решения задач на ЭВМ. Критерии качества программы

Лекция 1.

Основные этапы решения задач на ЭВМ, критерии качества программы (2 часа).

Раздел 2. Жизненный цикл программы

Лекция 2.

Жизненный цикл программы. Постановка задачи и спецификация программы. Анализ постановки задачи и ее предметной области. Формальное решение задачи. Алгоритмизация (2 часа).

Раздел 3. Способы записи алгоритма

Лекция 3.

Способы записи алгоритма. Визуальные алгоритмы. Представление основных управляющих структур программирования. Теорема структуры и структурное про-граммирование (2 часа).

Раздел 4. Процесс программирования

Лекция 4.

Процесс программирования: Программа на языке высокого уровня. Основные понятия языков программирования. Язык программирования С++ (2 часа).

Лекция 5.

Процесс программирования: Способы конструирования и верификации программ. Среда программирования Visual Studio. Событийная модель ОС Windows (2 часа).

Лекция 6.

Процесс программирования: Концепция объектно-ориентированного программирования (2 часа).

Лекция 7.

Процесс программирования: Анализ программ. Утверждения о программах. Корректность программ. Создание программы в Visual Studio (2 часа).

Лекция 8.

Процесс программирования: Принципы визуального программирования. Свойства и события. Основные понятия алгоритмического языка. Комментарии в программе. Директивы компилятора (2 часа).

Раздел 5. Типы данных. Приведение типов

Лекция 9.

Понятие типа данных. Приведение типов. Стандартные (простые) типы данных. Целые типы данных. Битовая арифметика. Вещественные типы данных. Логический тип данных. Символьный тип данных (2 часа).

Раздел 6. Структура программы. Представление основных управляющих структур

Лекция 10.

Структура программы. Представление основных управляющих структур (2 часа).

Лекция 11.

Константы. Переменные. Логические операторы. Структурное программирование. Правила вывода для основных структур программирования (2 часа).

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

Лекция 12.

Структурные операторы. Оператор условия. Операторы цикла. Инвариантные утверждения. Оператор выбора (2 часа).

Раздел 8. Модульные программы

Лекция 13.

Подпрограммы. Процедуры и функции. Рекурсивные определения и алгоритмы. Программирование рекурсивных алгоритмов. Модульное программирование. Модули. Модульные программы (2 часа).

Раздел 9. Структурированные типы данных

Лекция 14.

Структурированные типы данных. Массивы. Утверждения о массивах. Символьные массивы. Строковый тип данных. Множества (2 часа).

Раздел 10. Записи. Файлы

Лекция 15.

Записи. Файлы. Файловый тип. Индуктивные функции на последовательностях (файлах, массивах) (2 часа).

Раздел 11. Программирование на С++

Лекция 16.

Динамические переменные. Динамические структуры данных. Динамические массивы. Стеки. Очереди. Линейные списки: основные виды и способы реализации; линейный список как абстрактный тип данных. Программирование рекурсивных алгоритмов (2 часа).

Лекция 17.

Описание языка С++. Используемые символы. Ключевые слова. Идентификаторы (2 часа).

Лекция 18.

Базовые типы данных и объявление переменных. Объединения. Поля битов (2 часа).

Лекция 19.

Выражения и присваивание. Преобразование типов. Операции разадресации и адреса (2 часа).

Лекция 20.

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

Лекция 21.

Структура программы и классы памяти. Время жизни и область видимости программных объектов. Указатели и адресная арифметика. Операции с указателями (2 часа).

Лекция 22.

Директивы препроцессора. Include, define, undef (2 часа).

Лекция 23.

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

Лекция 24.

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

 

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

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

 

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

Семестр 1

Раздел 1. Этапы решения задач на ЭВМ. Критерии качества программы

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

Программирование линейных алгоритмов (4 часа).

Раздел 2. Жизненный цикл программы

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

Программирование разветвляющихся алгоритмов (4 часа).

Раздел 3. Способы записи алгоритма

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

Массивы (4 часа).

Раздел 4. Процесс программирования

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

Функции (4 часа).

Раздел 5. Типы данных. Приведение типов

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

Создание GUI на Visual C++ (4 часа).

Раздел 6. Структура программы. Представление основных управляющих структур

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

Диалоговые окна (4 часа).

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

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

Работа с компонентом Chart (4 часа).

Раздел 8. Модульные программы

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

Изучение вероятностных алгоритмов (4 часа).

 

https://www.mivlgu.ru/iop/course/view.php?id=437

 

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

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

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

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

1. Критерии качества программы. Жизненный цикл программы.

2. Постановка задачи и спецификация программы.

3. Составные части программного проекта.

4. Языки структурного программирования.

5. Корректность программ.

6. Утверждения о программах.

7. Способы описания подпрограмм. Передача параметров.

8. Варианты представления массивов. Утверждения о массивах.

9. Индуктивные функции на последовательностях (файлах, массивах).

10. Программирование динамических структур в ЯВУ.

11. Организация диалогов.

12. Способы конструирования и верификации программ.

13. Надежность программного средства. Источники ошибок в программных средствах. Обеспечение надежности.

 

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

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

 

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

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

 


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

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

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

 

Семестр

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

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

Лек-ции,

час.

 

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

час.

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

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

час.

Конт-роль,

час.

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

час.

СРС,

час.

Форма

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

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

1

103 / 2,86  

8  

 

12  

4  

0,5  

24,5  

75  

Зач.(3,5)  

2

113 / 3,14  

6  

 

20  

3  

0,6  

29,6  

75  

Экз.(8,4)  

Итого

216 / 6  

14  

 

32  

7  

1,1  

54,1  

150  

11,9  

 

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


 

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

дисциплины

 

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

(в часах)

 

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

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

 

п\п

Семестр

Лекции

Семинары

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

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

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

СРС

КП / КР

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

Контроль

1

Этапы решения задач на ЭВМ. Критерии качества программы

1

2

4

18

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

2

Жизненный цикл программы

1

2

4

19

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

3

Способы записи алгоритма

1

2

19

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

4

Процесс программирования

1

2

4

19

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

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

103

8

12

+

75

4

0,5

Зач.(3,5)

5

Процесс программирования

2

6

20

75

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

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

113

6

20

+

75

3

0,6

Экз.(8,4)

Итого   

216

14

32

150

7

1,1

11,9

 

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

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

Семестр 1

Раздел 1. Этапы решения задач на ЭВМ. Критерии качества программы

Лекция 1.

Основные этапы решения задач на ЭВМ, критерии качества программы (2 часа).

Раздел 2. Жизненный цикл программы

Лекция 2.

Жизненный цикл программы. Постановка задачи и спецификация программы. Анализ постановки задачи и ее предметной области. Формальное решение задачи. Алгоритмизация (2 часа).

Раздел 3. Способы записи алгоритма

Лекция 3.

Способы записи алгоритма. Визуальные алгоритмы. Представление основных управляющих структур программирования. Теорема структуры и структурное про-граммирование (2 часа).

Раздел 4. Процесс программирования

Лекция 4.

Процесс программирования: Программа на языке высокого уровня. Основные понятия языков программирования. Язык программирования С++ (2 часа).

Семестр 2

Раздел 5. Процесс программирования

Лекция 5.

Процесс программирования: Способы конструирования и верификации программ. Среда программирования Visual Studio. Событийная модель ОС Windows (2 часа).

Лекция 6.

Процесс программирования: Концепция объектно-ориентированного программирования (2 часа).

Лекция 7.

Процесс программирования: Анализ программ. Утверждения о программах. Корректность программ. Создание программы в Visual Studio (2 часа).

 

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

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

 

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

Семестр 1

Раздел 1. Этапы решения задач на ЭВМ. Критерии качества программы

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

Программирование линейных алгоритмов (4 часа).

Раздел 2. Жизненный цикл программы

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

Программирование разветвляющихся алгоритмов (4 часа).

Раздел 3. Процесс программирования

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

Массивы (4 часа).

Семестр 2

Раздел 4. Процесс программирования

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

Функции (4 часа).

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

Создание GUI на Visual C++ (4 часа).

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

Диалоговые окна (4 часа).

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

Работа с компонентом Chart (4 часа).

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

Изучение вероятностных алгоритмов (4 часа).

 

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

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

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

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

1. Критерии качества программы. Жизненный цикл программы.

2. Постановка задачи и спецификация программы.

3. Составные части программного проекта.

4. Языки структурного программирования.

5. Корректность программ.

6. Утверждения о программах.

7. Способы описания подпрограмм. Передача параметров.

8. Варианты представления массивов. Утверждения о массивах.

9. Индуктивные функции на последовательностях (файлах, массивах).

10. Программирование динамических структур в ЯВУ.

11. Организация диалогов.

12. Способы конструирования и верификации программ.

13. Надежность программного средства. Источники ошибок в программных средствах. Обеспечение надежности.

 

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

1. Разработка приложений с разветвляющимися алгоритмами.

2. Операторы цикла, создание приложения, производящего табулирование функции.

3. Одномерные и многомерные массивы.

 

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

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

 

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

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

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

 

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

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

 

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

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

1. C/C++. Программирование на языке высокого уровня: Учебник для вузов Авторы: Павловская Т. А. Санкт-Петербург: Питер, 2013 г. , 464 с. - http://ibooks.ru/reading.php?productid=344128

2. Профессиональное программирование. Системный подход, 2 изд. Авторы: Одинцов И. Санкт-Петербург: БХВ-Петербург, 2014 г. , 624 с. - http://ibooks.ru/reading.php?productid=18535

3. C/C++. Процедурное и объектно-ориентированное программирование. Учебник для вузов. Стандарт 3-го поколения Авторы: Павловская Т.А. Санкт-Петербург: Питер, 2015 г. , 496 с. - http://ibooks.ru/reading.php?productid=341427

 

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

1. Математическая логика и теория алгоритмов для программистов: учебное пособие : учебное пособие / Д.В. Гринченков, С.И. Потоцкий. — Москва : КноРус, 2010. — 206 с. — ISBN 978-5-406-00120-2. - https://www.book.ru/book/251601

 

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

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

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

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

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

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

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

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

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

- библиотека MSDN: http://msdn.microsoft.com

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

Лаборатория системного и прикладного программирования

Microsoft Visual Studio 2013 (подписка DreamSpark Premium Electronic Software Delivery (3 year) Renewal, договор №453 от 16.12.2014 года)

 

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

ibooks.ru

book.ru

 

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

Лаборатория системного и прикладного программирования

6 компьютеров Intel Core i5, 3500 MHz/ ОЗУ 4гб/ LG 21’;

1 компьютер Intel Core i5-2400 3,10 GHz, 4гб, DVD-R/ Philips 19’;

проектор ACER P1100 DLP Projector EMEA;

экран настенный;

 

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

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

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

 


лист_утверждения


РЕЦЕНЗИЯ

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

«Основы алгоритмизации и программирования»

по направлению подготовки 09.03.04 Программная инженерия

 

Рабочая программа дисциплины «Основы алгоритмизации и программирования» составлена в соответствии с требованиями федерального государственного образовательного стандарта по направлению подготовки 09.03.04 Программная инженерия.

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

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

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

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

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

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

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

Рабочая программа дисциплины «Основы алгоритмизации и программирования» рекомендуется для использования в учебном процессе по направлению подготовки 09.03.04 Программная инженерия.

 

31.05.2016 г.