Департамент образования города Москвы Государственное образовательное учреждение
высшего профессионального образования города Москвы
«Московский городской педагогический университет» Институт математики и информатики
Кафедра прикладной информатики
РАБОЧАЯ ПРОГРАММА
УЧЕБНОЙ ДИСЦИПЛИНЫ
«ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
И ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ»
По направлению 080500 "Бизнес-информатика"
Профиль подготовки – "Технологическое предпринимательство"»
Квалификация (степень) – «Бакалавр бизнес-информатики»
Форма обучения - очная.
Курс 3.
Семестр 5.
Москва
2013
Программа составлена в соответствии с требованиями ФГОС ВПО по направлению подготовки 080500 "Бизнес-информатика", профиль подготовки – "Технологическое предпринимательство"» Разработчики:
Кафедра прикладной информатики, доцент В.П. Офицеров Рецензенты:
Кафедра прикладной информатики, профессор В.А. Дикарев
Кафедра прикладной информатики, доцент Ф.О. Федин
Программа одобрена на заседании кафедры прикладной информатики (протокол №___от «__»________2013 г.)
Зав. кафедрой: д.т.н., профессор Ромашкова О.Н.
© ГБОУ ВПО МГПУ, 2013
© Кафедра прикладной информатики, 2013 Цель дисциплины: ознакомление студентов с теоретическими и организационно - методическими вопросами построения и функционирования интеллектуальных систем, ознакомление с основными методами функционального программирования, разработке интеллектуальных систем, привитие навыков практических работ по проектированию баз знаний, использования нейросетевых технологий. Задачи дисциплины: выработка у студентов системного подхода к решению задач инженерии знаний, навыков использования методов функционального программирования, способности ориентироваться в многообразии методов построения интеллектуальных информационных систем, их классификации. Рассмотреть особенности различных парадигм программирования, сравнить возможности процедурного и функционального программирования для решения различных классов задач. Освоить приёмы функционального программирования и дать навыки разработки приложений на языке F#.
2. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО
Место дисциплины в учебном процессе: 3 курс 5 семестр по очной форме обучения бакалавров. Изучение предусмотрено в базовой части цикла профессиональных дисциплин. Студенты должны предварительно изучить курсы по программе бакалавров или специалистов: «Информатика и программирование», «Дискретная математика», «Базы данных». Статус дисциплины в рабочем учебном плане Б.3.13 Общая трудоемкость по дисциплине в соответствии с ФГОС: 3 зачетные единицы (108 часов) в пятом семестре.
Количество аудиторных часов: 57, из них 21 - лекционные занятия и 36 - лабораторные работы. Количество часов для самостоятельной работы: 51 Отчетность по дисциплине: дифференцированный зачет в пятом семестре.
3. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ ДИСЦИПЛИНЫ Для успешного изучения данной дисциплины студенты должны обладать следующими знаниями и компетенциями:
знание базовых курсов дисциплин «Программирование», «Дискретная математика», «Базы данных», «Теория вероятностей и математическая статистика», «Теория систем и системный анализ». Процесс изучения дисциплины направлен на формирование следующих компетенций: ОК-1, ОК-7, ОК-16, ПК-3, ПК-15 , ПК-18, ПК-19, ПК-20. Общекультурные компетенции (ОК):
готов к ответственному и целеустремленному решению поставленных задач во взаимодействии с обществом, коллективом, партнерами (ОК-7);
способен работать с информацией из различных источников (ОК-16);
Профессиональные компетенции (ПК):
выбирать рациональные ИС и ИКТ-решения для управления бизнесом (ПК-3);
проектировать и внедрять компоненты ИТ-инфраструктуры предприятия, обеспечивающие достижение стратегических целей и поддержку бизнес-процессов (ПК-15);
разрабатывать контент и ИТ-сервисы предприятия и Интернет-ресурсов (ПК-18);
использовать основные методы естественнонаучных дисциплин в профессиональной деятельности для теоретического и экспериментального исследования (ПК-19);
использовать соответствующий математический аппарат и инструментальные средства для обработки, анализа и систематизации информации по теме исследования (ПК-20);
После изучения данной дисциплины студенты должны знать:
формы представления знаний;
классификацию ИИС;
методы функционального программирования
уметь:
использовать методы функционального программирования для разработки ИИС
владеть:
технологиями создания экспертных систем
основными принципами функционального программирования
навыками разработки приложений средней сложности на языке F#
4. ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ (В ЧАСАХ И ЗАЧЕТНЫХ ЕДИНИЦАХ)
Виды учебной работы
| Всего часов/
зачетных единиц
| Семестры
|
|
| 5
| Аудиторные занятия (всего)
| 57
| 57
| В том числе:
|
|
| Лекции
| 21
| 21
| Лабораторные работы (ЛР)
| 36
| 36
|
|
|
|
|
|
| Самостоятельная работа
| 51
| 51
|
|
|
| В том числе:
|
|
| Подготовка реферата
| 16
| 16
| Подготовка к лабораторным работам
| 10
| 10
| Решение задач и т.д.
| 25
| 25
| Курсовые экзамены
|
|
| Общая трудоемкость часы
(зачетные единицы)
| 108 (3 з.е.)
| 108
|
5. Структура и содержание дисциплины
5.1. Разделы дисциплин и виды занятий
№
п/п
| Наименование раздела дисциплины
(элемента модуля)
| Лекции
| Лабораторные занятия
| СРС
| Всего
| 1
| Тема 1. Эволюция информационных систем. Понятие ИИТ, основные свойства. Области применения ИИТ и классификация интеллектуальных информационных систем.
| 4
|
| 8
| 12
| 2
| Тема 2. Традиционные способы представления и обработки знаний в интеллектуальных системах. Архитектура ИИС. Проектирование ИИС. Методы приобретения знаний. Нейронные сети.
| 4
| 6
| 10
| 20
| 3
| Тема 3. Определение и краткая история функционального программирования. Основы функционального программирования на F#.
| 4
| 4
| 10
| 18
| 4
| Тема 4. Рекурсивные структуры данных. Списки. Примеры работы со списками.
| 4
| 10
| 11
| 25
| 5
| Тема5. Типовые приемы функционального программирования. Императивные и объектно-ориентированные возможности F#. Параллельное и асинхронное программирование.
| 5
| 16
| 12
| 33
|
5.2. Содержание разделов дисциплины
№ п/п
| Наименование раздела дисциплины (элемента модуля)
| Содержание раздела
| 1
| Тема 1. Эволюция информационных систем. Понятие ИИТ, основные свойства. Области применения ИИТ и классификация интеллектуальных информационных систем.
| Эволюция информационных систем. Понятие ИИТ, основные свойства. Технология создания экспертных систем. Реализация экспертных систем в предметной области. Применение искусственного интеллекта в разработке новых информационных технологий. Концепция интеллектуальной компьютерной программы. Основные направления исследований в области искусственного интеллекта. Системы с интеллектуальным интерфейсом. Самообучающиеся системы. Адаптивные информационные системы. Экспертные системы. Характерные особенности. Условия применения. Проблемные области: интерпретация, диагностика, прогнозирование, проектирование, планирование, слежение, управление. Использование экспертных систем для принятия решений. Системы поддержки решений. Интеллектуальные базы данных. Классификация запросов.
| 2
| Тема 2. Традиционные способы представления и обработки знаний в интеллектуальных системах. Архитектура ИИС. Проектирование ИИС. Методы приобретения знаний.
| Отличия знаний от данных. Типичные модели представления знаний. Логическая модель представления знаний. Представление знаний правилами продукций. Объектно-ориентированное представление знаний фреймами. Модель семантической сети. Классификационные признаки экспертных систем. Составные части ИИС: база знаний, механизм вывода, механизмы приобретения и объяснения знаний, интеллектуальный интерфейс. Формы организации и представления знаний в экспертных системах. Предметное (фактуальное) и проблемное (операционное) знания. Экстенсиональное и интенсиональное описание знаний. Декларативная и процедурная формы представления знаний. Пространство поиска решений. Логический и эвристический методы принятия решений в ИИС. Рассуждсния на основе дедукции, индукции и аналогии. Нечеткий вывод знаний. Немонотонность вывода. Обобщенная схема решения задач в ИИС. Приобретение знаний. Тестирование корректности знаний. Машинное обучение на примерах. Нейронные сети. Виды объяснений: ретроспективный, контекстный, негативный, гипотетический. Генерация объяснений. Диалоговое взаимодействие пользователя с ИИС, использование шаблонов, меню, естественного языка. Этапы проектирования: идентификация, концептуализация, формализация, реализация, тестирование, опытная эксплуатация. Разработка прототипов, развитие и модификация проекта. Участники процесса проектирования: предметные эксперты, инженеры знаний, конечные пользователи, их взаимодействие. Парадокс инженерии знаний.
Стратегии получения знаний. Аспекты извлечения знаний. Проблемы структурирования знаний. Семиотический подход к приобретению знаний. Методы извлечения знаний. Выявление «скрытых» структур знаний. Построение баз знаний для экспертных систем диагностики. Проблемы обучения интеллектуальных систем. Индуктивные выводы в логике. Средства компьютерной поддержки приобретения знаний. Методы и средства интеллектуального анализа данных.
Инструментальные средства разработки ИИС: языки программирования, языки представления знаний, генераторы, оболочки, средства автоматизации проектирования. Функциональное (F#, LISP, CLIPS), логическое (PROLOG), объектно-ориентированное (SMALLTALK, CLIPS) программирование. Использование инструментальных средств для различных проблемных областей и на различных этапах проектирования. Экспертная система анализа финансового анализа предприятия; экспертная система анализа эффективности финансово-хозяйственной деятельности. Экспертные системы инвестиционного проектирования. Динамические экспертные системы в управлении бизнес-процессами. Модель искусственного нейрона. Модели нейронных сетей. Построение нейронной сети. Многослойный персептрон. Обучение нейронных сетей с «учителем». Отбор и предварительная обработка исходных данных. Обучение нейронных сетей «без учителя». Сеть Кохонена.
| 3
| Тема 3. Определение и краткая история функционального программирования. Основы функционального программирования на F#.
| Зачем изучать функциональное программирование. Как установить и начать использовать F#. Применение функций vs. Присваивание. Упорядоченные кортежи, списки и вывод типов. Функциональные типы и описание функций. Условный оператор и опциональный тип. Типы данных, размеченное объединение и сопоставление с образцом. Рекурсия, функции-параметры и цикл for. Конструкции >>, |>.
| 4
| Тема 4. Рекурсивные структуры данных. Списки. Примеры работы со списками.
| Списки и конструкторы списков. Сопоставление с образцом. Простейшие функции обработки списков. Генераторы списков. Хвостовая рекурсия. Массивы. Деревья общего вида. Двоичные деревья. Другие структуры данных.
| 5
| Тема5. Типовые приемы функционального программирования. Императивные и объектно-ориентированные возможности F#. Параллельное и асинхронное программирование.
| Замыкания. Динамическое связывание и mutable-переменные. Генераторы и ссылочные переменные ref. Ленивые последовательности seq. Построение частотного словаря текстового файла. Мультипарадигмальность языка F#. Элементы императивного программирования на F#. Объектно-ориентированное программирование на F#. Моделирование объектной ориентированности через записи и замыкания. Асинхронные выражения и параллельное программирование.
|
5.3. Компетенции обучающегося, формируемые в процессе освоения дисциплины (дисциплинарного модуля)
Наименование дисциплинарного модуля
| Количество часов/зачетных единиц
| Формируемые компетенции
| Общее количество компетенций
| Тема 1. Эволюция информационных систем. Понятие ИИТ, основные свойства. Области применения ИИТ и классификация интеллектуальных информационных систем.
| 12
| ОК-1
| ОК-7
| ОК-16
| ПК-3
| ПК-15
|
|
| 5
| Тема 2. Традиционные способы представления и обработки знаний в интеллектуальных системах. Архитектура ИИС. Проектирование ИИС. Методы приобретения знаний.
| 20
| ОК-7
| ОК-16
| ПК-3
| ПК-15
| ПК-18
| ПК-19
| ПК-20
| 7
| Тема 3. Определение и краткая история функционального программирования. Основы функционального программирования на F#.
| 18
| ОК-16
| ПК-3
| ПК-15
| ПК-18
| ПК-19
| ПК-20
|
| 6
| Тема 4. Рекурсивные структуры данных. Списки. Примеры работы со списками.
| 25
| ПК-18
| ПК-19
| ПК-20
|
|
|
|
| 3
| Тема5. Типовые приемы функционального программирования. Императивные и объектно-ориентированные возможности F#. Параллельное и асинхронное программирование.
| 33
| ПК-15
| ПК-18
| ПК-19
| ПК-20
|
|
|
| 4
| |