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

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