МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ

ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

УТВЕРЖДАЮ

Декан ФВТ

_______________ Л. Р. Фионова

«_____» ___________________ 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 года

Председатель методической комиссии

Сведения о переутверждении программы на очередной учебный год и регистрации изменений

Учебный

год

Решение кафедры

(№ протокола, дата, подпись зав. кафедрой)

Внесенные изменения

Номера листов (страниц)

заменен-

ных

новых

аннулиро-ванных