Курс на Stepik
Обложка курса «Функциональное программирование на языке Haskell» на Stepik
Бесплатно

Функциональное программирование на языке Haskell 4.911

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

Курс знакомит слушателей с языком Haskell - наиболее известным чистым функциональным языком программирования. Мы изучим понятийный аппарат и методы программирования, характерные для функциональных языков, и научимся применять их, используя богатый инструментарий, предоставляемый языком Haskell.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Функциональное программирование на языке Haskell»Учеников на курсе 27 842
Сертификаты, выданные на курсе «Функциональное программирование на языке Haskell»Сертификатов выдано 4 993
Отзывы о курсе «Функциональное программирование на языке Haskell»Отзывов получено 395
Рейтинг курса «Функциональное программирование на языке Haskell»Рейтинг курса 4.911
Уроки в курсе «Функциональное программирование на языке Haskell»Количество уроков 32
Тесты в курсе «Функциональное программирование на языке Haskell»Количество квизов 51
Задачи с кодом в курсе «Функциональное программирование на языке Haskell»Количество задач с кодом 99
Время прохождения курса «Функциональное программирование на языке Haskell»Время прохождения курса
Обновления курса «Функциональное программирование на языке Haskell»Обновления курса
Дата публикации курса «Функциональное программирование на языке Haskell»Дата публикации курса
Последнее обновление курса «Функциональное программирование на языке Haskell»Последнее обновление
https://player.vimeo.com/video/137227748

Чему вы научитесь

В рамках курса мы рассмотрим ленивую и энергичную семантики, алгебраические типы данных и их использование для сопоставления с образцом. Знакомясь с богатой системой типов Haskell, мы обсудим параметрический и специальный полиморфизм и, в частности, механизм классов типов. Мы изучим основные классы типов из стандартной библиотеки Haskell, в том числе функторы и монады. Мы научимся программировать, используя стандартные монады, в частности обсудим проблему ввода-вывода в чистых языках и его реализацию в Haskell с помощью монады IO, а также работу с изменяемым состоянием с помощью монады State.

Программа базируется на курсах, читавшихся в Академическом университете РАН и Computer Science Center.

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

Модуль 1. Первый модуль посвящен основам синтаксиса языка. Вы познакомитесь со стандартной средой разработки, научитесь реализовывать пользовательские функции и операторы, используя механизмы локальных связываний и рекурсии. Вы также изучите основы системы типов языка и его базовые типы.

Модуль 2. Второй модуль даст вам возможность более подробно изучить систему типов языка. Вы познакомитесь с параметрическим и специальным полиморфизмом и узнаете, как последний реализован в Haskell через механизм классов типов. В последнем уроке модуля вы познакомитесь с системой модулей языка и компиляцией программ.

Модуль 3. Модуль полностью посвящен базовому контейнерному типу функциональных языков - спискам. Вы узнаете как использовать сопоставление с образцом для реализации функций над списками, познакомитесь с широким набором библиотечных функций, позволяющих их создавать и обрабатывать. Также рассмотрите полезные синтаксические надстройки – арифметические последовательности и генераторы списков, которые еще более упрощают работу с этим контейнерным типом. Три последних урока этого модуля посвящены сверткам списков.

Модуль 4. Модуль посвящен способам объявления пользовательских типов данных. Вы узнаете как объявлять типы сумм, произведений и сумм произведений и каким образом делать типы полиморфными. В модуле вас ждет обсуждение синтаксиса записей, использования меток полей, рекурсии на уровне типов и свойств рекурсивных типов данных. Вы познакомитесь с такими полезными инструментами, как синонимы типов, обертки newtype и их свойствами.

Модуль 5. Основная тема модуля – монады. Вы узнаете как устроен этот класс типов, какие требования предъявляются к конструкторам типов, которые могут быть сделаны его представителям, какие законы должны выполнятся для представителей этого класса. Познакомившись с концепцией вычислений с эффектами, вы поймете, почему этот класс типов так важен для программирования на Haskell.

О курсе

Курс знакомит слушателей с языком Haskell - наиболее известным чистым функциональным языком программирования. Мы изучим понятийный аппарат и методы программирования, характерные для функциональных языков, и научимся применять их, используя богатый инструментарий, предоставляемый языком Haskell.

Для кого этот курс

Курс рассчитан на студентов младших курсов технических вузов.

Начальные требования

Предполагается, что слушатели имеют представление о программировании на одном из языков (желательно типизированных): С, С++, Java, C# и т. п.

Преподаватели курса

Сертификат курса Функциональное программирование на языке Haskell

Сертификат

Успешно завершив курс, вы получите сертификат от платформы Stepik. Уже 4 993 учеников получили сертификат.

Нагрузка

5-6 часов в неделю

Расскажите о курсе друзьям