Common Lisp函数编程简介

Введение в функциональное программирование на Common Lisp

Научитесь использовать концепции функционального программирования при написании программ на любых языках.

931 次查看
俄罗斯圣光机大学
edX
  • 完成时间大约为 5
  • 初级
  • 俄语
注:因开课平台的各种因素变化,以上开课日期仅供参考

你将学到什么

Основы языка Lisp и умение использовать его для решения практических задач.

Базовые сведения о функциональной парадигме программирования и способах её применения.

Некоторые часто используемые алгоритмы и структуры данных

课程概况

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

课程大纲

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

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

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

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

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

预备知识

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

千万首歌曲。全无广告干扰。
此外,您还能在所有设备上欣赏您的整个音乐资料库。免费畅听 3 个月,之后每月只需 ¥10.00。
Apple 广告
声明:MOOC中国十分重视知识产权问题,我们发布之课程均源自下列机构,版权均归其所有,本站仅作报道收录并尊重其著作权益。感谢他们对MOOC事业做出的贡献!
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc
  • (部分课程由Coursera、Udemy、Linkshare共同提供)

© 2008-2020 MOOC.CN 慕课改变你,你改变世界