• Duración:
    5 semanas
  • Dedicación:
    4–6 horas por semana
  • Precio:

    GRATIS
    Agregar un Certificado Verificado por $99 USD

  • Institución
  • Tema:
  • Nivel:
    Introductory
  • Idioma:
    Русский
  • Transcripción de video:
    Русский
  • Tipo de curso:
    Al ritmo del instructor

Prerrequisitos

Для успешного освоения курса не требуется никаких специальных знаний, кроме знаний уровня школьной информатики. Для успешного выполнения заданий рекомендуется установить компилятор Lisp, поддерживающий стандарт Common Lisp, например, SBCL.

Sobre este curso

Omitir Sobre este curso

Сегодня функциональное программирование становится все более популярным. Функциональные языки и заложенные в них концепции активно применяются в разработке программного обеспечения, работающего под высокой нагрузкой и предъявляющего повышенные требования к безопасности и масштабируемости.
Многие приемы функционального программирования можно применять и в традиционных процедурных и объектно-ориентированных языках. Особенно учитывая, что такие языки, как Java, C++, С#, Python, со временем приобретают все больше и больше возможностей, характерных для функциональных языков.
В курсе функциональный подход к написанию программ иллюстрируется с помощью Lisp — одного из самых знаковых для функционального программирования языков.
По окончании курса вы сможете применять базовые концепции функционального программирования при написании программ на любых языках, а также получите опыт использования языка Lisp для решения практических задач.

Lo que aprenderás

Omitir Lo que aprenderás
  • Основы языка Lisp и умение использовать его для решения практических задач.
  • Базовые сведения о функциональной парадигме программирования и способах её применения.
  • Некоторые часто используемые алгоритмы и структуры данных

Plan de estudios

Omitir Plan de estudios

Неделя 1
Парадигмы программирования, место и роль функциональной парадигмы,
история развития языков программирования, история языка Lisp, принципы
исполнения программ на языке Lisp и других языках.
Основы языка Lisp, формы и функции, система типов, предикаты и
элементарные логические функции, операции с байтами и битами.

Неделя 2
Массивы, списки и строки в языке Lisp, простейшие алгоритмы работы со
списками, ассоциативные списки, построение деревьев и множеств на основе
списков.
Определение функций в языке Lisp, управление памятью, области видимости
и время жизни переменных, механизмы вызова функций, итерация и рекурсия,
мемоизация, простейшие рекурсивные алгоритмы, хвостовые рекурсивные вызовы.

Неделя 3
Анонимные функции и замыкания, функции как объекты первого класса,
проблема фунарга.
Практическое использование приемов функционального программирования,
отображение, свертка и фильтрация последовательностей, левая и правая
свертки, работа с хэш-таблицами.

Неделя 4
Средства макрообработки текстов программ, макросы в языке Lisp, проблемы
совпадения имен, анафорические макросы, макрос LOOP, предотвращение
повторного вычисления аргументов.
Организация ввода-вывода в программах на языке Lisp, ссылочная
прозрачность и чистота функций, основные функции ввода-вывода, работа с
файлами, сокетами и потоками ввода-вывода.

Неделя 5
Макросы чтения в языке Lisp, ленивые вычисления и их роль в
функциональном программировании, подходы к реализации ленивых вычислений
в программе на языке Lisp. Подведение итогов курса, экзамен.

Conoce a tus instructores

Alexei Guirik
Assistant Professor, Faculty of Information Technology Security
ITMO University

Obtén un Certificado Verificado para destacar los conocimientos y las habilidades que adquieras
$99 USD

Ver un modelo de certificado de edX en PDF
  • Oficial y verificado

    Obtén un certificado con la firma del instructor y el logotipo de la institución para demostrar tus logros y aumentar las posibilidades de conseguir trabajo

  • Fácil de compartir

    Agrega el certificado a tu currículum o publícalo directamente en LinkedIn

  • Incentivo comprobado

    El certificado te da un motivo más para completar el curso

  • Apoya nuestra labor

    edX, una organización sin fines de lucro, se sustenta con los certificados verificados para financiar la educación gratuita para todo el mundo