МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ
ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
УТВЕРЖДАЮ Декан ФВТ _______________ Л. Р. Фионова «_____» ___________________ 2016 г. |
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
Б 1.2.21.2 ЛИНГВИСТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Направление подготовки: 09.03.01 «Информатика и вычислительная техника»
Профиль подготовки: «Программное обеспечение средств вычислительной техники и автоматизированных систем»
Квалификация (степень) выпускника бакалавр
Форма обучения очная
Пенза, 2016
1. Цели освоения дисциплины
Целью дисциплины является изучение и практическое освоение способов организации программного обеспечения САПР, технологий структурного и объектно-ориентированного программирования, теоретических основ и методов разработки трансляторов с языков САПР.
2. Место дисциплины в структуре ООП
2.1. Дисциплина входит в часть образовательной программы, относящуюся к дисциплинам по выбору и является междисциплинарным направлением в информатике, имеющим высокую степень практической ориентированности на получение и применение навыков, прививаемых в ходе изучения дисциплины к разработке трансляторов с языков высокого уровня.
Изучение дисциплины базируется на следующих курсах: «Математика», «Программирование», «Вычислительные и информационные системы», «Иностранный язык», «История развития вычислительной техники и информационных технологий».
Компетенции, приобретенные в ходе изучения дисциплины, готовят студента к выполнению выпускной квалификационной работы.
2.2. Минимальные требования к «входным» знаниям, необходимым для успешного усвоении данной дисциплины ‑ удовлетворительное усвоение программ по следующим разделам указанных выше дисциплин:
- «Иностранный язык» ‑ знание английского языка на уровне чтения технической документации;
- «Программирование» ‑ практика программирование на языке высокого уровня;
- «История развития вычислительной техники и информационных технологий» - на уровне общего знания истории развития техники.
- «Вычислительные и информационные системы» - весь курс.
3. Компетенции обучающегося, формируемые в результате освоения дисциплины
Коды компетенции | Наименование компетенции | Структурные элементы компетенции (в результате освоения дисциплины обучающийся должен знать, уметь, владеть) |
1 | 2 | 3 |
ПК-3 | способностью обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности | Обладать знаниями теоретических основ и приобретение практических навыков написания транслятора, использовать полученные навыки при создании оптимальных с точки зрения затрат вычислительной мощности и объёмов памяти ЭВМ программ |
4. Структура и содержание дисциплины (модуля) «Компьютерная графика и 3D моделирование»
4.1. Структура дисциплины (модуля)
Общая трудоемкость дисциплины составляет 5,00 зачетных единиц, 144 часов.
№ п/п | Наименование разделов и тем дисциплины (модуля) | Семестр | Недели семестра | Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) | Формы текущего контроля успеваемости (по неделям семестра) | ||||||||||||||
Аудиторная работа | Самостоятельная работа | ||||||||||||||||||
Всего | Лекция | Практические занятия | Лабораторные занятия | Всего | Подготовка к аудиторным занятиям | Реферат, эссе и др. | Курсовая работа (проект) | Подготовка к экзамену | Собеседование | Коллоквиум | Проверка тестов | Проверка контрольн. работ | Проверка реферата | Проверка эссе и иных творческих работ | курсовая работа (проект) | ||||
1 | Раздел 1. Введение. | ||||||||||||||||||
Тема 1. 1. Организация программного обеспечения САПР. Основные понятия лингвистического обеспечения. | 2 | 1 | |||||||||||||||||
Тема 1. 2. Введение в язык С++. | 2 | 6 | 2 | ||||||||||||||||
Тема 1. 3. Структура и основные типы транслирующих программ | 2 | 2 | |||||||||||||||||
2 | Раздел 2. Разработка транслятора | ||||||||||||||||||
Тема 2. 1. Методы формального определения синтаксиса языка | 2 | 6 | 6 | 6 | 2 | ||||||||||||||
Тема 2. 2. Регулярные грамматики и лексический анализ | 4 | 10 | 6 | 6 | 2 | ||||||||||||||
Тема 2. 3. Контекстно-свободные грамматики и синтаксический анализ | 4 | 10 | 6 | 6 | 2 | ||||||||||||||
Тема 2. 4. Формирование постфиксной записи и генерация кода | 6 | 10 | 6 | 6 | 2 | ||||||||||||||
3. | Раздел 3. ООП | ||||||||||||||||||
Тема 3. 1. Классификация языков САПР. Основы языка VHDL. | 4 | 2 | |||||||||||||||||
Тема 3. 2. Программирование математических структур и методы программной обработки данных | 4 | 1 | |||||||||||||||||
Тема 3. 3. Введение в технологии структурного и объектно-ориентированного программирования. | 4 | 1 | |||||||||||||||||
Тема 3. 4. Заключение | 2 | 1 | |||||||||||||||||
Общая трудоемкость, в часах | 36 | 36 | 24 | 30 | 18 | Промежуточная аттестация | |||||||||||||
Форма | Семестр | ||||||||||||||||||
Зачет | |||||||||||||||||||
Экзамен | 4 | ||||||||||||||||||
4.2. Содержание дисциплины (модуля)
4.2.1.Содержание лекционного курса
1. Раздел 1. Введение.
· Цели и задачи дисциплины, ее место среди других дисциплин учебного плана. Структура и содержание дисциплины, методика преподавания. Организация программного обеспечения САПР. Основные понятия лингвистического обеспечения.
· Основные понятия С++. Составные части программы на С++. Переменные и константы. Выражения и операторы. Функции. Циклы. Ссылки и указатели.
· Структура и основные типы транслирующих программ. Компиляторы, интерпретаторы, конверторы, кросс-компиляторы. Число проходов трансляции.
2. Раздел 2. Разработка транслятора
· Синтаксис и семантика языка. Формальные языки и грамматики. Иерархия Хомского. Проблема разбора. Форма Бэкуса-Наура, синтаксический граф, дерево разбора.
· Идентификация лексем формальных языков. Регулярные выражения. Проектирование лексических анализаторов. Регулярные грамматики и конечные автоматы. Автоматные грамматики.
· Контекстно зависимые и контекстно свободные грамматики. Проектирование синтаксических анализаторов. Методы грамматического разбора. Грамматический разбор "сверху вниз" и "снизу вверх". Левосторонний и правосторонний вывод.
· Постфиксная запись. Формирование постфиксной записи для выражений и для операторов. Промежуточные формы записи. Четверки. Генерация кода.
3. Раздел 3. ООП
· Классификация языков САПР. Языки проектирования САПР (входные и выходные). Основы языка VHDL. Интерфейс и архитектурные тела. Операции и типы данных. Классы объектов. Атрибуты. Пакеты. Процедуры и функции.
· Типовые структуры описания абстрактных данных (массив, стек, очередь, двоичное дерево). Программирование математических структур (матрицы и конечные графы). Методы программной обработки данных. Итерация и рекурсия. Сортировка и поиск. Криптообработка и сжатие данных. Перечисление и упорядочивание комбинаторных объектов. Ввод-вывод данных. Обработка файлов.
· Технологии структурного и объектно-ориентированного программирования. Конструирование абстрактных типов данных. Инкапсуляция данных и методов их обработки в классах объектов. Иерархия классов. Базовые и производные классы. Простое и множественное наследование. Перегрузка методов и операций обработки данных в классах объектов. Абстрактные классы. Полиморфная обработка данных. Виртуальные интерфейсы. Параметризация типов данных в классах и функциях. Компиляция и редактирование связей. Верификация и отладка программы. Программная документация. Организация диалога в САПР. Виды диалога. Стандарты пользовательского интерфейса.
4. Тема 3. 4. Заключение Инструментальные средства разработки программного обеспечения САПР. Автоматизация разработки программных проектов.
4.2.2. Перечень и содержание лабораторных занятий.
№ п/п | № темы | Наименование лабораторных работ | Кол. ч |
1 | 2. 1. | Разработка лексического анализатора | 6 |
2 | 2. 2. | Разработка синтаксического анализатора | 10 |
3 | 2. 3. | Формирование постфиксной записи | 10 |
4 | 2. 4. | Разработка программы генерации кода | 10 |
5. Образовательные технологии
5.1 Чтении лекций по дисциплине проводится с использованием мультимедийного компьютерного проектора с раздачей демонстрируемых слайдов комментарий.
5.2 При изучении материалов лабораторного практикума использовать Интернет ресурсы с сайта кафедры САПР (cad. pnzgu. ru) и с локального ресурса кафедрального сервера cad-filer (адрес узла в сети университета – \\172.16.72.254\profiles\pr\ЛиПО)
5.3 При самостоятельной работе используются материалы с локального ресурса кафедрального сервера cad-filer (адрес узла в сети университета – \\172.16.72.254\profiles\pr\ЛиПО).
5.4. В лабораторном практикуме и курсовом проектировании используются объектно-ориентированные языки программирования.
5.5. Все лабораторные занятия носят проектный характер.
6. Учебно-методическое обеспечение самостоятельной работы студентов.
Оценочные средства для текущего контроля успеваемости,
промежуточной аттестации по итогам освоения дисциплины.
6.1. План самостоятельной работы студентов
№ нед. | Тема | Вид самостоятельной работы ) | Задание | Рекомендуемая литература | Количество |
Раздел 1. Введение. | Подготовка к экзамену | Изучить материалы лекции. Подготовить вопросы. | Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671ЭБС BOOK. ru https://www. book. ru/book/918296 | ||
Тема 1. 1. Организация программного обеспечения САПР. Основные понятия лингвистического обеспечения. | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | 2 | |
Тема 1. 2. Введение в язык С++. | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671ЭБС BOOK. ru https://www. book. ru/book/918296 | 2 | |
Тема 1. 3. Структура и основные типы транслирующих программ | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | 2 | |
Раздел 2. Разработка транслятора | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | ||
Тема 2. 1. Методы формального определения синтаксиса языка | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | 2 | |
Тема 2. 2. Регулярные грамматики и лексический анализ | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | 4 | |
Тема 2. 3. Контекстно-свободные грамматики и синтаксический анализ | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | 4 | |
Тема 2. 4. Формирование постфиксной записи и генерация кода | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы.. | , , , Терехов компиляторовМ.: Изд-во НОУ Интуит, 2016, 375 сЭБС BOOK. ru https://www. book. ru/book/918183 | 6 | |
Раздел 3. ООП | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671ЭБС BOOK. ru https://www. book. ru/book/918296 | ||
Тема 3. 1. Классификация языков САПР. Основы языка VHDL. | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671ЭБС BOOK. ru https://www. book. ru/book/918296 | 4 | |
Тема 3. 2. Программирование математических структур и методы программной обработки данных | Подготовка к экзамену.Подготовка к аудиторным занятиям | Изучить материалы лекции. Подготовить вопросы. | Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671ЭБС BOOK. ru https://www. book. ru/book/918296 | 4 | |
Тема 3. 3. Введение в технологии структурного и объектно-ориентированного программирования. | Подготовка к экзамену. | Изучить материалы лекции. Подготовить вопросы. | Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671ЭБС BOOK. ru https://www. book. ru/book/918296 | 4 | |
Тема 3. 4. Заключение | Подготовка к экзамену. | Изучить материалы лекции. Подготовить вопросы. | 2 |
6.2. Методические указания по организации самостоятельной работы студентов
Планируются следующие виды самостоятельной работы (внеаудиторной) относятся:
- подготовка к лабораторным работам занятиям,
- оформление отчётов по лабораторным работам,
- работа с конспектом лекций и изучение рекомендованной литературы при подготовке к экзаменам.
6.3. Материалы для проведения текущего и промежуточного контроля знаний студентов
Контроль освоения компетенций
№ п\п | Вид контроля | Контролируемые разделы | Компетенции, компоненты которых контролируются |
1 | Текущий: собеседование при защите лаб. заданий Промежуточный: зачет в форме теста, экзамен | Раздел 1. Введение. Раздел 2. Разработка транслятора | ПК-3 |
2 | Текущий: собеседование при защите лаб. заданий Промежуточный: зачет в форме теста, экзамен | Раздел 2. Разработка транслятора Раздел 3. ООП | ПК-3 |
3 | Промежуточный: зачет в форме теста, экзамен | Раздел 1. Введение. Раздел 2. Разработка транслятора Раздел 3. ООП | ПК-3 |
4. | Итоговый: курсовой проект | Раздел 1. Введение. Раздел 2. Разработка транслятора Раздел 3. ООП | ПК-3 |
- для компетенции (ПК-3) – путем оценки степени умения студентом использовать полученные навыки при создании оптимальных с точки зрения затрат вычислительной мощности и объёмов памяти ЭВМ программ.
Перечень практических вопросов для собеседования
1. Преобразовать инфиксную запись выражения в постфиксную.
2. Задана грамматика с порождающими правилами: ... Принадлежит ли языку, генерируемому данной грамматикой строка ...
3. Задана грамматика с порождающими правилами: ... Построить левосторонний разбор для выражения...
4. Задана грамматика с порождающими правилами: ... Построить правосторонний разбор для выражения...
5. Задана грамматика с порождающими правилами: ... Построить синтаксическое дерево для выражения...
6. Построить регулярную грамматику для... (вид лексем).
7. Преобразуйте грамматику со следующими правилами в LL(1)-форму (S - начальный символ)
8. Построить регулярную грамматику, генерирующую выражение....
9. Вычислить значение представленного в постфиксной записи выражения.
10. Найти регулярную грамматику, генерирующую тот же язык, что и грамматика со следующими порождающими правилами (S - начальный символ).
11. Показать, что грамматика со следующими порождающими правилами является неоднозначной.
Перечень вопросов для тестирования к экзамену
12. Какии параметры функции называются формальными?
13. Какое количество параметров может быть у функции?
14. Какой формат прототипа функции?
15. Что такое указатели?
16. Какой символ является признаком указателя?
17. Если переменная p, определена как переменная типа указатель (char *p), то выберите правильные варианты
18. Какие операции применимы к указателям?
19. Укажите правильный формат задания указателя на функцию
20. Дайте правильное определение ссылки
21. Какие ограничения существуют для ссылок?
22. В каких случаях возможно использование массива без указания размерности?
23. Чем является имя массива?
24. Определить в трехмерном массиве B[i][j][k] правильный доступ к элементу массива через указатели
25. Как вычислить смещение A[i][j][k] элемента относительно начала массива в трехмерном массиве type A[N][M][L]
26. Каким образом можно передать многомерный массив в функцию в качестве параметра?
27. Дайте определение структуры
28. Дайте определение класса
29. Дайте определение объекта
30. Что является компонентами класса?
31. Дайте определение компонентной функции
32. Как можно получить доступ к компонентам функции?
33. Чем отличается объект от класса
34. Дайте определение массива указателей
35. Сопоставьте виды транслирующих программ и определения
36. Укажите преимущества компилятора по отношению к интерпретатору
37. При двухпроходной организации компилятора
38. Выберите правильные высказывания о грамматиках
39. Сентенциальная форма это
40. Две грамматики называются эквивалентными, если
41. В грамматиках каких классов может встречаться правило AxB -> BcdF (указать все)
42. Выберите все правила, которые могут встречаться в порождающих правилах регулярной грамматики, выровненной вправо (каждый нетерминал обозначен одной большой буквой)
43. Могут ли генерировать шаблоны скобок произвольной длины
44. Выберите все возможные условия неоднозначности грамматики
45. К грамматикам какого класса относится LL(1)-грамматика
46. Сопоставьте названия грамматик и то, как с их помощью осуществляется разбор предложений
47. В результате устранения левого рекурсивного цикла и, затем, левой рекурсии, количество правил грамматики
48. Укажите все прикладные реализации переменной а
49. При описании структуры схемы в VHDL используется описание
50. VHDL относится к языкам
7. Учебно-методическое и информационное обеспечение
дисциплины (модуля)
1. Страуструп Бьерн Язык программирования C++ для профессионалов. – М.: Изд-во НОУ Интуит, 2016, 671 ЭБС BOOK. ru https://www. book. ru/book/918296
2. , Чуканов и организация ЭВМ Конспект лекций – М.: Изд-во НОУ Интуит, 2016, 184 с ЭБС BOOK. ru https://www. book. ru/book/917561.
3. , , , Терехов компиляторов М.: Изд-во НОУ Интуит, 2016, 375 с ЭБС BOOK. ru https://www. book. ru/book/918183
4. Гуров микропроцессоров. Конспект лекций М.: Изд-во НОУ Интуит, 2016, 328 с ЭБС BOOK. ru https://www. book. ru/book/917562.
5. , Поляков архитектура базовой модели процессора Intel: Учебное пособие по дисциплине "Организация ЭВМ и систем". - СПб.: НИУ ИТМО, 2012. - 115 с. ЭБС "Единое окно доступа к образовательным ресурсам" http://window. edu. ru/resource/596/76596
6. Дэвид Харриса, Сарf Харрис Цифровая схемотехника и архитектура компьютера, пер. с анг. , Издательство Morgan Kaufman, 2013, 1662с. Сайт фирмы Imagination Technologies, страница «Digital Design And Computer Architecture (Russian Edition)», https://community. /downloads/digital-design-and-computer-architecture-russian-edition/
7. Сайт «Национальный Открытый Университет ИНТУИТ» Раздел «Курсы. Аппаратное обеспечение», http://www. intuit. ru/studies/courses? service=0&option_id=37&service_path=1
8. Электронный ресурс Коннов процессора ЭВМ на секционированных микропроцессорных БИС. Методические указания к лабораторным работам и курсоваму проектированию. Сайт кафедры ВТ ПГУ http://alice. pnzgu. ru/~knn/k1804site/
9. Электронный ресурс Коннов микропроцессорного комплекса К1804 и микроЭВМ на его основе. Методические указания к лабораторным работам. Сайт кафедры ВТ ПГУ http://alice. pnzgu. ru/~knn/pap1/
8. Материально-техническое обеспечение дисциплины (модуля)
Лабораторные занятия проводятся в классе, оснащенном ПЭВМ, с операционной системой Windows 7 и MS Visual Studio 12.
Рабочая программа дисциплины «Лингвистическое и программное обеспечение» составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций ПрООП по направлению подготовки: 09.03.01 «Информатика и вычислительная техника»
Программу составили:
К. т.н., доцент
Настоящая программа не может быть воспроизведена ни в какой форме без предварительного письменного разрешения кафедры-разработчика программы.
Программа одобрена на заседании кафедры ВТ
Протокол №_______________от «_____»_________________2016 года
Зав. Кафедрой ВТ
Программа одобрена методической комиссией ФВТ
Протокол №_______________от «_____»_________________2016 года
Председатель методической комиссии
Сведения о переутверждении программы на очередной учебный год и регистрации изменений
Учебный год | Решение кафедры (№ протокола, дата, подпись зав. кафедрой) | Внесенные изменения | Номера листов (страниц) | ||
заменен- ных | новых | аннулиро-ванных | |||


