МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Теория алгоритмических языков и трансляторов

рабочая программа дисциплины
Закреплена за кафедройКафедра информатики
Направление подготовки02.03.01. Математика и компьютерные науки
ПрофильМатематические основы компьютерных наук
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план02_03_01_МиКН-2020
Часов по учебному плану 108
в том числе:
аудиторные занятия 36
самостоятельная работа 72
Виды контроля по семестрам
зачеты: 6

Распределение часов по семестрам

Курс (семестр) 3 (6) Итого
Недель 19
Вид занятий УПРПДУПРПД
Лекции 18 18 18 18
Лабораторные 18 18 18 18
Сам. работа 72 72 72 72
Итого 108 108 108 108

Программу составил(и):
к.т.н., доцент, Михеева Т.В.

Рецензент(ы):
к.ф.-м.н., доцент, Пономарев И.В.

Рабочая программа дисциплины
Теория алгоритмических языков и трансляторов

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 02.03.01 Математика и компьютерные науки (приказ Минобрнауки России от 23.08.2017 г. № 807)

составлена на основании учебного плана:
02.03.01 Математика и компьютерные науки
утвержденного учёным советом вуза от 30.06.2020 протокол № 6.

Рабочая программа одобрена на заседании кафедры
Кафедра информатики

Протокол от 26.06.2023 г. № 4
Срок действия программы: 20232024 уч. г.

Заведующий кафедрой
к.ф.-м.н., доцент Козлов Д.Ю.


Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2023-2024 учебном году на заседании кафедры

Кафедра информатики

Протокол от 26.06.2023 г. № 4
Заведующий кафедрой к.ф.-м.н., доцент Козлов Д.Ю.


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

1.1.- сформировать у студентов необходимую теоретическую базу и практические навыки, которые позволят на практике применять - методы формального описания языков;
- овладение основными методами проектирования и программирования лексических и синтаксических анализаторов языков;
- овладение основными методами решения практических задач разработки программ обработки языков;
- выработка умения самостоятельно расширять знания по математической лингвистике и применять их для решения прикладных задач.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.В.ДВ.2.1

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

ПК-1Способен демонстрировать базовые знания математических и естественных наук, основ программирования и информационных технологий
ПК-1.1 Знает основные методы научных исследований.
ПК-1.2 Умеет составлять общий план исследования.
ПК-1.3 Владеет методами решения научноисследовательских задач в выбранной области и других смежных науках.
ПК-4Способен использовать современные методы разработки и реализации конкретных алгоритмов математических моделей на базе языков программирования и пакетов прикладных программ моделирования.
ПК-4.1 Знает современные методы разработки, тестирования и реализации алгоритмов математических моделей на базе языков и пакетов прикладных программ моделирования.
ПК-4.2 Умеет разрабатывать, тестировать и реализовывать алгоритмы математических моделей на базе языков и пакетов прикладных программ моделирования.
ПК-4.3 Способен применять полученные знания к разработке и реализации алгоритмов на базе языков и пакетов прикладных программ моделирования.
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.правила построения трансляторов;
методы лексического, синтаксического и семантического анализа алгоритмических языков;
принципы трансляции и интерпретации
3.2.Уметь:
3.2.1.строить КС-грамматики формальных языков;
выделять лексический и синтаксический уровень языка;
программировать основные классы трансляторов
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.методами анализа и трансляции алгоритмических языков

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Языки и грамматики.
1.1. Лингвистические средства программных систем. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
1.2. Порождающие грамматики и языки. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
1.3. Синтез контекстно-свободных грамматик. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
1.4. Синтез контекстно-свободных грамматик. Сам. работа 6 8 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 2. Синтаксический анализ
2.1. Дерево синтаксического анализа. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
2.2. Стратегии синтаксического анализа. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
2.3. Построение деревьев в процессе восходящего и нисходящего синтаксического анализа. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
2.4. Восходящий и нисходящий синтаксический анализ. Сам. работа 6 8 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 3. Раздел 3. Автоматы.
3.1. Порождающие грамматики и автоматы. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
3.2. Теоремы об автоматах с магазинной памятью и контекстно-свободных грамматиках. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
3.3. Синтез автоматов с магазинной памятью. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
3.4. Синтез конечных автоматов. Сам. работа 6 8 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 4. Формальное описание языков программирования.
4.1. Модель языка. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
4.2. Программная реализация модели языка. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
4.3. Построение контекстно-свободной грамматики языка. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
4.4. Контекстно-свободные грамматики выражений с приоритетами операций. Сам. работа 6 8 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 5. Структура компилятора.
5.1. Модель языка программирования и этапы перевода. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
5.2. Назначение блоков лексического, синтаксического и семантического анализа. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 6. Лексический анализ.
6.1. Лексика языка. Регулярные выражения и конечные автоматы. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
6.2. Построение конечного автомата лексики языка, реализация программы сканера. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
6.3. Реализация программы сканера. Сам. работа 6 8 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 7. Понятие синтаксического анализа.
7.1. Проблемы и особенности стратегий синтаксического анализа. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
7.2. Общая характеристика синтаксически ориентированных компиляторов. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
7.3. Синтез контекстно-свободных грамматик языков программирования. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
7.4. Общие и специальные методы синтаксического анализа. Сам. работа 6 8 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 8. Метод рекурсивного спуска реализации синтаксического анализа.
8.1. Построение и преобразование синтаксических диаграмм. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
8.2. Программная реализация синтаксических диаграмм. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
8.3. Общие и специальные методы синтаксического анализа. Сам. работа 6 4 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
8.4. Программная реализация синтаксического анализатора методом рекурсивного спуска. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 9. Контекстные условия формальных языков.
9.1. Понятие контекстной зависимости. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
9.2. Типы контекстной зависимости для различных конструкций языков программирования. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
9.3. Контекстные зависимости для формирования бинарного дерева подчинения. Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
9.4. Контекстная зависимость языков программирования. Сам. работа 6 4 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 10. Семантический контроль и деревья подчинения.
10.1. Семантические таблицы компилятора и их структура. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
10.2. Понятие семантической подпрограммы. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
10.3. Формирование бинарного дерева подчинения Лабораторные 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
10.4. Таблица приведений языка программирования и ее реализация Сам. работа 6 4 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 11. Магазинные методы синтаксического анализа.
11.1. Автоматы с магазинной памятью как основа программирования универсального синтаксического анализатора. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
11.2. LL(1)-анализаторы. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
11.3. Построение управляющей таблицы LL(1)-анализатора. Лабораторные 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
11.4. Проблемы вычислительной сложности при реализации недетерминированных автоматов с магазинной памятью. Сам. работа 6 4 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 12. Принципы интерпретации в процессе синтаксического анализа.
12.1. Принципы интерпретации. Лекции 6 0,5 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
12.2. Реализация интерпретации выражений. Лабораторные 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
12.3. Выделение памяти для конструкций языка в процессе интерпретации. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
12.4. Алгоритмы интерпретации простейших типов данных. Сам. работа 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 13. Интерпретация управляющих структур.
13.1. Понятие флага интерпретации и его использование. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
13.2. Интерпретация циклических и ветвящихся процессов. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
13.3. Реализация интерпретации. Лабораторные 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
13.4. Реализация интерпретации. Сам. работа 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 14. Перевод и синтез кода.
14.1. Понятие промежуточного языка. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
14.2. Способы представления промежуточного кода. Деревья, префиксная и постфиксная запись, триады и тетрады. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
14.3. Структура промежуточного кода. Лабораторные 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
14.4. Типы промежуточных языков. Сам. работа 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
Раздел 15. Генерация кода и синтаксически управляемый перевод.
15.1. Понятие синтаксически управляемого перевода. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
15.2. Модели естественных языков и этапы перевода с естественного языка на формальный. Лекции 6 1 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1
15.3. Направления развития современных языковых программных систем. Сам. работа 6 2 ПК-1.1, ПК-1.2, ПК-1.3, ПК-4.1, ПК-4.2, ПК-4.3 Л2.1, Л1.1

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Оценочные материалы для текущего контроля по разделам и темам дисциплины в полном объеме размещены в онлайн-курсе на образовательном портале «Цифровой университет АлтГУ» - https://portal.edu.asu.ru/course/view.php?id=1037

Примеры заданий - https://disk.yandex.ru/i/KBup2jr4t1Xjbw

Критерии оценивания: Каждое задание оценивается 1 баллом. Оценивание КИМ в целом: «отлично» – верно выполнено 85-100% заданий; «хорошо» – верно выполнено 70-84% заданий; «удовлетворительно» – верно выполнено 51-69% заданий; «неудовлетворительно» – верно выполнено 50% или менее 50% заданий.
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Не предусмотрено.
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Промежуточная аттестация заключается в проведении зачета по всему изученному курсу. Зачет проводится в устной форме по билетам. В билет входит 2 вопроса: 1 вопрос теоретического характера и 1 вопрос практико-ориентированного характера.

Перечень теоретических вопросов для промежуточной аттестации:
1. Понятие языка и грамматики. Типы грамматик. Основные операции над языками. Теорема об операциях над КС-языками и синтез КС-грамматик.
2. Грамматический разбор (синтаксический анализ). Стратегии синтаксического анализа. Дерево разбора. Левый и правый вывод.
3. КС-грамматика языка программирования. Определение программы, оператора. Типы операторов языка программирования и описание их синтаксиса. Описания данных, классов, структур.
4. Назначение транслятора. Классификация трансляторов. Структура компилятора. Назначение блоков компилятора.
5. Теорема о языке anbncn и следствие из нее. Влияние данной теоремы на решение проблемы создания компиляторов. Синтаксис языков программирования и контекстные условия языков.
6. Лексика, синтаксис, семантика языка программирования и характеристика соответствующих блоков компилятора.
7. Понятие регулярного выражения. Конечные автоматы. Представление лексики языка программирования в форме конечного автомата.
8. Назначение блока лексического анализа. Таблица лексем. Способы программирования сканера, его входные и выходные данные.
9. Программная реализация сканера, построенного на основе конечного автомата. Незначащие символы и реализация комментариев.
10. Лексический и синтаксический уровни языка программирования. Понятие синтаксической диаграммы. Правила преобразования диаграмм.
11. Разметка ветвей синтаксических диаграмм. Функции first и follow, их использование для программирования точек ветвления в синтаксических диаграммах.
12. Рекурсивный спуск. Программирование функций, соответствующих синтаксическим диаграммам.
13. Семантика языков программирования, принципы реализации семантики. Типы контекстных условий. Таблицы компилятора, назначение, структура, данные.
14. Типы семантических подпрограмм. Включение семантических подпрограмм в синтаксические диаграммы.
15. Семантическое дерево. Блочная структура программы, область видимости и иерархическая древовидная структура таблицы. Реализация семантического дерева.
16. Понятие интерпретатора. Преимущества и недостатки процесса интерпретации. Алгоритмы интерпретации выражений. Приведение типов.
17. Алгоритмы интерпретации условного и циклического операторов.
18. Алгоритмы интерпретации процедур и функций.
19. Понятие МП-автомата. Теорема о МП-автомате для нисходящего синтаксического анализа в КС-грамматике. Влияние данной теоремы на практическую реализацию программ синтаксического анализа.
20. LL(1) анализатор. Управляющая таблица, алгоритм ее построения. Программа LL(1)-анализатора как реализация управляющей таблицы.
21. Понятие синтаксически управляемого (СУ) перевода. Универсальность СУ перевода для записи семантики. Примеры записи правил синтаксически управляемого перевода для проверки контекстных условий.
22. Блок синтеза транслятора. Исходная информация для блока синтеза. Способы представления дерева разбора: деревья, префиксная запись, триады и тетрады.
23. Особенности представления синтаксических конструкций языков программирования в промежуточном коде. Примеры.
24. Препроцессорный уровень языка программирования. Реализация препроцессора как интерпретатора препроцессорных операторов. Лексика и синтаксис препроцессорного уровня.
25. Оптимизация промежуточного кода. Граф управления программы и его построение. Линейные участки и переходы.
26. Типы оптимизации линейных участков. Подстановки константных выражение. Повторяющиеся фрагменты. Минимизация регистров. Агрегаты операций.
27. Оптимизация циклов.
28. Оптимизация ветвлений.
29. Лишние выражения и лишние циклы.
30. Объектный код, его назначение и структура. Задача редактора связей.

Перечень практико-ориентированных вопросов для промежуточной аттестации:
1. Построение КС-грамматик формальных языков
2. Синтез конечных автоматов
3. Построение КС-грамматик языка программирования
4. Проектирование лексики языка программирования(таблица лексем, конечный автомат лексики, конечный автомат ошибок)
5. Реализация программы лексического анализатора
6. Построение синтаксических диаграмм для грамматики языка программирования
7. Реализация программы синтаксического анализатора методом рекурсивного спуска
8. Проектирование уровня семантического контроля
9. Реализация создания семантического дерева
10. Реализация семантического контроля алгоритмического языка
11. Проектирование конструкции транслятора (уровень промежуточного кода)
12. Проектирование конструкции интерпретатора

Критерии оценивания:
«Отлично» (зачтено): студентом дан полный, в логической последовательности развернутый ответ на поставленные вопросы, где он продемонстрировал знания предмета в полном объеме учебной программы, достаточно глубоко осмысливает дисциплину, самостоятельно, и исчерпывающе отвечает на дополнительные вопросы, приводит собственные примеры по проблематике поставленного вопроса, решил предложенные практические задания без ошибок.
«Хорошо» (зачтено): студентом дан развернутый ответ на поставленный вопрос, где студент демонстрирует знания, приобретенные на лекционных и семинарских занятиях, а также полученные посредством изучения обязательных учебных материалов по курсу, дает аргументированные ответы, приводит примеры, в ответе присутствует свободное владение монологической речью, логичность и последовательность ответа. Однако допускаются неточности в ответе. Решил предложенные практические задания с небольшими неточностями.
«Удовлетворительно» (зачтено): студентом дан ответ, свидетельствующий в основном о знании процессов изучаемой дисциплины, отличающийся недостаточной глубиной и полнотой раскрытия темы, знанием основных вопросов теории, слабо сформированными навыками анализа явлений, процессов, недостаточным умением давать аргументированные ответы и приводить примеры, недостаточно свободным владением монологической речью, логичностью и последовательностью ответа. Допускается несколько ошибок в содержании ответа и решении практических заданий.
«Неудовлетворительно» (не зачтено): студентом дан ответ, который содержит ряд серьезных неточностей, обнаруживающий незнание процессов изучаемой предметной области, отличающийся неглубоким раскрытием темы, незнанием основных вопросов теории, неумением давать аргументированные ответы. Выводы поверхностны. Решение практических заданий не выполнено. Студент не способен ответить на вопросы даже при дополнительных наводящих вопросах преподавателя.
Приложения
Приложение 1.   ФОС_ТАЯТ_МиКН.docx

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Кауфман В.Ш. Языки программирования. Концепции и принципы: Учебник М.: ДМК Пресс // ЭБС "Лань", 2011 e.lanbook.com
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Вирт Н. Алгоритмы и структуры данных: М.: ДМК Пресс, 2010 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Алгоритмы. Методы. Исходнинки algolist.manual.ru
Э2 Онлайн-курс «Теория алгоритмических языков и трансляторов» на образовательном портале «Цифровой университет АлтГУ» portal.edu.asu.ru
6.3. Перечень программного обеспечения
1. Microsoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
2. Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
3. Chrome (http://www.chromium.org/chromium-os/licenses ), (бессрочно);
4. 7-Zip (http://www.7-zip.org/license.txt ), (бессрочно);
5. AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
6. ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
7. LibreOffice (https://ru.libreoffice.org/), (бессрочно);
8. Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
9. Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
10. Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
11. Okular (https://okular.kde.org/ru/download/), (бессрочно);
12. Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
1. Образовательный портал АлтГУ http://portal.edu.asu.ru/
2. Электронный каталог НБ АлтГУ «Книги»: http://www.lib.asu.ru/app/elecat/elecat=index1?base=book
3. Издательство «Лань» [Электронный ресурс]: электронно-библиотечная система. – URL: http://e.lanbook.com/
4. Издательство «Юрайт» [Электронный ресурс]: электронно-библиотечная система. – URL: http://biblio-online.ru
5. ЭБС «Университетская библиотека online»: https://biblioclub.ru/
6. ЭБС АлтГУ: http://elibrary.asu.ru/

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
106Л помещение для хранения и профилактического обслуживания учебного оборудования Стеллажи – 3 шт. осциллограф, паяльная станция, источник тока, переносные ноутбуки
107Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица
110М лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная 1 шт.; компьютеры: марка NAIO Corp Z520 - 14 ед.
109М лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 13 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная 1 шт.; компьютеры: марка NAIO Corp Z520 - 13 ед.
202Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка HP - 14 единиц; мониторы: марка ASUS модель VS197DE - 14 единиц
205Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 9 посадочных мест; компьютеры: марка КламаС Офис, мониторы: марка ACER модель V223HQL - 8 единиц; доска интерактивная Triumph MULTI TOUCH 78 + проектор NEC UM280X в комплекте
204Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка DEPO модель Neos 260 - 14 единиц; Интерактивная доска Smart board 680 IV со встроенным проектором v25
203Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка ASUS модель i5-6500 - 14 единиц
207Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка DEPO модель Neos 260, мониторы: марка Philips модель 227E3LHSU - 14 единиц
519М электронный читальный зал с доступом к ресурсам «ПРЕЗИДЕНТСКОЙ БИБЛИОТЕКИ имени Б.Н. Ельцина» - помещение для самостоятельной работы Учебная мебель на 46 посадочных мест; 1 Флипчарт; компьютеры; ноутбуки с подключением к информационно-телекоммуникационной сети "Интернет" и доступом в электронную информационно-образовательную среду; стационарный проектор: марка Panasonic, модель PT-ST10E; стационарный экран: марка Projecta, модель 10200123; система видеоконференцсвязи Cisco Telepresence C20; конгресс система Bosch DCN Next Generation; 8 ЖК-панелей
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)

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

Изучение дисциплины завершается зачетом. Успешное изучение дисциплины требует посещения лекций, активной работы на лабораторных работах, выполнения всех практических заданий преподавателя, ознакомления с основной и дополнительной литературой. Во время лекции студент должен вести краткий конспект. При этом обучающийся должен стараться найти ответы на затруднительные вопросы, используя рекомендуемую литературу или общедоступные ресурсы. Если ему самостоятельно не удалось разобраться в материале, необходимо сформулировать вопросы и обратится за помощью к преподавателю на консультации или ближайшей лекции. Выполнение студентами практических заданий направлено на:
- обобщение, систематизацию, углубление, закрепление полученных теоретических знаний по конкретным темам дисциплин;
- формирование необходимых профессиональных умений и навыков.
Помимо собственно выполнения практических заданий для каждого задания предусмотрена процедура защиты, в ходе которой преподаватель проводит устный или письменный опрос студентов для контроля понимания выполненных ими действий по теме занятия.
Самостоятельная работа.
- При изучении дисциплины не все вопросы рассматриваются на занятиях, часть вопросов рекомендуется преподавателем для самостоятельного изучения.
- Поиск ответов на вопросы и выполнение заданий для самостоятельной работы позволит вам расширить и углубить свои знания по курсу, применить теоретические знания в решении задач практического содержания, закрепить изученное ранее.
- Эти задания следует выполнять не «наскоком», а постепенно, планомерно, следуя порядку изучения тем курса.
- При возникновении вопросов обратитесь к преподавателю в день консультаций на кафедру.
- Выполнив их, проанализируйте качество их выполнения. Это поможет вам развивать умения самоконтроля и оценочные компетенции.
При подготовке к зачету в дополнение к изучению конспектов лекций, учебно-методических материалов и слайдов, необходимо пользоваться учебной литературой, рекомендованной настоящей программой. При подготовке к зачету нужно изучить определения всех понятий и теоретические подходы до состояния понимания материала, а также выполнить все практические задания в курсе.