Скачать 251.38 Kb.
|
РОССИЙСКАЯ ФЕДЕРАЦИЯМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИГосударственное образовательное учреждение высшего профессионального образования ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНСТИТУТ МАТЕМАТИКИ, ЕСТЕСТВЕННЫХ НАУК И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙКАФЕДРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯОХОТНИКОВ Е.С. РЕКУРСИВНО-ЛОГИЧЕСКОЕ И ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕУчебно-методический комплекс. Рабочая программа для студентов очной формы обучения, направление 010500 «Математическое обеспечение и администрирование информационных систем», профиль подготовки «Технологии программирования» Тюменский государственный университет 2011 Охотников Е.С. Рекурсивно-логическое и функциональное программирование. Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения, направление 010500 «Математическое обеспечение и администрирование информационных систем», профиль подготовки «Технологии программирования». Тюмень, 2011, ___ стр.Рабочая программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению и профилю подготовки. Рабочая программа дисциплины «Рекурсивно-логическое и функциональное программирование» опубликована на сайте ТюмГУ: [электронный ресурс] / Режим доступа: http://www.umk3.utmn.ru., свободный. Рекомендовано к изданию кафедрой программного обеспечения. Утверждено проректором по учебной работе Тюменского государственного университета. ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова И.Г., д.п.н, профессор© Тюменский государственный университет, 2011. © Охотников Е.С., 2011.
Целью изучения дисциплины является приобретение теоретических знаний и выработка профессиональных навыков в области функционального и рекурсивно-логического программирования. Изучение дисциплины направлено на формирование у студентов базовых знаний теоретических основ и практических навыков в области решения задач функционального и рекурсивно-логического программирования. Задачей дисциплины является ознакомление с основными терминами, понятиями, принципами и методами, применяющимися в функциональном и рекурсивно-логическом программировании на примере языков функционального программирования Lisp, Haskell и языка рекурсивно-логического программирования PROLOG.
Дисциплина «Рекурсивно-логическое и функциональное программирование» входит в цикл профессиональных дисциплин вариативной части Федерального государственного образовательного стандарта высшего профессионального образования (ФГОС ВПО) по направлению «Математическое обеспечение и администрирование информационных систем» Дисциплина «Рекурсивно-логическое и функциональное программирование» базируется на знаниях, полученных в ходе изучения дисциплин «Структуры и алгоритмы компьютерной обработки данных», «Технологии разработки программного обеспечения», входящими в цикл профессиональных дисциплин базовой части ФГОС ВПО по направлению «Математическое обеспечение и администрирование информационных систем»
В результате освоения ООП бакалавриата выпускник должен обладать следующими компетенциями:ОК 6. исследовательские навыки; ОК 7. способность учиться; ПК 22 знать принципы обеспечения условий безопасности жизнедеятельности при эксплуатации аппаратуры и систем различного назначения; ПК 23 знать проблемы и направления развития технологий программирования; ПК 24 знать основные методы и средства автоматизации проектирования, производства, испытаний и оценки качества программного обеспечения; ПК 25 знать направления развития компьютеров с традиционной (нетрадиционной) архитектурой; тенденции развития функций и архитектур проблемно-ориентированных программных систем и комплексов; ПК 26 знать проблемы и тенденции развития рынка программного обеспечения; ПК 27 знать основные концептуальные положения функционального, логического, объектно-ориентированного и визуального направлений программирования, методы, способы и средства разработки программ в рамках этих направлений; ПК 28 знать методы проектирования и производства программного продукта, принципы построения, структуры и приемы работы с инструментальными средствами, поддерживающими создание программного обеспечения ; ПК 29 знать методы организации работы в коллективах разработчиков ПО, направления развития методов и программных средств коллективной разработки ПО; ПК 30 знать архитектуру, алгоритмы функционирования систем реального времени и методы проектирования их программного обеспечения; ПК 31 иметь навыки использования современных системных программных средств: операционных систем, операционных и сетевых оболочек, сервисных программ; ПК 32 иметь навыки использования метода системного моделирования при исследовании и проектировании программных систем; ПК 33 иметь навыки разработки моделирующих алгоритмов и реализации их на базе языков и пакетов прикладных программ моделирования; ПК 34 иметь навыки использования основных моделей информационных технологий и способов их применения для решения задач в предметных областях; ПК 35 иметь навыки выбора архитектуры и комплексирования современных компьютеров, систем, комплексов и сетей системного администрирования; ПК 36 иметь навыки выбора, проектирования, реализации, оценки качества и анализа эффективности программного обеспечения для решения задач в различных предметных областях. В результате освоения дисциплины обучающийся должен:
Таблица 2. Виды и формы оценочных средств в период текущего контроля
Таблица 3. Планирование самостоятельной работы студентов
Дисциплина не является обеспечивающей, изучается в 8 (завершающем) семестре.
Модуль 1. Тема 1.1. Классификация парадигм программирования. Парадигмы программирования. Классификация языков программирования. Основные различия между императивной и декларативной парадигмами. Тема 1.2. Декларативная парадигма программирования. Функциональная, резолюционная и продукционная парадигмы как примеры группы декларативных парадигм. Модуль 2 Тема 2.1. История развития функционального программирования. Индуктивный вывод. Математическая индукция. Лямба – исчисление. Теория рекурсивных функций. Сравнение лямба - исчисления и машины Тьюринга. Создание первых функциональных языков, их предназначение. Современное применение языков функционального программирования. Абстрактный функциональный язык. Основные свойства языков функционального программирования. Тема 2.2. Язык функционального программирования Lisp. Интерпретатор Lisp. Атомы, списки. Стандартные функции, оперирующие с числами, выражения с функциями. Логические значения, предикаты, условные выражения. Функции, их определение и вызов, параметры функции. Функции для работы со списками. Рекурсивные функции. Библиотека стандартных функций. Тема 2.3. Язык функционального программирования Haskell. Интерпретатор Huskell. Стандарт языка Haskell 98. Понятие чистого функционального языка программирования. Синтаксические отличия Haskell и Lisp. Стандартные функции Haskell. Функции, их определение и вызов, параметры функции. Сопоставление с образцом. Функции для работы со списками. Рекурсивные функции в языке Haskell. Модуль 3 Тема 3.1. История развития рекурсивно –логического программирования. Область применения языков рекурсивно- логического программирования. Понятие экспертной системы. Представление знаний и логические программы. Разработка программ в области искусственного интеллекта. Основные этапы развития и современное состояние языков рекурсивно –логического программирования. Тема 3.2. Язык рекурсивно –логического программирования Prolog. Константы, переменные, логические формулы, предикаты. Логическое следствие и логический вывод. Общая резолюция сверху вниз. Подстановка. Унификация. Логическая программа. Целевое утверждение. Стратегия управления в логической программе. Ветвление, итерация, рекурсия. Предложения в виде фактов. Примеры программ. Списки в языке Пролог. Средства работы со списками.
Не предусмотрены.
Тема 1.2 .Разработка программ в декларативном стиле в процедурном языке программирования. Тема 2.2 . Лямбда-выражение и специальная форма DEFUN. Простые и условные формы. Рекурсивное определение функции. Алгоритм сортировки слиянием на языке Lisp. Тема 2.3. Алгоритм «быстрой» сортировки на языке Haskell. Передача параметров и область их действия. Тема 3.2. Разработка простых логических программ. Алгоритм сортировки слиянием на языке Пролог.
Не предусмотрены
Примерные темы рефератов:
Вопросы к зачету:
а) аудиторные занятия:
б) активные и интерактивные формы
в) внеаудиторные занятия:
11.1. Основная литература:
11.2. Дополнительная литература: Не требуется. 11.3. Программное обеспечение и Интернет – ресурсы: Интерпретаторы языков функционального и рекурсивно-логического программирования Lisp, Haskell, Prolog.
Учебные аудитории для проведения лекционных занятий, оснащенные мультимедийным оборудованием. Компьютерные классы с установленными интерпретаторами языков функционального и рекурсивно-логического программирования. |