Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
...
29 downloads
165 Views
171KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
РАБОЧАЯ ПРОГРАММА дисциплины ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220400 - “Программное обеспечение вычислительной техники и автоматизированных систем” и бакалавров по направлению 552800 – «Информатика и вычислительная техника»
Санкт-Петербург 2001 1
2
Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
“УТВЕРЖДАЮ” Проректор по учебной работе проф. ___________ Ушаков В.Н. “_____”_______________2001 г.
РАБОЧАЯ ПРОГРАММА дисциплины ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220400 - “Программное обеспечение вычислительной техники и автоматизированных систем” и бакалавров по направлению 552800 – «Информатика и вычислительная техника» Факультет Компьютерных технологий и информатики Кафедра Математического обеспечения ЭВМ Курс – 3 Семестр – 5 Лекции
32 ч.
Курсовое проектирование
16 ч.
Аудиторные занятия Самостоятельные занятия Всего часов
48 ч. 42 ч. 90 ч.
Текущий контроль
2001
3
5 семестр
Рабочая программа обсуждена на заседании кафедры Математического обеспечения ЭВМ “____”_______________2001 г., протокол №______.
Рабочая программа согласована с рабочими программами изученных ранее дисциплин: 1) «Программирование» 2) «Алгоритмы и структуры данных»
Рабочая программа одобрена методической комиссией факультета Компьютерных технологий и информатики “____”_____________2001г.
4
Цели и задачи дисциплины Целью дисциплины является изучение и практическое освоение средств функционального программирования для решения научных и прикладных задач. В качестве инструментального средства изучается язык ЛИСП. Рассматриваются теоретические и прикладные аспекты использования программных средств для решения задач искусственного интеллекта. Требования к уровню освоения дисциплины В результате изучения дисциплины студенты должны: 1. Знать теоретические основы и прикладные средства функционального программирования. 2. Уметь использовать теоретические основы и прикладные средства функционального программирования при решении практических задач, в частности, задач искусственного интеллекта. 3. Иметь представление о тенденциях и перспективах развития инструментальных средств функционального программирования. Содержание рабочей программы Тема 1. Введение в проблематику функционального программирования. Применение функционального программирования в системах искусственного интеллекта. Задачи искусственного интеллекта. Современные парадигмы решения задач искусственного интеллекта. Особенности языков функционального программирования. Использование функционального программирования для разработки систем искусственного интеллекта. Тема 2. Теоретические основы функционального программирования. Рекурсивные функции и лямбда-исчисление А. Черча. Программирование в функциональных обозначениях. Понятие строго функционального языка. Представление и интерпретация функциональных программ. Тема 3. Базовые функции языка ЛИСП. Основные элементы языка: алфавит, синтаксис, семантика. Цикл работы интерпретатора. Атом, список, символьное выражение, функция. Селекторы, конструкторы и предикатные функции. Внутреннее представление списков. Тема 4. Системные свойства символа. Печатное имя, значение, определение функции, список свойств. Определение и модификация значений системных свойств. Обобщенная функция присваивания.
5
Тема 5. Определение функции. Лямбда-выражение и лямбда-вызов. Функция определения функции. Список аргументов. Сопоставление формальных и фактических параметров при оценивании лямбдавызова. Тема 6. Управляющие структуры. Классификация управляющих структур. Структуры следования, разветвления и повторения. Программирование в императивном стиле средствами функционального языка. Тема 7. Рекурсивный стиль программирования. Основы теории рекурсивных функций. Средства и приемы построения рекурсивных программ. Сравнение рекурсивного и итеративного подхода к реализации алгоритмов. Тема 8. Функционалы. Понятие функционала. Применяющие и отображающие функционалы. Организация циклических вычислений с применением функционалов. Примеры решения задач. Тема 9. Ввод и вывод. Организация работы с файлами. Основные функции ввода/вывода информации. Макросы чтения. Программирование с использованием «черепаховой графики». Тема 10. Объектно-ориентированное программирование средствами ЛИСПа. Концепции организации интерфейса. Классы, методы, наследование. Примеры создания и инициализации объектов. Тема 11. Заключение. Перспективы развития языков функционального программирования. Цели и содержание курсовой работы При выполнении курсовой работы студенты получают навыки разработки рекурсивных алгоритмов и их реализации средствами языка функционального программирования. В ходе выполнения курсовой работы студенту предоставляется возможность регулярно консультироваться с преподавателем и в его присутствии писать и отлаживать фрагменты программ на компьютере. Задание составлено таким образом, что его части можно выполнять по мере изучения лекционного материала. В результате каждый студент должен продемонстрировать компьютерную программу и представить пояснительную записку с изложением постановки задачи, результатов выполнения отдельных этапов, включая тестирование составленной программы.
6
Распределение учебных часов по темам и видам занятий № темы
Объем учебных часов Название разделов и тем
1
Введение в проблематику функционального программирования. 2 Теоретические основы функционального программирования. 3 Базовые функции языка ЛИСП. 4 Системные свойства символа. 5 Определение функции. 6 Управляющие структуры. 7 Рекурсивный стиль программирования. 8 Функционалы. 9 Ввод и вывод. 10 Объектно-ориентированное программирование средствами ЛИСПа. 11 Заключение. Курсовое проектирование ИТОГО:
Лекции
Лабор. Занятия
Практ. занятия
Аудит. Занятия
Самост. Работа
Всего
2
2
2
4
3
3
2
5
1 2 2 3 5
1 2 2 3 5
2 3 2 2 2
3 5 4 5 7
4 4 4
4 4 4
3 2 2
7 6 6
2
2 16 48
20 42
2 36 90
32
Методика текущего контроля По окончании изложения материала каждого из важнейших разделов курса на лекции проводится контрольная, рассчитанная на 15-20 мин. Успешное выполнение заданий, содержащихся в контрольной работе, демонстрирует, что студент усвоил теоретический материал последних лекций и может применить его при решении задач. График текущего контроля Номер контрольной 1 2 3 4
Выполняется после завершения изучения темы 3 5 7 9
7
Номер недели (ориентировочно) 3 5 9 13
ЛИТЕРАТУРА Основная
№
Название, библиографическое описание
1
Хювенен Э., Сеппянен И. Мир ЛИСПа. В 2 т. М.: Мир, 19901
2
Филд А., Харрисон П. Функциональное программирование. – М.: Мир, 1993
3
Хендерсон П. Функциональное программирование. Применение и реализация. - М.: Мир, 1983
Л
Кп (р)
Инд. зад.
К-во экз. в библ. (на каф.)
Гриф
5
Т1: 54; Т2: 61
ГК СССР по нар.обр.
5
5
Уч 8; ф3
Ком. по ВШ Мин. науки
5
5
29
МВ и ССО СССР
5
Дополнительная №
Название, библиографическое описание
К-во экз. в библ. (на каф.)
1
Уинстон П. Искусственный интеллект. М., Мир, 1990
0
2
Steel G.L. COMMON LISP: The Language. 2nd ed., 1990
0
Основная литература, поименованная под номерами 1-3, представляет собой переводы с английского языка книг, которые используются в качестве учебных в других странах. Они содержат материал, отвечающий направленности дисциплины «Функциональное программирование», и поэтому разумно использовать их при проработке лекционного материала и выполнения курсовой работы.
1
Основная литература, поименованная под номерами 1-3, представляет собой переводы на русский язык книг, которые используются в качестве учебных в других странах. Они содержат материал, отвечающий направленности дисциплины «Функциональное программирование», и поэтому их разумно использовать при проработке лекционного материала и выполнении курсовой работы. Книга Стила, помещенная в таблицу дополнительной литературы под номером 2, является описанием стандарта Коммон Лиспа, она может использоваться как справочное пособие при написании программ, входящих в состав курсовой работы. 8
Автор: сК. т. н., доц.
Чебоксарова Т.Н.
Рецензент К. т. н., доцент
Сульповар В.Л.
Зав. Кафедрой Математического обеспечения ЭВМ Д .т. н., проф. Декан факультета Компьютерных технологий и информатики Д. т. н., проф.
Лисс А.Р. Герасимов И.В.
Программа согласована:
Зав. отделом учебной литературы
Смирнова О.Н.
Председатель методической комиссии факультета Компьютерных и информатики К.т.н., доц.
Чугунов Л.А.
Руководитель методического отдела к.т.н., доцент
Марасина Л.А.
9