Курс на Stepik
Обложка курса «Функциональное программирование на С++» на Stepik
990 ₽

Функциональное программирование на С++ 5.000

Открыть на
STEPIK.ORG

Практический курс по функциональному программированию в C++: от чистых функций и лямбд до ranges, композиции и error handling. Без абстрактной теории — только применимый стиль, современные инструменты и реальные задачи с рефакторингом.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Функциональное программирование на С++»Учеников на курсе 13
Сертификаты, выданные на курсе «Функциональное программирование на С++»Сертификатов выдано 1
Отзывы о курсе «Функциональное программирование на С++»Отзывов получено 1
Рейтинг курса «Функциональное программирование на С++»Рейтинг курса 5.000
Уроки в курсе «Функциональное программирование на С++»Количество уроков 67
Тесты в курсе «Функциональное программирование на С++»Количество квизов 48
Задачи с кодом в курсе «Функциональное программирование на С++»Количество задач с кодом 65
Стоимость курса «Функциональное программирование на С++»Стоимость курса 990 ₽
Обновления курса «Функциональное программирование на С++»Обновления курса
Дата публикации курса «Функциональное программирование на С++»Дата публикации курса
Последнее обновление курса «Функциональное программирование на С++»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Функциональное программирование на С++» 13 разделов Уроки в курсе «Функциональное программирование на С++» 67 уроков Тесты в курсе «Функциональное программирование на С++» 48 тестов Задачи в курсе «Функциональное программирование на С++» 65 задач Последнее обновление курса «Функциональное программирование на С++» обн. 25 апреля 2026

1. О функциях

6 уроков
Закрытый
1.1 Определение функции
2
2
-
0
Закрытый
1.2 Возвращаемое значение
2
2
-
0
Закрытый
1.3 Передача аргументов
3
3
-
0
Закрытый
1.4 Перегрузка функций
2
2
-
0
Закрытый
1.5 Inline и ODR
2
2
-
0
Закрытый
1.6 Области видимости
2
2
-
0

2. Функции как значение

6 уроков
Закрытый
2.1 Указатели на функции
3
3
-
0
Закрытый
2.2 std::function
2
2
-
0
Закрытый
2.3 Функциональные объекты
2
2
-
0
Закрытый
2.4 Шаблонные параметры-функции
2
2
-
0
Закрытый
2.5 auto и вывод типа возвращаемого значения
2
2
-
0
Закрытый
2.6 Практика
2
2
-
0

3. Лямбда-выражения

6 уроков
Закрытый
3.1 Синтаксис
2
2
-
0
Закрытый
3.2 Захват переменных
2
2
-
0
Закрытый
3.3 mutable-лямбды
2
2
-
0
Закрытый
3.4 Время жизни и dangling capture
2
2
-
0
Закрытый
3.5 Generic lambdas
2
2
-
0
Закрытый
3.6 Практика
2
2
-
0

4. Чистые функции и неизменяемость

7 уроков
Закрытый
4.1 Что такое чистая функция
2
2
-
0
Закрытый
4.2 Побочные эффекты
2
2
-
0
Закрытый
4.3 Концепция неизменяемых данных
2
2
-
0
Закрытый
4.4 const как инструмент FP
2
2
-
0
Закрытый
4.5 Value semantics
2
2
-
0
Закрытый
4.6 Copy vs Move и их роль
3
3
-
0
Закрытый
4.7 Практика
3
2
-
0

5. Алгоритмы вместо циклов

6 уроков
Закрытый
5.1 Идея декларативности
2
2
-
0
Закрытый
5.2 std::for_each, transform, count_if
2
2
-
0
Закрытый
5.3 min/max/minmax
2
2
-
0
Закрытый
5.4 partition и remove-идиома
2
2
-
0
Закрытый
5.5 reduce / accumulate
2
2
-
0
Закрытый
5.6 Практика
2
2
-
0

6. Функции высшего порядка

6 уроков
Закрытый
6.1 Передача функций
2
2
-
0
Закрытый
6.2 Возврат функций
2
2
-
0
Закрытый
6.3 Частичное применение
2
2
-
0
Закрытый
6.4 std::bind и почему его не любят
2
2
-
0
Закрытый
6.5 Композиция функций
2
2
-
0
Закрытый
6.6 Практика
2
2
-
0

7. Ranges и ленивые вычисления

7 уроков
Закрытый
7.1 Проблема промежуточных контейнеров
2
2
-
0
Закрытый
7.2 std::ranges
2
2
-
0
Закрытый
7.3 Views
2
2
-
0
Закрытый
7.4 Ленивость vs eager
2
2
-
0
Закрытый
7.5 Dangling views
2
2
-
0
Закрытый
7.6 Пайплайны обработки данных
2
2
-
0
Закрытый
7.7 Практика
2
2
-
0

8. Функциональная композиция

5 уроков
Закрытый
8.1 Pipe-style обработка
2
2
-
0
Закрытый
8.2 Создание собственных адаптеров
2
2
-
0
Закрытый
8.3 Каррирование
2
2
-
0
Закрытый
8.4 Compile-time композиция
2
2
-
0
Закрытый
8.5 Практика
2
2
-
0

9. Error handling в функциональном стиле

6 уроков
Закрытый
9.1 Почему исключения плохо сочетаются с FP
2
2
-
0
Закрытый
9.2 std::optional
2
2
-
0
Закрытый
9.3 std::expected
2
2
-
0
Закрытый
9.4 Монадический стиль обработки
2
2
-
0
Закрытый
9.5 map / and_then / transform_error
2
2
-
0
Закрытый
9.6 Практика
2
2
-
0

10. Локализация побочных эффектов

5 уроков
Закрытый
10.1 Разделение чистой логики и IO
2
2
-
0
Закрытый
10.2 Dependency injection
2
2
-
0
Закрытый
10.3 Тестирование чистых функций
2
2
-
0
Закрытый
10.4 Императивная оболочка + функциональное ядро
2
2
-
0
Закрытый
10.5 Практика
2
2
-
0

11. Границы FP в C++

4 урока
Закрытый
11.1 Когда FP усложняет код
2
2
-
0
Закрытый
11.2 Производительность и cost model
2
2
-
0
Закрытый
11.3 Читаемость vs абстракция
2
2
-
0
Закрытый
11.4 Баланс FP и OOP
2
2
-
0

12. Итоговые задания

2 урока
Закрытый
12.1 Финальные задачи
2
1
-
0
Закрытый
12.2 Рефакторинг
2
1
-
0

13. Больше практики

1 урок
Закрытый
13.1
1
1
-
0