Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
____________________________________________________________________________
«УТВЕРЖДАЮ»
Декан факультета ИСТ
наименование факультета
Салмин А.А.
подпись Фамилия И.О.
« 28 » августа 2015 г.
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
Функциональное и Логическое Программирование (ФиЛП)
наименование учебной дисциплины (полное, сокращенное)
Направление (специальность) подготовки
|
02.03.03 - Математическое обеспечение и
администрирование информационных систем
|
|
код и наименование направления (специальности) подготовки
|
|
|
Профиль (специализация) подготовки
|
Технология программирования
|
|
указывается при наличии
|
|
|
Квалификация (степень) выпускника
|
бакалавр
|
|
бакалавр, магистр, дипломированный специалист
|
Факультет
|
Информационных систем и технологий (ИСТ)
|
|
наименование факультета
|
Кафедра
|
Программное обеспечение и управление в технических системах (ПОУТС)
|
|
наименование кафедры
|
|
|
Форма обучения
|
очная
|
|
очная, заочная и т. п.
|
|
|
Курс
|
3
|
семестр
|
6
|
|
|
|
Рабочая программа обсуждена на заседании кафедры ПОУТС
Протокол № 7 от « 07 » 10 2015 г.
Заведующий кафедрой ПОУТС
наименование кафедры
Тарасов В.Н.
подпись Фамилия И.О.
« 17 » 10 2015 г.
Самара
2015
Рабочая программа дисциплины «Функциональное и логическое программирование»
Рабочая программа предназначена для преподавания дисциплины «Функциональное и логическое программирование» студентам очной полной формы обучения по направлению подготовки бакалавра «02.03.03 – Математическое обеспечение и администрирование информационных систем» и профиля (специализации) подготовки «Технологий программирования» на 3 курсе в 6 семестре.
Рабочая программа дисциплины «Функциональное и логическое программирование», составлена в соответствии с решением Ученого Совета ФГОБУВПО ПГУТИ
Протокол № 7 от « 26 » 02 2014 г.
Программу составил
Доцент к.т.н. Стефанов М.А.
должность уч. степень, уч. звание подпись фамилия, имя, отчество
« ___ » _________ 2015 г.
Рецензент
Зав. Каф. Информатики
ГБОУ ВПО СГОАН к.э.н. Карбаев Д.С.
Должност уч. степень, уч. звание подпись фамилия, имя, отчество
« ___ » _________ 2015 г.
-
Цели и задачи дисциплины
Целями освоения дисциплины являются получение базовых знаний и формирования навыков в области декларативных языков программирования.
Задачами дисциплины являются изучение списочных структур, лямбда-исчисления А.Черча, рекурсивных алгоритмов различных видов и порядков, функций с функциональным аргументом и функциональным значением, и применение указанных инструментов для решения задач на конкретных языках программирования.
-
Место дисциплины в учебном процессе (в структуре ООП)
Дисциплина относится к циклу Б.1. дисциплин и вариативной части основной образовательной программы.
Изучение данной дисциплины базируется на следующих дисциплинах:
-
Информатика (ОПК-1, ОПК-2, ПК-2, ПК-6).
-
Дискретная математика (ОК-7, ОПК-2, ПК-7).
-
Математическая логика (ОК-7, ПК-7).
-
Программирование (ОПК-7, ОПК-8, ПК-7).
-
Требования к результатам освоения дисциплины
Дисциплина направлена на формирование компетенций и планируемых результатов обучения.
Код компетенции
|
Наименование компетенции
|
Результаты обучения (перечень компонентов)
|
Общепрофессиональные компетенции (ОПК)
|
ОПК-5
|
Владение информации о направлениях развития компьютеров с традиционной (нетрадиционной) архитектурой; о тенденциях развития функций и архитектур проблемно-ориентированных программных систем и комплексов
|
Знать принципы работы Lisp-машин
Уметь использовать рекурсивные алгоритмы
Владеть навыками работы с интерпретатором Lisp
|
ОПК-7
|
Способность использовать знания основных концептуальных положений функционального, логического, объектно-ориентированного и визуального направлений программирования, методов, способов и средств разработки программ в рамках этих направлений
|
Знать основные концептуальные положения функционального и логического программирования
Уметь разрабатывать программы в рамках этих направлений
Владеть навыками программирования на декларативных языках
|
ПК-4
|
Способность к выбору архитектуры и комплексирования современных компьютеров, систем, комплексов и сетей системного администрирования
|
Знать представление основных типов данных Lisp в оперативной памяти
Уметь использовать функции для изменения структуры списков
Владеть навыками создания функционалов, замыканий, макросов
|
-
Объем дисциплины и виды учебной работы
Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 часов.
(очная форма обучения).
Вид учебной работы
|
Всего часов
|
№ семестра
|
6
|
Общая трудоемкость дисциплины
|
108
|
108
|
Аудиторные занятия (Ауд)
|
50
|
50
|
Лекции (ЛК)
|
22
|
22
|
Практические занятия (ПЗ)
|
|
|
Семинары (Сем)
|
|
|
Лабораторные работы (ЛР)
|
28
|
28
|
Самостоятельная работа (СР)
|
58
|
58
|
Курсовой проект (работа) – (КП, КР)
|
|
|
Контрольное задание – (КЗ)
|
|
|
Расчетно-графическая работа (РГР)
|
|
|
Реферат (Реф)
|
|
|
Другие виды самостоятельной работы
|
|
|
Самоподготовка (Сам)
(самостоятельное изучение разделов, проработка и повторение лекционного материала и материала учебников и учебных пособий, подготовка к лабораторным и практическим занятиям, коллоквиумам, рубежному контролю и т.д.)
|
|
|
Вид итогового контроля
(экзамен, зачет, дифференцированный зачет)
|
Зачет
|
Зачет
|
5. Содержание дисциплины
5.1. Содержание разделов дисциплины
№ п/п
|
Наименование раздела дисциплины
|
Содержание раздела
|
1.
|
Введение
|
Классификация языков программирования;
Основные особенности императивных и декларативных стилей программирования;
Определение функциональной программы;
Особенности строго функционального программирования.
|
2.
|
Основы языка ЛИСП
|
Понятие атомов и списков; Определение функции; Иерархия вызовов; Базовые функции; Лямбда-Исчисление; Лямбда-выражение и Лямбда-вызов; Функция Defun и ключевые параметры.
|
3.
|
Вычисления в ЛИСП
|
Статичные и динамичные переменные;
Формы; Управляющие структуры; Внутреннее представление списков; Свойства символа; Ввод и вывод.
|
4.
|
Рекурсия
|
Понятие рекурсивных функций; Вычисление рекурсивных функций; Простая рекурсия; Параллельная рекурсия; Взаимная рекурсия; Рекурсивное определение вложенных циклов; Рекурсия высоких порядков.
|
5.
|
Функциональное программирование
|
Понятие функционалов; Применяющие функционалы; Отображающие функционалы; Замыкание; Абстрактный подход; Параметризированное определение функций; Рекурсивные функционалы;
|
6.
|
Макросы
|
Контекст вычисления макросов; Рекурсивные макросы; Тестирование макросов; Обратная блокировка; Макросы с побочным эффектом; Определение новых синтаксических форм.
|
5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
№ п/п
|
Наименование обеспечиваемых (последующих) дисциплин и коды компетенций
|
№ № разделов данной дисциплины, необходимых для
изучения обеспечиваемых (последующих) дисциплин и коды компетенций
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
5.3 Разделы дисциплины и виды занятий по семестрам
Разделы дисциплины, изучаемые в 4 семестре (очная форма обучения).
№
|
Наименование разделов дисциплины
|
Неделя семестра
|
Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах)
|
Формы текущего контроля успеваемости (по неделям семестра)
|
Всего
|
Аудиторная работа
|
Самостоятельная работа
|
ЛК
|
ПЗ
|
ЛР
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
1.
|
Введение
|
|
1
|
1
|
|
|
|
Опрос, отчет по лаб. раб.
|
2.
|
Основы языка ЛИСП
|
|
16
|
4
|
|
4
|
4
|
Опрос, отчет по лаб. раб.
|
3.
|
Вычисления в ЛИСП
|
|
24
|
5
|
|
4
|
4
|
Опрос, отчет по лаб. раб.
|
4.
|
Рекурсия
|
|
78
|
6
|
|
10
|
28
|
Опрос, отчет по лаб. раб.
|
5.
|
Функциональное программирование
|
|
36
|
4
|
|
8
|
14
|
Опрос, отчет по лаб. раб.
|
6.
|
Макросы
|
|
25
|
2
|
|
2
|
8
|
Опрос, отчет по лаб. раб.
|
|
Итого за семестр:
|
|
108
|
22
|
|
28
|
58
|
|
|
Всего за весь курс:
|
|
108
|
22
|
|
28
|
58
|
|
6. Тематический план изучения дисциплины
6.1 Лабораторные работы
№
ЛР
|
№№
семестров и разделов
курса
|
Наименование лабораторных работ
|
Код компетенции
|
Кол-во часов
|
1
|
2
|
3
|
4
|
5
|
1
|
7 сем, 2 раздел
|
Знакомство со средой Lispworks, единообразная префиксная нотация
|
ОПК-5,7, ПК-4
|
2
|
2
|
7 сем, 2 раздел
|
Работа со списками. Базовые функции.
|
ОПК-5,7, ПК-4
|
2
|
3
|
7 сем, 3 раздел
|
Условные и циклические предложения.
|
ОПК-5,7, ПК-4
|
2
|
4
|
7 сем, 3 раздел
|
Свойства символов.
|
ОПК-5,7, ПК-4
|
2
|
5
|
7 сем, 4 раздел
|
Рекурсивные вычисления.
|
ОПК-5,7, ПК-4
|
10
|
6
|
7 сем, 5 раздел
|
Применение функционалов, замыканий. Обобщение функций.
|
ОПК-5,7, ПК-4
|
8
|
7
|
7 сем, 6 раздел
|
Создание макросов.
|
ОПК-5,7, ПК-4
|
2
|
6.2 Практические (семинарские) занятия
Практические занятия по данной дисциплине не проводятся.
6.3 Курсовой проект (работа), контрольное задание.
Курсовой проект или контрольное задание по данной дисциплине, для указанных направлений и формы обучения отсутствует.
6.4 Самостоятельное изучение разделов дисциплины
№
раздела
|
Вопросы, выносимые на самостоятельное изучение
|
1
|
2
|
2
|
Обработка различных типы данных, функции работы с ними. Функции обработки списков более высоких порядков.
|
3
|
Генерация символов, структуро-разрушающие функции.
|
4
|
Методы теоретического анализа и способы повышения ресурсной эффективности рекурсивных алгоритмов. Алгоритмы: фон Неймана сортировки массива методом слияния; Карацубы умножения длинных чисел; эвристического поиска экстремума функции нескольких переменных; Тарьяна поиска остовного дерева в графе; Беллмана оптимальной одномерной упаковки.
|
5
|
Рекурсивные функционалы высоких порядков
|
6
|
Определение новых синтаксических форм
|
7. Учебно-методическое обеспечение дисциплины
7.1 Рекомендуемая литература
7.1.1 Основная литература
1. Peter Seibel, «Practical Common Lisp». – New York: Apress, 2005. -528c.
2. Л.В. Городняя, «Основы функционального программирования. Курс лекций». –М.: ИНТУИТ.РУ «Интернет-университет Информационных Технологий», 2004. –280с.
3. Х. Абельсон, Д. Д. Сассман, «Структура и интерпретация компьютерных программ». –М.: Добросвет, 2004. –576с.
7.1.2 Дополнительная литература
1. Э. Хювёнен, Й. Сеппянен, «Мир Лиспа» в 2-х томах. Пер. с финского под ред. В.Л. Стефанюка. – М.: Мир, 1990.
7.2 Средства обеспечения освоения дисциплины
7.2.1 Методические указания и материалы по видам занятий
Стефанов М.А. Методические указания по выполнению лабораторных работ по дисциплине «Функциональное и логическое программирование». Электронный вариант.
7.2.2 Программное обеспечение современных информационно-коммуникационных технологий по видам занятий
Программное обеспечение для выполнения лабораторных работ
LispWorks Personal Edition.
8. Формы контроля результатов обучения
№
|
Контролируемые разделы (темы) дисциплины
|
Код контролируемой компетенции
|
ФОС***
|
Форма оценочного средства
|
Комплект оценочных средств и кол-во вариантов заданий
|
1
|
2
|
3
|
4
|
5
|
1
|
Введение
|
|
|
|
2
|
Основы языка ЛИСП
|
ОПК-5,7,
ПК-4
|
Опрос. Отчет по лабораторным работам
|
Тематическая структура банка контрольных вопросов
|
3
|
Вычисления в ЛИСП
|
ОПК-5,7,
ПК-4
|
Опрос. Отчет по лабораторным работам
|
Тематическая структура банка контрольных вопросов
|
4
|
Рекурсия
|
ОПК-5,7,
ПК-4
|
Опрос. Отчет по лабораторным работам
|
Тематическая структура банка контрольных вопросов
|
5
|
Функциональное программирование
|
ОПК-5,7,
ПК-4
|
Опрос. Отчет по лабораторным работам
|
Тематическая структура банка контрольных вопросов
|
6
|
Макросы
|
ОПК-5,7,
ПК-4
|
Опрос. Отчет по лабораторным работам
|
Тематическая структура банка контрольных вопросов
|
|
Промежуточная аттестация
(зачет)
|
ОПК-5,7,
ПК-4
|
Задачи творческого уровня
|
Список задач к зачету
|
Текущий контроль успеваемости осуществляется путем оценки результатов выполнения заданий практических (семинарских), лабораторных, самостоятельной работы, посещения лекций.
Промежуточная аттестация осуществляется в форме зачета, который проводится по билетам, включающим 2 задачи. Оценка знаний студентов производится по следующим критериям:
оценка «зачет» выставляется студенту, если он предоставил корректное решение хотя бы одной задачи;
оценка «не зачет» выставляется студенту, если он не предоставил корректного решения ни одной из задач;
9. Материально-техническое обеспечение дисциплины
Помещения для осуществления образовательного процесса
|
Перечень основного оборудования, технических и электронных средств обучения и контроля знаний студентов с указанием их количества
|
Адрес (местоположение)
|
1
|
2
|
3
|
Аудитории для проведения лекционных занятий
|
Лекционная аудитория
|
Проектор, Пк
|
Московское шоссе, 77
|
Аудитории для проведения практических / семинарских / лабораторных занятий, контроля успеваемости
|
Аудитория для лабораторных занятий
|
«Компьютерный класс» (ауд. № 2-35, 2-33) с установленным необходимым ПО
|
Московское шоссе, 77
|
Аудитория для промежуточного контроля
|
«Компьютерный класс» (ауд. № 2-35, 2-33) с установленным необходимым ПО
|
Московское шоссе, 77
|
Читальный зал НТБ
|
|
Московское шоссе, 77
|
Помещения для групповых и индивидуальных консультаций
|
Аудитория для консультаций
|
«Компьютерный класс» (ауд. № 2-35, 2-33) с установленным необходимым ПО
|
Московское шоссе, 77
|
10. ЛИСТ согласования рабочей программы с другими дисциплинами на 2015/2016 учебный год
Направление подготовки: 02.03.03 Математическое обеспечение и
администрирование информационных систем
шифр и наименование
Профиль подготовки Технология программирования
наименование
Квалификация (степень)
выпускника: Бакалавр
наименование
Дисциплина: Функциональное и логическое программирование
наименование
Форма обучения: очная
(очная, очно-заочная, заочная)
Учебный год 2015 / 2016
Рекомендована заседанием кафедры ПОУТС
наименование кафедры
протокол № ___ от «___» ____________ 20___г.
Ответственный исполнитель, заведующий кафедрой
Профессор Тарасов В.Н.
должность подпись расшифровка подписи дата
Исполнители:
Доцент Стефанов М.А.
должность подпись расшифровка подписи дата
СОГЛАСОВАНО:
Заведующий кафедрой ПОУТС
наименование кафедры
___________ Тарасов В.Н. _________
подпись расшифровка подписи дата
Заведующий кафедрой ___________________________________________________
наименование кафедры
___________ ______________ _________
подпись расшифровка подписи дата
Декан ФЗО ___________ ______________ _________
подпись расшифровка подписи дата
Зам. декана по (направлению) специальности ________________________
шифр наименование
_________________ ___________ ______________ _________
должность подпись расшифровка подписи дата
Директор НТБ ___________ ______________ _________
подпись расшифровка подписи дата
11. ЛИСТ изменений и дополнений в рабочей программе
Дополнения и изменения в рабочей программе на 20__/20__ уч.г.
В рабочую программу вносятся следующие изменения:
1) …………………………………..;
2) …………………………………..;
3) ……………………………………
или делается отметка о нецелесообразности внесения каких-либо изменений на данный учебный год
Рабочая программа пересмотрена и одобрена на заседании кафедры _________
Протокол № _____ от « ___ » _________ 201__ г.
Заведующий кафедрой ___________________________________________________
наименование кафедры
___________ ______________ _________
подпись расшифровка подписи дата
СОГЛАСОВАНО:
Декан ФЗО ___________ ______________ _________
подпись расшифровка подписи дата
Зам. декана по (направлению) специальности ________________________
шифр наименование
_________________ ___________ ______________ _________
должность подпись расшифровка подписи дата
Внесенные изменения на 201__/201__ учебный год УТВЕРЖДАЮ
Декан факультета _____________________
наименование факультета
___________ ______________
подпись расшифровка подписи
« ____ » _______________ 201__ г.
|