Цели освоения дисциплины - Саратовский государственный

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Саратовский государственный университет имени Н.Г. Чернышевского
Факультет компьютерных наук и информационных технологий
УТВЕРЖДАЮ
___________________________
"__" __________________20__ г.
Рабочая программа дисциплины
ТЕОРИЯ ФОРМАЛЬНЫХ ЯЗЫКОВ
Направление подготовки
231000 Программная инженерия
Профиль подготовки
Разработка программно-информационных систем
Квалификация (степень) выпускника
Бакалавр
Форма обучения
очная
Саратов,
2011 год
1. Цели освоения дисциплины
Целью освоения данного курса является ввести в круг понятий и задач,
связанных с использованием искусственных языков, изучение теоретических
и методологических основ методов определения формальных. Вместе с
другими дисциплинами изучение материалов курса должно способствовать
становлению профессионального уровня подготовки бакалавра по
направлению Программная инженерия.
2. Место дисциплины в структуре ООП бакалавриата
Данная учебная дисциплина входит в раздел «Математический и
естественнонаучный цикл. Вариативная часть» ФГОС-3.
Для изучения дисциплины необходимы компетенции, сформированные
у обучающихся в результате изучения курсов «Теоретическая информатика»,
«Логика и теория алгоритмов», «Дискретная математика».
Сформированные в процессе изучения дисциплины «Теория
формальных языков» компетенции необходимы выпускнику направления
231000 Программная инженерия в его профессиональной деятельности.
3. Компетенции обучающегося, формируемые в результате
освоения дисциплины
Данная дисциплина способствует формированию следующих
компетенций:
Научно-исследовательская
деятельность
выпускник
должен
демонстрировать:
- способность к формализации в своей предметной области с учетом
ограничений используемых методов исследования (ПК-2);
- готовность к использованию методов и инструментальных средств
исследования объектов профессиональной деятельности (ПК-3);
Проектная деятельность выпускник должен демонстрировать:
- навыки моделирования, анализа и использования формальных
методов конструирования программного обеспечения (ПК-12);
Технологическая деятельность выпускник должен демонстрировать:
- навыки использования операционных систем, сетевых технологий,
средств разработки программного интерфейса, применения языков и
методов формальных спецификаций, систем управления базами
данных (ПК-15);
В результате освоения дисциплины обучающийся должен:
Знать:
- понятия формального языка и метаязыка, способы описания
формальных языков;
- классификацию языков и грамматик;
- базовые понятия теории грамматик, теории конечных автоматов и
автоматов с магазинной памятью;
- основные математические методы преобразования грамматик;
Уметь:
- ориентироваться в задачах касающихся формализации языков;
- выбирать способ задания языка в зависимости от решаемой задачи;
- находить эквивалентные способы представления языков в целях
применения соответствующих алгоритмов;
- решать типовые задачи преобразования грамматик;
Владеть:
- навыками применения языков и методов формальных спецификаций,;
- базовыми математическими знаниями и информационными
технологиями;
- навыками моделирования, анализа и использования формальных
методов конструирования программного обеспечения.
4. Структура и содержание дисциплины
Общая трудоемкость дисциплины составляет 4 зачетные единицы, 144
часа.
№
п/
п
Раздел
дисциплины
1
Основные
понятия
Регулярные
множества и
регулярные
выражения
Конечные
автоматы и
регулярные языки
КС грамматики
2
3
4
5
Семе
стр
Недел
я
семест
ра
7
1-2
Л:4
СР:4
ПР:4
7
3-5
Л:6
СР:12
ПР:8
7
6-9
Л:8
СР:12
ПР:8
Контрольная на 10
неделе
7
10-11
Л:4
СР:10
ПР:6
12-15
Л:8
СР:10
ПР:4
30
48
30
Контрольная на 15
неделе
Контрольная на 15
неделе
Экзамен
36
МП автоматы и
7
КС грамматики
Промежуточная аттестация
ИТОГО
Виды учебной работы,
включая
самостоятельную
работу студентов и
трудоемкость (в часах)
Формы текущего
контроля
успеваемости (по
неделям семестра)
Формы
промежуточной
аттестации (по
семестрам)
Контрольная на 10
неделе
Контрольная на 10
неделе
Раздел «Основные понятия». Множества, бинарные отношения,
операции над отношениями. Понятие языка, операции над языками. Способы
задания языка (порождение и распознавание). Понятия распознавателя и
грамматики. Отношение непосредственной выводимости цепочек, его
транзитивное и рефлексивно- транзитивное замыкание. Классификация
грамматик и языков.
Раздел «Регулярные множества и регулярные выражения». Понятия
регулярного множества и регулярного выражения. Тождества для
регулярных выражений. Решение системы уравнений с регулярными
коэффициентами. Лемма о том, что объединение, конкатенация и итерация
праволинейных языков есть праволинейный язык. Теорема: язык является
регулярным множеством тогда и только тогда, когда он праволинейный.
Раздел «Конечные автоматы и регулярные языки».
Понятие конечного автомата, конфигурации конечного автомата, такта
работы. Построение по праволинейной грамматике конечного автомата и
наоборот. Лемма: объединение, конкатенация и итерация автоматных языков
есть автоматный язык. Получение регулярного выражения для языка,
допускаемого конечным автоматом (метод исключения состояний автомата).
Лемма о накачке для регулярных языков. Доказательство нерегулярности
языков. Критерий пустоты и бесконечности языка, допускаемого конечным
автоматом. Алгоритмически разрешимые проблемы для регулярных языков.
Минимизация конечного автомата.
Раздел «КС грамматики». КС грамматики. Деревья вывода.
Однозначные и неоднозначные грамматики. Алгоритмы удаления - правил,
цепных правил, недостижимых и бесплодных символов. Лемма об удалении
правила. Нормальные формы КС грамматик. Алгоритмы преобразования к
нормальной форме Хомского и Грейбах. Удаление левой рекурсии.
Раздел «МП- автоматы и КС- грамматики». МП
автоматы,
конфигурации
МП
автоматов.
Расширенный
МП
автомат.
Детерминированный МП
автомат. Построение МП автомата по
расширенному МП автомату. Языки, допускаемые
при опустошении
магазина и при конечном состоянии. Построение МП автомата по МП
автомату. Построение МП автомата по МП автомату. Теорема: язык
является контекстно-свободным тогда и только тогда, когда он допускается
МП автоматом. Построение МП автомата по КС грамматике. Построение
расширенного МП автомата по КС грамматике. Построение КС грамматики
по МП автомату. Лемма о накачке для КС языков.
5. Образовательные технологии
В учебном процессе при реализации компетентностного подхода
используются такие активные и интерактивные формы проведения занятий
как модельный метод обучения, метод развивающей кооперации, разбор
конкретных ситуаций, командное выполнение заданий с распределением
ролей, тестирование. Широко используются мультимедийные презентации
при представлении лекционного материала.
6. Учебно-методическое обеспечение самостоятельной работы
студентов. Оценочные средства для текущего контроля успеваемости,
промежуточной аттестации по итогам освоения дисциплины.
7. Учебно-методическое и информационное обеспечение
дисциплины
а) основная литература:
1. Пентус А. Е., Пентус М. Р. Математическая теория формальных
языков: учеб. пособие,. - М.: Интернет-Ун-т Информ. Технологий:
БИНОМ. Лаб. знаний, 2006
2. Соколов А. П. Системы программирования: теория, методы, алгоритмы.
М.: Финансы и статистика, 2004.
б) дополнительная литература:
1. Опалева Э. А., Самойленко В. П. Языки программирования и методы
трансляции: учеб. пособие. - СПб.: БХВ-Петербург, 2005.
2. Теория и реализация языков программирования: учеб. пособие по курсу
теории и реализации языков программирования / В. А. Серебряков и др.
- М. : МЗ-Пресс, 2003
3. Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы.
М.: Изд. дом «Вильямс», 2007.
4. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. В 2-х томах. М.: Мир, 1978.
5. Рейуорд-Смит В. Дж. Теория формальных языков. М.: Радио и связь,
1988.
в) программное обеспечение и Интернет-ресурсы:
не требуется
8. Материально-техническое обеспечение дисциплины
Лекционная аудитория с возможностью демонстрации электронных
презентаций при уровне освещения, достаточном для работы с конспектом.
Программа составлена в соответствии с требованиями ФГОС ВПО с
учетом рекомендаций и ПООП ВПО по направлению и профилю подготовки
Разработка программно-информационных систем.
Автор
доцент кафедры
математической кибернетики и
компьютерных наук
___________ С. В. Миронов
Программа одобрена на заседании кафедры математической кибернетики
и компьютерных наук от «___» ________ 2011 года, протокол № ___.
Заведующий кафедрой
математической кибернетики и
компьютерных наук
___________ А. С. Иванов
Декан факультета КНиИТ,
доцент
___________ А. Г. Федорова
Download