ФП 5SE осень 2020 — различия между версиями

Материал из CSC Wiki
Перейти к:навигация, поиск
(Материалы с занятий и домашние задания:)
(Лекции)
 
(не показано 20 промежуточных версий 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. Трансформеры монад]]  23.11.2020 (пн)  14:40-16:00 online
+
[[Медиа: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. Алгоритм вывода типов]] 30.11.2020 (пн)  14:40-16:00 online
+
[[Медиа:Fpc13IFMO2020.pdf|Лекция 13. Алгоритм вывода типов]] 07.11.2020 (пн)  14:40-16:00 online
  
[[Медиа:Fpc14IFMO2020.pdf|Лекция 14. Рекурсивные типы]] 07.12.2020 (пн)  14:40-16:00 online
+
[[Медиа:Fpc14IFMO2020.pdf|Лекция 14. Рекурсивные типы]] 14.12.2020 (пн)  14:40-16:00 online
 +
([https://gist.github.com/deniok/346cab59c4dcd6e5968f956ab7f76c58 исходный код со слайдов])
  
[[Медиа:Fpc15IFMO2020.pdf|Лекция 15. Молнии и линзы]] 14.12.2020 (пн)  14:40-16:00 online
+
[[Медиа: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:
 
В рейтинг идут задачи из блока "Основные задания"; эти задачи принимаются только в срок. Задачи из блока "Дополнительные задания" принимаются совершенно когда угодно, но в рейтинге не участвуют.
 
В рейтинг идут задачи из блока "Основные задания"; эти задачи принимаются только в срок. Задачи из блока "Дополнительные задания" принимаются совершенно когда угодно, но в рейтинге не участвуют.
  
* [[Медиа:FP2020Khalansky01.pdf|задание]] [[Медиа:FP2020Khalansky01.tex|исходник]]; [[Медиа:FP2020Khalansky01Slides.pdf|презентация]] [[Медиа:FP2020Khalansky01Slides.tex|исходник]].
+
1. [[Медиа:FP2020Khalansky01.pdf|задание]] [[Медиа:FP2020Khalansky01.tex|исходник]]; [[Медиа:FP2020Khalansky01Slides.pdf|презентация]] [[Медиа:FP2020Khalansky01Slides.tex|исходник]].
  
* [[Медиа:FP2020Khalansky02.pdf|задание]] [[Медиа:FP2020Khalansky02.tex|исходник]]; [[Медиа:FP2020Khalansky02Slides.pdf|презентация]] [[Медиа:FP2020Khalansky02Slides.tex|исходник]].
+
2. [[Медиа:FP2020Khalansky02.pdf|задание]] [[Медиа:FP2020Khalansky02.tex|исходник]]; [[Медиа:FP2020Khalansky02Slides.pdf|презентация]] [[Медиа:FP2020Khalansky02Slides.tex|исходник]].
  
* [[Медиа:FP2020Khalansky03.pdf|задание]] [[Медиа:FP2020Khalansky03.tex|исходник]]; [[Медиа:FP2020Khalansky03Slides.pdf|презентация]] [[Медиа:FP2020Khalansky03Slides.tex|исходник]].
+
3. [[Медиа:FP2020Khalansky03.pdf|задание]] [[Медиа:FP2020Khalansky03.tex|исходник]]; [[Медиа:FP2020Khalansky03Slides.pdf|презентация]] [[Медиа:FP2020Khalansky03Slides.tex|исходник]].
  
* [[Медиа:FP2020Khalansky04Slides.pdf|презентация]] [[Медиа:FP2020Khalansky04Slides.tex|исходник]]. Приглашение в github classroom: https://classroom.github.com/a/7eSkgKXr Дополнительные задачи: https://classroom.github.com/a/tpNpFsFG
+
4. [[Медиа:FP2020Khalansky04Slides.pdf|презентация]] [[Медиа:FP2020Khalansky04Slides.tex|исходник]]. Приглашение в github classroom: https://classroom.github.com/a/7eSkgKXr Дополнительные задачи: https://classroom.github.com/a/tpNpFsFG
  
* [[Медиа:FP2020Khalansky05Slides.pdf|презентация]] [[Медиа:FP2020Khalansky05Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/2gjX925K Дополнительные задачи: https://classroom.github.com/a/2vQ77rii
+
5. [[Медиа:FP2020Khalansky05Slides.pdf|презентация]] [[Медиа:FP2020Khalansky05Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/2gjX925K Дополнительные задачи: https://classroom.github.com/a/2vQ77rii
  
* [[Медиа:FP2019Khalansky07Conspect.pdf|конспект]] [[Медиа:FP2019Khalansky07Conspect.tex|исходник]]. Приглашение: https://classroom.github.com/a/3yec3H92 Дополнительные задачи: https://classroom.github.com/a/johiBLlR
+
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. Сроков на сдачу курсовой нет, но для получения зачёта она обязательная.
  
* [[Медиа:FP2020Khalansky07Slides.pdf|презентация]] [[Медиа:FP2020Khalansky07Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/jfm8j7yr; [[Медиа:FP2020Khalansky07Training.md.gz|разминка]] UPD 22.10, 23:52: добавил в разминку заметку про QuickCheck и примечание по работе с бесконечными структурами к решению первой задачи по Foldable.
+
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
  
* Приглашение: https://classroom.github.com/a/pEDPowpt
+
12. [[Медиа:FP2020Khalansky12Slides.pdf|презентация]] [[Медиа:FP2020Khalansky12Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/mInkw7Ir Дополнительные задачи: https://classroom.github.com/a/F-Y2GxZn
  
* [[Медиа:FP2020Khalansky09Slides.pdf|презентация]] [[Медиа:FP2020Khalansky09Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/tOYPqRV0
+
13. Вторая половина курсовой (она же домашнее задание на неделю): https://stepik.org/lesson/258189/step/1?unit=238653 Сроков нет, досылать можно и потом, но баллы, полученные до следующего занятия, пойдут в рейтинг. Для удобства есть stack-проект с кодом и публичными тестами со Степика: https://classroom.github.com/a/g0IaZ4S4
  
* [[Медиа:FP2020Khalansky10Slides.pdf|презентация]] [[Медиа:FP2020Khalansky10Slides.tex|исходник]]. Приглашение: https://classroom.github.com/a/RUYUSPL7
+
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

Дополнительные материалы

Полезные ссылки

Hoogle

Typeclassopedia

Haskell 2010 Language Report

Learn You a Haskell for Great Good!

Полезными могут оказаться конспекты лекций по теоретической и практической частям курса. Это расширенные версии слайдов, с дополнительными примерами и рассуждениями. (Предупреждение: они неполные и представляют собой раннюю альфу!)

Книги

Практика Жаворонков

Почта

Телега

Таблица с успеваемостью

Материалы с занятий и домашние задания:

Правила игры и прочее

Сдача домашних заданий

  • Первые три -- мне на почту. Формат -- 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