ФП 5SE осень 2020
Содержание
Лекции
Преподаватель: Москвин Денис Николаевич dmoskvin@gmail.com
Пожалуйста, указывайте в теме письма FPIFMOJB.
Слайды
Лекция 1. Лямбда-исчисление 07.09.2020 (пн) 14:40-16:00 online
Лекция 2. Рекурсия и редукция 14.09.2020 (пн) 14:40-16:00 online
Лекция 3. Просто типизированное лямбда-исчисление 21.09.2020 (пн) 14:40-16:00 online
Лекция 4. Введение в Haskell 28.09.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 5. Типы данных 05.10.2020 (пн) 14:40-16:40 online (исходный код со слайдов)
Лекция 6. Классы типов 12.10.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 7. Свертки 19.10.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 8. Аппликативные функторы 26.10.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 9. Использование аппликативных функторов 02.11.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 10. Монады 09.11.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 11. Стандартные монады 16.11.2020 (пн) 14:40-16:00 online (исходный код со слайдов)
Лекция 12. Трансформеры монад 30.11.2020 (пн) 14:40-16:00 online
Лекция 13. Алгоритм вывода типов 07.11.2020 (пн) 14:40-16:00 online
Лекция 14. Рекурсивные типы 14.12.2020 (пн) 14:40-16:00 online
Лекция 15. Молнии и линзы 21.12.2020 (пн) 14:40-16:00 online
Дополнительные материалы
Полезные ссылки
Learn You a Haskell for Great Good!
Полезными могут оказаться конспекты лекций по теоретической и практической частям курса. Это расширенные версии слайдов, с дополнительными примерами и рассуждениями. (Предупреждение: они неполные и представляют собой раннюю альфу!)
Книги
- What I Wish I Knew When Learning Haskell Для тех, кто уже знает Хаскелль хотя бы вплоть до монад.
Практика Жаворонков
Материалы с занятий и домашние задания:
- Семинар и домашнее задание 1 (Дедлайн(мягкий): 13.09.2020 21:00:00)
- Семинар и домашнее задание 2 (Дедлайн(мягкий): 20.09.2020 21:00:00)
- Семинар и домашнее задание 3 (Дедлайн(мягкий): 27.09.2020 21:00:00)
- Код с пары 28.09.2020
- Код с пары 05.10.2020
- Код с пары 12.10.2020
- Код с пары 19.10.2020
- Код с пары 26.10.2020
- Код с пары 02.11.2020
- Код с пары 09.11.2020
- Код с пары 16.11.2020
Правила игры и прочее
Сдача домашних заданий
- Первые три -- мне на почту. Формат -- pdf(LaTeX)
- Следующие -- в приватный курс на степике. Укажите при регистрации(если еще не) свои натсоящие имя и фамилию. Ссылка-инвайт на курс -- тык
Дедлайны
- Мягкий -- указан в строке с соответствующим заданием. Если присылаете до него -- я смотрю, отвечаю и можно один раз прислать исправления.
- Жесткий -- наступает в момент начала пары. Присылать после мягкого, но до жесткого дедлайна можно и нужно, я не снижаю баллы, но не гарантирую, что буду принимать исправления
Практика Халанский
Дедлайн — начало лекции. Обещаю отвечать в течение троих суток с момента получения письма. Для зачёта необходимо набрать указанный минимум для каждой темы, кроме, возможно, двух, а также выполнить курсовую работу (будет доступна позднее).
В рейтинг идут задачи из блока "Основные задания"; эти задачи принимаются только в срок. Задачи из блока "Дополнительные задания" принимаются совершенно когда угодно, но в рейтинге не участвуют.
- презентация исходник. Приглашение в github classroom: https://classroom.github.com/a/7eSkgKXr Дополнительные задачи: https://classroom.github.com/a/tpNpFsFG
- презентация исходник. Приглашение: https://classroom.github.com/a/2gjX925K Дополнительные задачи: https://classroom.github.com/a/2vQ77rii
- конспект исходник. Приглашение: https://classroom.github.com/a/3yec3H92 Дополнительные задачи: https://classroom.github.com/a/johiBLlR
Приглашение на курсовую (прошлогоднюю, чтобы не мешаться другому курсу; сроки все прошли, но ничего страшного): https://stepik.org/invitation/30abc7274253aa0825dc514cd33ef28f3e54c547/ Две половины курсовой работы по ссылкам https://stepik.org/lesson/258178/step/1?unit=238641 и https://stepik.org/lesson/258189/step/1?unit=238653. Сроков на сдачу курсовой нет, но для получения зачёта она обязательная.
- презентация исходник. Приглашение: https://classroom.github.com/a/jfm8j7yr; разминка UPD 22.10, 23:52: добавил в разминку заметку про QuickCheck и примечание по работе с бесконечными структурами к решению первой задачи по Foldable.
- Приглашение: https://classroom.github.com/a/pEDPowpt
- презентация исходник. Приглашение: https://classroom.github.com/a/tOYPqRV0
- презентация исходник. Приглашение: https://classroom.github.com/a/RUYUSPL7
- Приглашение: https://classroom.github.com/a/N2dnHRur