Цели и задачи дисциплины
Целью курса является изучение парадигм, основных языков и методов программирования, используемых при решении задач искусственного интеллекта и инженерии знаний. Задачами изучения дисциплины является:
- знакомство с парадигмой декларативного программирования;
- освоение навыков программирования на языке функционального программирования Haskell;
- освоение навыков программирования на языке статистического программирования R.
Краткое содержание дисциплины
Декларативное программирование. Императивное и декларативное программирование. Основные концепции парадигмы функционального программирования. История языков Haskell и R.
Язык Haskell: алфавит, синтаксис, семантика. Обработка списков. Управляющие структуры. Реализация рекурсии. Отображения и функционалы. Функции высших порядков и лямбда-выражения. Композиции функционалов, фильтры, редукция. Чистые и нечистые функции. Сборка мусора. Ленивые вычисления.
Язык R: Установка, основы синтаксиса, запуск скриптов. Типы и структуры данных. Управляющие конструкции и циклы. Импорт-экспорт данных. Работа с пропущенными значениями, порядковыми и категориальными данными. Визуализация данных с помощью диаграмм. Применение функций для статистического анализа данных. Применение пакетов машинного обучения.