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

Введение в программирование на Лиспе

Программа о принципах символьного программирования на языке Лисп. В программе изучаются рекурсивные функции, структуры данных и работа с интерпретатором для решения задач искусственного интеллекта.
Студентов 1741 Выпускников 208 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Программирование
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Эта учебная программа посвящена функциональной парадигме и мощным инструментам языка Лисп. В рамках обучения рассматриваются атомы, списки, свойства объектов и механизмы управления памятью. Подробно разбираются рекурсивные алгоритмы, отображения и работа с контекстами, которые являются фундаментом для системной инженерии и разработки в области ИИ. Обучение помогает расширить алгоритмическое мышление и освоить специфические методы обработки символьной информации. Программа ориентирована на программистов и исследователей, заинтересованных в глубоком понимании классических подходов к созданию интеллектуальных систем.
Цели
  • Сформировать понимание принципов символьного и функционального программирования.
  • Раскрыть особенности работы с рекурсией и специфическими структурами данных.
  • Дать базу для изучения алгоритмов искусственного интеллекта.
Чему я научусь?
  • Создавать рекурсивные функции и работать со списками и атомами.
  • Использовать отображения, функционалы и управлять контекстами вычислений.
  • Понимать устройство интерпретатора и оперировать вычислениями в Лиспе.

Авторы

Березин Никита Александрович
Березин Никита Александрович
Сотрудник ИСИ СО РАН им. А.П. Ершова.
Городняя Лидия Васильевна
Городняя Лидия Васильевна
Кандидат физико-математических наук,\nдоцент кафедр "Программирование" механико-математического факультета и "Системы информатики" факультета информационных технологий НГУ,старший научный сотрудник Института систем информатики СО РАН им. А.П.Ершова.
Чему я научусь?
  • Создавать рекурсивные функции и работать со списками и атомами.
  • Использовать отображения, функционалы и управлять контекстами вычислений.
  • Понимать устройство интерпретатора и оперировать вычислениями в Лиспе.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Рекурсивные функции и структуры данных Целью курса является изучение языка Лисп и техники программирования на Лиспе. Первая лекция вводит общие понятия,... Целью курса является изучение языка Лисп и техники программирования на Лиспе. Первая лекция вводит общие понятия, используемые при определении языка Лисп, его реализации и применении. В центре внимания идеи символьной обработки информации и принципы функционального программирования. ещё
Рекурсивные функции и структуры данных тест для курса Введение в программирование на Лиспе 50 мин
2 Работа с Лисп-системой Вторая лекция адресована практикам, предпочитающим изучение языка программирования сопровождать немедленным экспериментом, умеющим находить информацию в сетях... Вторая лекция адресована практикам, предпочитающим изучение языка программирования сопровождать немедленным экспериментом, умеющим находить информацию в сетях и устанавливать на компьютере системы программирования. Но и новичкам имеет смысл познакомиться с системой программирования на Лиспе сразу, не дожидаясь полной картины изучаемого языка. Рассмотрим следующее: ещё
Работа с Лисп-системой тест для курса Введение в программирование на Лиспе 50 мин
3 Списки и атомы Третья лекция знакомит с основами символьной обработки информации и структурами данных, удобно приспособленными для символьной обработки.... Третья лекция знакомит с основами символьной обработки информации и структурами данных, удобно приспособленными для символьной обработки. Рассматривается базовый набор элементарных функций над списками и S-выражениями (символьными выражениями). ещё
Списки и атомы тест для курса Введение в программирование на Лиспе 50 мин
4 Запись Лисп-программ Теперь рассмотрим правила записи программ на Лиспе. Такие правила различны для обычных и специальных функций. Для... Теперь рассмотрим правила записи программ на Лиспе. Такие правила различны для обычных и специальных функций. Для Лиспа характерно предпочтение рекурсивных функций. Функции могут иметь названия или быть безымянными, сконструированными для разового использования. ещё
Запись Лисп-программ тест для курса Введение в программирование на Лиспе 50 мин
5 Определение языка программирования Теперь можем дать более точное определение Лиспа как языка программирования и показать методы программирования на Лиспе.... Теперь можем дать более точное определение Лиспа как языка программирования и показать методы программирования на Лиспе. Рассмотрим синтаксис языка Лисп и его семантику. Познакомимся с техникой накопительных параметров, позволяющей при программировании обходиться без глобальных переменных, и методом вспомогательных функций, обеспечивающим управление уровнем абстрагирования информационной обработки. ещё
Определение языка программирования тест для курса Введение в программирование на Лиспе 50 мин
6 Интерпретатор Теперь рассмотрим определение операционной семантики Лиспа в виде универсальной функции, задающей правила вычисления форм и применения... Теперь рассмотрим определение операционной семантики Лиспа в виде универсальной функции, задающей правила вычисления форм и применения функций к аргументам. Проанализируем требования к определению семантики, удобно сопоставимой с синтаксической сводкой правил языка. Дадим лаконичное определение универсальной функции EVAL, вычисляющей произвольное выражение языка, и APPLY, применяющей функции языка к их аргументам. Отметим специфику предикатов и истинности, принятой в языке Лисп. ещё
Интерпретатор тест для курса Введение в программирование на Лиспе 50 мин
7 Отображения и функционалы После изучения идеального Лиспа переходим к знакомству с приемами создания его практичных расширений. В данной лекции... После изучения идеального Лиспа переходим к знакомству с приемами создания его практичных расширений. В данной лекции мы рассмотрим базовые средства обработки чисел и строк, примеры которых помогут разобраться с техникой программирования отображений. При определении отображений вполне естественно используются безымянные функции. Приведены примеры определения фильтров и сверток (редукций). ещё
Отображения и функционалы тест для курса Введение в программирование на Лиспе 50 мин
8 Имена и контексты Данная лекция посвящена организации эффективной работы с определениями функций. Рассматривается оптимизационная техника именования значений и подвыражений... Данная лекция посвящена организации эффективной работы с определениями функций. Рассматривается оптимизационная техника именования значений и подвыражений на разных уровнях вложенности блоков, представление переменных и констант, а также локализация функций по блокам ещё
Имена и контексты тест для курса Введение в программирование на Лиспе 50 мин
9 Оперирование вычислениями Теперь рассмотрим менее очевидные методы повышения эффективности и результативности вычислений, такие как замедленные (ленивые) вычисления, организация... Теперь рассмотрим менее очевидные методы повышения эффективности и результативности вычислений, такие как замедленные (ленивые) вычисления, организация оптимальных рецептов вычисления и работа с событиями. ещё
Оперирование вычислениями тест для курса Введение в программирование на Лиспе 40 мин
10 Свойства атомов и работа с памятью "Теперь рассмотрим более подробно следующие механизмы эффективной работы со структурами данных в памяти. Рассмотрим списки свойств... "Теперь рассмотрим более подробно следующие механизмы эффективной работы со структурами данных в памяти. Рассмотрим списки свойств атома, работающие как встроенная база данных, организацию структуры данных в памяти и деструктивные, способные разрушить состояние памяти, операции над структурами данных, а также основной механизм повторного использования памяти - ""Сборка мусора""." ещё
Свойства атомов и работа с памятью тест для курса Введение в программирование на Лиспе 50 мин
11 Стандартное программирование Эта лекция посвящена привычным методам программирования. Для этого в Лисп введена функциональная модель средств императивного программирования... Эта лекция посвящена привычным методам программирования. Для этого в Лисп введена функциональная модель средств императивного программирования в виде специальной функции Prog, а также специальных функций для представления в программах на Лиспе присваиваний и циклов. ещё
Стандартное программирование тест для курса Введение в программирование на Лиспе 20 мин
12 Расширения и приложения Лиспа В заключении рассмотрим как дальше осваивать Лисп, практично использовать возможности Лисп-систем и систем функционального программирования. Познакомимся... В заключении рассмотрим как дальше осваивать Лисп, практично использовать возможности Лисп-систем и систем функционального программирования. Познакомимся немного с историей Лиспа ещё
Расширения и приложения Лиспа тест для курса Введение в программирование на Лиспе 20 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.