ФП 5SE осень 2020 — различия между версиями
(→Практика Халанский) |
Moskvin (обсуждение | вклад) (→Лекции) |
||
(не показано 19 промежуточных версий 3 участников) | |||
Строка 3: | Строка 3: | ||
Пожалуйста, указывайте в теме письма FPIFMOJB. | Пожалуйста, указывайте в теме письма FPIFMOJB. | ||
+ | |||
+ | |||
+ | === Экзамен === | ||
+ | |||
+ | Экзамен состоится 20.01.2021. Начало в 10:30. [https://docs.google.com/spreadsheets/d/1oIcKc-tdYbj3BnOjv8q8gv4x2N0cZiNkGM0XZnzTp8I/edit#gid=0 Ссылка для записи на конкретное время.] | ||
+ | Пожалуйста, не опаздывайте. | ||
+ | |||
+ | [[Медиа:QExamIFMO2020.pdf|Вопросы к экзамену]] | ||
Строка 37: | Строка 45: | ||
([https://gist.github.com/deniok/f47319136b07093269ecf7a017086b95 исходный код со слайдов]) | ([https://gist.github.com/deniok/f47319136b07093269ecf7a017086b95 исходный код со слайдов]) | ||
− | [[Медиа:Fpc12IFMO2020.pdf|Лекция 12. Трансформеры монад]] | + | [[Медиа:Fpc12IFMO2020.pdf|Лекция 12. Трансформеры монад]] 30.11.2020 (пн) 14:40-16:00 online |
+ | ([https://gist.github.com/deniok/dbd90777da0212aa7671002be8875abd исходный код со слайдов], [https://gist.github.com/deniok/40f85fde4174f2c0d702d3db7b128723 еще]) | ||
− | [[Медиа:Fpc13IFMO2020.pdf|Лекция 13. Алгоритм вывода типов]] | + | [[Медиа:Fpc13IFMO2020.pdf|Лекция 13. Алгоритм вывода типов]] 07.11.2020 (пн) 14:40-16:00 online |
− | [[Медиа:Fpc14IFMO2020.pdf|Лекция 14. Рекурсивные типы]] | + | [[Медиа:Fpc14IFMO2020.pdf|Лекция 14. Рекурсивные типы]] 14.12.2020 (пн) 14:40-16:00 online |
+ | ([https://gist.github.com/deniok/346cab59c4dcd6e5968f956ab7f76c58 исходный код со слайдов]) | ||
− | [[Медиа:Fpc15IFMO2020.pdf|Лекция 15. Молнии и линзы]] | + | [[Медиа:Fpc15IFMO2020.pdf|Лекция 15. Молнии и линзы]] 21.12.2020 (пн) 14:40-16:00 online |
== Дополнительные материалы == | == Дополнительные материалы == | ||
Строка 89: | Строка 99: | ||
* [[Медиа:Fp-2020-sem10.zip|Код с пары 09.11.2020]] | * [[Медиа:Fp-2020-sem10.zip|Код с пары 09.11.2020]] | ||
* [[Медиа:Fp-2020-sem11.zip|Код с пары 16.11.2020]] | * [[Медиа:Fp-2020-sem11.zip|Код с пары 16.11.2020]] | ||
+ | * [[Медиа:Fp-2020-sem12.zip|Код с пары 30.11.2020]] | ||
+ | * [[Медиа:Fp-2020-sem14-draft.zip|Код для пары 14.12.2020]] | ||
=== Правила игры и прочее === | === Правила игры и прочее === | ||
Строка 110: | Строка 122: | ||
В рейтинг идут задачи из блока "Основные задания"; эти задачи принимаются только в срок. Задачи из блока "Дополнительные задания" принимаются совершенно когда угодно, но в рейтинге не участвуют. | В рейтинг идут задачи из блока "Основные задания"; эти задачи принимаются только в срок. Задачи из блока "Дополнительные задания" принимаются совершенно когда угодно, но в рейтинге не участвуют. | ||
− | + | 1. [[Медиа:FP2020Khalansky01.pdf|задание]] [[Медиа:FP2020Khalansky01.tex|исходник]]; [[Медиа:FP2020Khalansky01Slides.pdf|презентация]] [[Медиа:FP2020Khalansky01Slides.tex|исходник]]. | |
− | + | 2. [[Медиа:FP2020Khalansky02.pdf|задание]] [[Медиа:FP2020Khalansky02.tex|исходник]]; [[Медиа:FP2020Khalansky02Slides.pdf|презентация]] [[Медиа:FP2020Khalansky02Slides.tex|исходник]]. | |
− | + | 3. [[Медиа:FP2020Khalansky03.pdf|задание]] [[Медиа:FP2020Khalansky03.tex|исходник]]; [[Медиа:FP2020Khalansky03Slides.pdf|презентация]] [[Медиа:FP2020Khalansky03Slides.tex|исходник]]. | |
− | + | 4. [[Медиа:FP2020Khalansky04Slides.pdf|презентация]] [[Медиа:FP2020Khalansky04Slides.tex|исходник]]. Приглашение в github classroom: https://classroom.github.com/a/7eSkgKXr Дополнительные задачи: https://classroom.github.com/a/tpNpFsFG | |
− | + | 5. [[Медиа:FP2020Khalansky05Slides.pdf|презентация]] [[Медиа:FP2020Khalansky05Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/2gjX925K Дополнительные задачи: https://classroom.github.com/a/2vQ77rii | |
− | + | 6. [[Медиа:FP2019Khalansky07Conspect.pdf|конспект]] [[Медиа:FP2019Khalansky07Conspect.tex|исходник]]. Приглашение: https://classroom.github.com/a/3yec3H92 Дополнительные задачи: https://classroom.github.com/a/johiBLlR | |
Приглашение на курсовую (прошлогоднюю, чтобы не мешаться другому курсу; сроки все прошли, но ничего страшного): https://stepik.org/invitation/30abc7274253aa0825dc514cd33ef28f3e54c547/ | Приглашение на курсовую (прошлогоднюю, чтобы не мешаться другому курсу; сроки все прошли, но ничего страшного): https://stepik.org/invitation/30abc7274253aa0825dc514cd33ef28f3e54c547/ | ||
Две половины курсовой работы по ссылкам https://stepik.org/lesson/258178/step/1?unit=238641 и https://stepik.org/lesson/258189/step/1?unit=238653. Сроков на сдачу курсовой нет, но для получения зачёта она обязательная. | Две половины курсовой работы по ссылкам https://stepik.org/lesson/258178/step/1?unit=238641 и https://stepik.org/lesson/258189/step/1?unit=238653. Сроков на сдачу курсовой нет, но для получения зачёта она обязательная. | ||
− | + | 7. [[Медиа:FP2020Khalansky07Slides.pdf|презентация]] [[Медиа:FP2020Khalansky07Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/jfm8j7yr Дополнительные задачи: https://classroom.github.com/a/zG752tlT; [[Медиа:FP2020Khalansky07Training.md.gz|разминка]] UPD 22.10, 23:52: добавил в разминку заметку про QuickCheck и примечание по работе с бесконечными структурами к решению первой задачи по Foldable. | |
+ | |||
+ | 8. Приглашение: https://classroom.github.com/a/pEDPowpt Дополнительные задачи: https://classroom.github.com/a/zYstmw8z | ||
+ | |||
+ | 9. [[Медиа:FP2020Khalansky09Slides.pdf|презентация]] [[Медиа:FP2020Khalansky09Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/tOYPqRV0 Дополнительные задачи: https://classroom.github.com/a/uyphTeFD | ||
+ | |||
+ | 10. [[Медиа:FP2020Khalansky10Slides.pdf|презентация]] [[Медиа:FP2020Khalansky10Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/RUYUSPL7 Дополнительные задачи: https://classroom.github.com/a/cJ0S0mBa | ||
− | + | 11. Приглашение: https://classroom.github.com/a/N2dnHRur Дополнительные задачи: https://classroom.github.com/a/xzWOjyZH | |
− | + | 12. [[Медиа:FP2020Khalansky12Slides.pdf|презентация]] [[Медиа:FP2020Khalansky12Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/mInkw7Ir Дополнительные задачи: https://classroom.github.com/a/F-Y2GxZn | |
− | + | 13. Вторая половина курсовой (она же домашнее задание на неделю): https://stepik.org/lesson/258189/step/1?unit=238653 Сроков нет, досылать можно и потом, но баллы, полученные до следующего занятия, пойдут в рейтинг. Для удобства есть stack-проект с кодом и публичными тестами со Степика: https://classroom.github.com/a/g0IaZ4S4 | |
− | + | 14. Решите модуль на Степике: https://stepik.org/lesson/258190/step/1?unit=238654 Дополнительные задачи: https://classroom.github.com/a/OFd23Mqx |
Текущая версия на 08:14, 19 января 2021
Содержание
Лекции
Преподаватель: Москвин Денис Николаевич dmoskvin@gmail.com
Пожалуйста, указывайте в теме письма FPIFMOJB.
Экзамен
Экзамен состоится 20.01.2021. Начало в 10:30. Ссылка для записи на конкретное время. Пожалуйста, не опаздывайте.
Слайды
Лекция 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
- Код с пары 30.11.2020
- Код для пары 14.12.2020
Правила игры и прочее
Сдача домашних заданий
- Первые три -- мне на почту. Формат -- pdf(LaTeX)
- Следующие -- в приватный курс на степике. Укажите при регистрации(если еще не) свои натсоящие имя и фамилию. Ссылка-инвайт на курс -- тык
Дедлайны
- Мягкий -- указан в строке с соответствующим заданием. Если присылаете до него -- я смотрю, отвечаю и можно один раз прислать исправления.
- Жесткий -- наступает в момент начала пары. Присылать после мягкого, но до жесткого дедлайна можно и нужно, я не снижаю баллы, но не гарантирую, что буду принимать исправления
Практика Халанский
Дедлайн — начало лекции. Обещаю отвечать в течение троих суток с момента получения письма. Для зачёта необходимо набрать указанный минимум для каждой темы, кроме, возможно, двух, а также выполнить курсовую работу (будет доступна позднее).
В рейтинг идут задачи из блока "Основные задания"; эти задачи принимаются только в срок. Задачи из блока "Дополнительные задания" принимаются совершенно когда угодно, но в рейтинге не участвуют.
1. задание исходник; презентация исходник.
2. задание исходник; презентация исходник.
3. задание исходник; презентация исходник.
4. презентация исходник. Приглашение в github classroom: https://classroom.github.com/a/7eSkgKXr Дополнительные задачи: https://classroom.github.com/a/tpNpFsFG
5. презентация исходник. Приглашение: https://classroom.github.com/a/2gjX925K Дополнительные задачи: https://classroom.github.com/a/2vQ77rii
6. конспект исходник. Приглашение: 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. Сроков на сдачу курсовой нет, но для получения зачёта она обязательная.
7. презентация исходник. Приглашение: https://classroom.github.com/a/jfm8j7yr Дополнительные задачи: https://classroom.github.com/a/zG752tlT; разминка UPD 22.10, 23:52: добавил в разминку заметку про QuickCheck и примечание по работе с бесконечными структурами к решению первой задачи по Foldable.
8. Приглашение: https://classroom.github.com/a/pEDPowpt Дополнительные задачи: https://classroom.github.com/a/zYstmw8z
9. презентация исходник. Приглашение: https://classroom.github.com/a/tOYPqRV0 Дополнительные задачи: https://classroom.github.com/a/uyphTeFD
10. презентация исходник. Приглашение: https://classroom.github.com/a/RUYUSPL7 Дополнительные задачи: https://classroom.github.com/a/cJ0S0mBa
11. Приглашение: https://classroom.github.com/a/N2dnHRur Дополнительные задачи: https://classroom.github.com/a/xzWOjyZH
12. презентация исходник. Приглашение: https://classroom.github.com/a/mInkw7Ir Дополнительные задачи: https://classroom.github.com/a/F-Y2GxZn
13. Вторая половина курсовой (она же домашнее задание на неделю): https://stepik.org/lesson/258189/step/1?unit=238653 Сроков нет, досылать можно и потом, но баллы, полученные до следующего занятия, пойдут в рейтинг. Для удобства есть stack-проект с кодом и публичными тестами со Степика: https://classroom.github.com/a/g0IaZ4S4
14. Решите модуль на Степике: https://stepik.org/lesson/258190/step/1?unit=238654 Дополнительные задачи: https://classroom.github.com/a/OFd23Mqx