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

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

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

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

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

(МИ ВлГУ)

 

Кафедра  ПИн 

 

 

 

«   31   »       05       2016 г.

 

 

 

 

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

 

     Автоматное программирование     

 




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

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

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

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

бакалавр









          

Семестр

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

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

Лек-ции,

час.

 

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

час.

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

час.

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

час.

Конт-роль,

час.

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

час.

СРС,

час.

Форма

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

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

4

180 / 5  

20  

10  

28  

4  

2,35  

64,35  

89  

Экз.(26,65)  

Итого

180 / 5  

20  

10  

28  

4  

2,35  

64,35  

89  

26,65  

 

Муром, 2016 г.


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

Цель дисциплины: В курсе «Автоматное программирование» рассматриваются основные идеи и понятия, описываются математические основы автоматного программирования. Выполняется обзор традиционных областей применения конечных автоматов. Использование автоматного программирования целесообразно для целого ряда задач. Автоматные модели, используемые при создании различных видов программных систем, могут отличаться друг от друга. По этой причине, отдельно описываются различия автоматных моделей. Также рассматривается процедурное программирование с явным выделением состояний и объектно-ориентированное программирование с явным выделением состояний.

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

Для успешного освоения дисциплины студент должен иметь предварительную подготовку по дисциплине объектно-ориентированное программирование

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

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

 

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

1) Знать:

основные принципы парадигмы автоматного программирования, типы автоматных моделей, основные методики реализации конечных автоматов (ПК-3).

2) Уметь:

строить специализированные автоматные модели, а также реализовывать построенные автоматные модели на языках программирования (ПК-3).

3) Владеть:

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

 


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

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

 

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

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

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

 

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


 

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

дисциплины

 

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

(в часах)

 

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

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

 

п\п

Семестр

Лекции

Семинары

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

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

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

СРС

КП / КР

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

Контроль

1

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

4

2

4

15

Устный опрос

2

Автоматные модели

4

2

2

8

Устный опрос

3

Логическое управление

4

2

2

15

Устный опрос

4

Программирование с явным выделением состояний

4

6

2

20

15

Устный опрос

5

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

4

2

2

14

Устный опрос

6

Верификация автоматных программ

4

2

7

Устный опрос

7

Классы задач

4

4

2

4

15

Устный опрос

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

180

20

10

28

89

+

4

2,35

Экз.(26,65)

Итого   

180

20

10

28

89

4

2,35

26,65

 

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

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

Семестр 4

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

Лекция 1.

Основные понятия автоматного программирования (2 часа).

Раздел 2. Автоматные модели

Лекция 2.

Автоматные модели. Конечные автоматы. Абстрактные автоматы (2 часа).

Раздел 3. Логическое управление

Лекция 3.

Логическое управление. Задачи логического управления (2 часа).

Раздел 4. Программирование с явным выделением состояний

Лекция 4.

Процедурное программирование с явным выделением состояний (2 часа).

Лекция 5.

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

Лекция 6.

Спецификации. Спецификация структуры. Спецификация поведения (2 часа).

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

Лекция 7.

Инструментальные средства автоматного программирования (2 часа).

Раздел 6. Верификация автоматных программ

Лекция 8.

Верификация автоматных программ (2 часа).

Раздел 7. Классы задач

Лекция 9.

Классы задач. Генетические алгоритмы (2 часа).

Лекция 10.

Конечные автоматы в JavaScript (2 часа).

 

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

Семестр 4

Раздел 1. Автоматные модели

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

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

Раздел 2. Логическое управление

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

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

Раздел 3. Программирование с явным выделением состояний

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

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

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

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

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

Раздел 5. Классы задач

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

Проектирование графического интерфейса (2 часа).

 

https://www.mivlgu.ru/iop/enrol/users.php?id=5354

 

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

Семестр 4

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

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

Парадигма автоматного программирования (4 часа).

Раздел 2. Программирование с явным выделением состояний

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

Процедурное программирование с явным выделением состояний (4 часа).

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

Архитектура системы, управляемой множеством автоматов (4 часа).

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

Механизмы взаимодействия между автоматами (4 часа).

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

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

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

Методы реализации автоматизированных классов (4 часа).

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

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

Использование инструментальных средств разработки. MetoAut. UniMod (4 часа).

 

https://www.mivlgu.ru/iop/enrol/users.php?id=5354

 

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

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

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

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

1. Классы программных систем.

2. Сущности со сложным поведением.

3. Структурные автоматы.

4. Автоматизированные объекты управления.

5. Типы автоматизированных объектов управления.

6. Программные системы, управляемые одним автоматом. Программные системы, управляемые множеством взаимодействующих автоматов. Архитектура системы, управляемой множеством автоматов. Вложенные автоматы. Механизмы взаимодействия между автоматами. Автоматная декомпозиция. Критерии автоматной декомпозиции.

7. Автоматизированные объекты управления как классы.

8. Методы реализации автоматизированных классов.

9. Схемы связей автомата.

10. Описанные на языке XSLT.

11. Построение модели Крипки по автоматной модели.

12. Метод автоматных переходов.

13. Метод установки состояний на событиях и входных воздействиях.

 

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

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

 

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

1. Разработка программного обеспечения (по варианту).

 

https://www.mivlgu.ru/iop/enrol/users.php?id=5354

 


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

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

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

 

Семестр

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

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

Лек-ции,

час.

 

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

час.

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

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

час.

Конт-роль,

час.

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

час.

СРС,

час.

Форма

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

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

6

180 / 5  

8  

4  

12  

4  

2,35  

30,35  

141  

Экз.(8,65)  

Итого

180 / 5  

8  

4  

12  

4  

2,35  

30,35  

141  

8,65  

 

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


 

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

дисциплины

 

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

(в часах)

 

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

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

 

п\п

Семестр

Лекции

Семинары

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

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

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

СРС

КП / КР

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

Контроль

1

Автоматные модели

6

2

26

Устный опрос

2

Логическое управление

6

2

2

38

Устный опрос

3

Программирование с явным выделением состояний

6

4

2

38

Устный опрос

4

6

12

39

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

180

8

4

12

141

+

4

2,35

Экз.(8,65)

Итого   

180

8

4

12

141

4

2,35

8,65

 

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

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

Семестр 6

Раздел 1. Автоматные модели

Лекция 1.

Автоматные модели. Конечные автоматы. Абстрактные автоматы (2 часа).

Раздел 2. Логическое управление

Лекция 2.

Логическое управление. Задачи логического управления (2 часа).

Раздел 3. Программирование с явным выделением состояний

Лекция 3.

Процедурное программирование с явным выделением состояний (2 часа).

Лекция 4.

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

 

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

Семестр 6

Раздел 1. Логическое управление

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

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

Раздел 2. Программирование с явным выделением состояний

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

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

 

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

Семестр 6

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

Процедурное программирование с явным выделением состояний (4 часа).

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

Механизмы взаимодействия между автоматами (4 часа).

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

Объектно- ориентированное программирование с явным выделением состояний (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. Описанные на языке XSLT.

11. Построение модели Крипки по автоматной модели.

12. Метод автоматных переходов.

13. Метод установки состояний на событиях и входных воздействиях.

 

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

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

 

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

1. Разработка программного обеспечения (по варианту).

 

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

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

 

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

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

 

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

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

1. Ожиганов А.А. Теория автоматов: Учебное пособие. - СПб.: НИУ ИТМО, 2013. - 84 с. - http://window.edu.ru/resource/007/79007/files/itmo1013.pdf

2. Орлов С. А., Цилькер Б. Я. Технологии разработки программного обеспечения. Учебник для вузов. 4-е издание. Стандарт третьего поколения. —  Санкт-Петербург:  Питер 2012 г.— 608 с. — Электронное издание. — ISBN 978-5-459-01101-2 - http://ibooks.ru/reading.php?productid=28460

3. Математическая логика и теория алгоритмов для программистов : учебное пособие / Д.В. Гринченков, С.И. Потоцкий. — Москва : КноРус, 2014. — 208 с. — ISBN 978-5-406-04041-6. - https://www.book.ru/book/918851

4. Теоретические основы разработки и реализации языков программирования : учебное пособие / М.М. Гавриков, А.Н. Иванченко под ред., Д.В. Гринченков. — Москва : КноРус, 2016. — 178 с. — ISBN 978-5-406-00121-9 - https://www.book.ru/book/920582

 

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

1. Бабаш Л.В. Криптографические и теоретико-автоматные аспекты современной защиты информации. Криптографические методы защиты. - М.: Изд. центр ЕАОИ, 2011 - 215 с. - http://ibooks.ru/reading.php?productid=334364

2. Верификация автоматных программ: Учебное пособие /Вельдер С.Э., Лукин М.А., Шалыто А.А., Яминов Б.Р. . - СПб.: СПбГУ ИТМО, 2011. - 242 с. - http://window.edu.ru/resource/817/72817

3. Афраймович Л.Г. Тестовые задачи для самостоятельной подготовки по курсу "Теория автоматов и формальные грамматики": Учебно-методическое пособие. - Нижний Новгород: Нижегородский госуниверситет, 2011. - 32 с. - http://window.edu.ru/resource/843/77843

 

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

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

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

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

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

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

Электронная библиотека ВлГУ - http://e.lib.vlsu.ru/

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

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

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

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

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

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

 

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

window.edu.ru

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 Программная инженерия.

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

Цель дисциплины: В курсе «Автоматное программирование» рассматриваются основные идеи и понятия, описываются математические основы автоматного программирования. Выполняется обзор традиционных областей применения конечных автоматов. Использование автоматного программирования целесообразно для целого ряда задач. Автоматные модели, используемые при создании различных видов программных систем, могут отличаться друг от друга. По этой причине, отдельно описываются различия автоматных моделей. Также рассматривается процедурное программирование с явным выделением состояний и объектно-ориентированное программирование с явным выделением состояний.

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

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

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

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

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

 

31.05.2016 г.