06.09.2021 | 10 недель | Открытое образование |
О курсе
Курс посвящен введению в функциональное программирование. В настоящее время интерес к функциональному программированию неуклонно растет, а функциональные языки программирования и заложенные в них концепции активно применяются в разработке программного обеспечения, работающего под высокой нагрузкой и предъявляющего повышенные требования к безопасности и масштабируемости. Многие приемы функционального программирования можно применять и в традиционных процедурных и объектно-ориентированных языках, особенно учитывая тот факт, что такие языки, как Java, C++, С#, Python, со временем заимствуют все больше и больше инструментов у чистых функциональных языков. Объяснение базовых концепций функционального подхода к написанию программ в курсе иллюстрируется с помощью одного из самых знаковых для функционального программирования языков – Lisp. По окончанию курса обучающиеся смогут применять базовые концепции фукнционального программирования при написании программ на любых языках, а также получат опыт использования языка Lisp для решения практических задач.
Результат
- Умение решать задачи прикладного программирования с использованием базовых приемов функционального программирования (РО-1)
- Умение применять язык программирования Lisp для написания программ (РО-2)
Формируемые компетенции
- 02.04.03 Математическое обеспечение и администрирование информационных систем
- Готовность к использованию основных моделей информационных технологий и способов их применения для решения задач в предметных областях (ПК-2)
- Готовность к разработке моделирующих алгоритмов и реализации их на базе языков и пакетов прикладных программ моделирования (ПК-3)
- 09.03.01 Информатика и вычислительная техника
- Способность разрабатывать модели компонентов информационных систем, включая модели баз данных и модели интерфейсов «человек – электронно-вычислительная машина» (ПК-1)
- Способность разрабатывать компоненты программно-аппаратных комплексов и баз данных, используя современные инструментальные средства и технологии программирования (ПК-2)
- 09.03.02 Информационные системы и технологии
- Способность к проектированию базовых и прикладных информационных технологий (ПК-11)
- Способность к проектированию базовых и прикладных информационных технологий (ПК-12)
- 09.03.03 Прикладная информатика
- Способность разрабатывать, внедрять и адаптировать прикладное программное обеспечение (ПК-2)
- Способность программировать приложения и создавать программные прототипы решения прикладных задач (ПК-8)
- 09.03.04 Программная инженерия
- Готовность применять основные методы и инструменты разработки программного обеспечения (ПК-1)
- Владение навыками использования различных технологий разработки программного обеспечения (ПК-3)
- 10.03.01 Информационная безопасность
- Способность применять программные средства системного, прикладного и специального назначения, инструментальные средства, языки и системы программирования для решения профессиональных задач (ПК-3)
О преподавателях
Входные требования
Необходимым условием для освоения курса является знание основ вычислительной техники и дискретной математики. Для прохождения курса требуется компилятор Lisp, поддерживающий стандарт Common Lisp, например, GNU CLISP или SBCL (http://www.sbcl.org/platform-table.html).
Руководство по установке компилятора можно скачать здесь.
Содержание курса
В курсе рассматриваются следующие темы:
1. Введение в функциональное программирование и формальные основания функционального программирования
2. Базовые синтаксические конструкции, типы, символы и списки в языке Lisp
3. Ввод и вывод в языке Lisp
4. Функции высших порядков
5. Рекурсия
6. Применяющие и отображающие функционалы
7. Замыкания и лямбда-выражения
8. Макросы в языке Lisp
9. Ленивые вычисления
Каждая тема предполагает изучение в течение одной недели. На 10-й неделе запланирован интернет-экзамен.
Профессии, специальности и направления подготовки | 09.00.00 Информатика и вычислительная техника
02.04.03 Математическое обеспечение и администрирование информационных систем 10.00.00 Информационная безопасность |
Область деятельности | Инженерное дело, технологии и технические науки
Математические и естественные науки |
Дата окончания записи | 28.08.2022 |
Трудоёмкость в з.е. | 4.0 |
Количество лекций | 10 |
Дата ближайшего старта | 06.09.2021 |
Дата окончания | 28.08.2022 |
ID курса | 17bf425a3a5a47fb877b4aed0325996e |
К-во обучающихся на версии курса | 21858 |
Язык | Русский |
Длительность | 10 недель |
Сертификат | Есть |
Версия | 8 |