МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Саратовский государственный университет имени

Факультет компьютерных наук и информационных технологий

УТВЕРЖДАЮ

___________________________

"__" __________________20__ г.

Рабочая программа дисциплины

ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ

Направление подготовки

010300 Фундаментальная информатика и информационные технологии

Профиль подготовки

Информатика и компьютерные науки

Квалификация (степень) выпускника

Бакалавр

Форма обучения

очная

Саратов,

2011 год

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

Формирование у студентов общих методологичеких основ и практических навыков разработки программных систем с использованием рекурсивно-логического подхода к программированию. Вместе с другими дисциплинами изучение материалов курса должно способствовать становлению профессиональной культуры бакалавра по направлению Фундаментальная информатика и информационные технологии.

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

Данная учебная дисциплина входит в раздел «Факультативные дисциплины» ФГОС-3.

Для изучения дисциплины необходимы знания и умения сформированные у обучающихся в результате освоения курсов «Теоретическая информатика», «Основы программирования», «Дискретная математика», «Математическая логика и теория алгоритмов».

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

Данная дисциплина способствует формированию следующих компетенций:

-  способность применять в профессиональной деятельности современные языки программирования и языки баз данных, методологии системной инженерии, системы автоматизации проектирования, электронные библиотеки и коллекции, сетевые технологии, библиотеки и пакеты программ, современные профессиональные стандарты информационных технологий (в соответствии с профилями) (ПК-1);

НЕ нашли? Не то? Что вы ищете?

-  детальное знание парадигм и методологий программирования, особенностей языков программирования общего и специального назначения, наиболее широко используемых средств программирования (ПК-18)

-  понимание концепций, синтаксической и семантической организации, методов использования современных языков программирования (ПК-19)

В результате освоения дисциплины обучающийся должен:

Знать:

-  основные концептуальные положения функционального направления программирования, методов и средств разработки этого направления;

-  направления развития технологий функционального программирования;

-  один из языков функционального программирования.

Уметь:

-  самостоятельно составлять алгоритм на одном из языков функционального программирования;

-  анализировать алгоритмы, составленные на языках функционального программирования.

-  обосновать выбор программирования для решения конкретных задач;

-  обосновать выбор представление данных для решения поставленной задачи;

-  обосновать выбор методов обработки данных для решения поставленной задачи;

-  разрабатывать и тестировать программы с применением современных программных средств.

Владеть:

-  навыками использования языков функционального программирования;

-  навыками использования языков логического программирования.

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

Общая трудоемкость дисциплины составляет 4 зачетные единицы, 144 часа.

п/п

Раздел дисциплины

Семестр

Неделя семестра

Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах)

Формы текущего контроля успеваемости (по неделям семестра)

Формы промежуточной аттестации (по семестрам)

1

Декларативное программирование.

8

1

ЛБ:1

СР:0

Контрольная на 13 неделе

2

Лямбда-исчисление А. Черча.

8

1-3

ЛБ:4

СР:1

Контрольная на 13 неделе

3

Функциональные языки.

8

3

ЛБ:1

СР:0

Контрольная на 13 неделе

4

Основы языка Scheme.

8

4-7

ЛБ:8

СР:3

Контрольная на 13 неделе

5

Рекурсия.

8

8-10

ЛБ:6

СР:4

Контрольная на 13 неделе

6

Функции высшего порядка.

8

11-13

ЛБ:6

СР:2

Контрольная на 13 неделе

Промежуточная аттестация

Зачет

ИТОГО

26

10

Функциональное программирование. Общие сведения о языках функционального программирования.

Лямбда-исчисление А. Черча. Программирование в функциональных обозначениях.

Функциональные языки. Строго функциональный язык. Приемы программирования. Представление и интерпретация функциональных программ. Отладка программ. Соответствие между функциональными и императивными программами.

Основы языка Scheme. Программирование с помощью функций. Символьные выражения: атомы и списки. Базовые функции и предикаты. Функции. Определение функций. Специальные конструкции языка Scheme.

Рекурсия. Простая рекурсия. Параллельная и взаимная рекурсия. Хвостовая рекурсия. Списки. Работа со списками. Деревья. Строки.

Функции высшего порядка.

На лабораторных занятиях преподаватель демонстрирует материал по соответствующей тематике обучающимся, после чего они выполняют общие задания для усвоения полученного материала. Кроме этого студенты во время лабораторных занятий выполняют свои индивидуальные задания для отчета по контрольной работе.

5.  Образовательные технологии

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

6.  Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины.

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

а) основная литература:

1.   Сергиевский Г. М., Волчёнков Н. Г. Функциональное и логическое программирование: учеб. пособие для студентов вузов - М. : Изд. центр "Академия", 2010

б) дополнительная литература:

1.  Городняя Л. В. Основы функционального программирования: курс лекций – М.: Интернет-Ун-т Информ. Технологий, www. *****, 2004

в) программное обеспечение и Интернет-ресурсы.

Интерпретатор языка Scheme,

Интерпретатор языка Prolog

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

Лекционная аудитория с возможностью демонстрации электронных презентаций при уровне освещения, достаточном для работы с конспектом. Компьютерный класс оснащенный соответствующим программным обеспечением, с возможностью демонстрации мультимедийных презентаций.

Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПООП ВПО по направлению и профилю подготовки Информатика и компьютерные науки.

Автор

доцент кафедры

математической кибернетики и компьютерных наук

___________

Программа одобрена на заседании кафедры математической кибернетики и компьютерных наук от «___» ________ 2011 года, протокол № ___.

Заведующий кафедрой

математической кибернетики и компьютерных наук

___________

Декан факультета КНиИТ,

доцент

___________