ФП 5SE осень 2017

Материал из SEWiki
Версия от 14:32, 5 октября 2017; Ed.zhavoronkov (обсуждение | вклад) (Материалы с занятий и домашние задания:)

Перейти к: навигация, поиск

Лекции

Преподаватель: Москвин Д. Н.

Практика Шабалин

Начиная с 4-го занятия потребуются компьютеры. На них нужно поставить stack: https://docs.haskellstack.org/en/stable/README/#how-to-install

Еще желательно заранее создать рабочую папку с проектом (чтобы stack автоматом скачал необходимые библиотеки и компилятор):

> stack new classwork simple
> cd classwork
> stack setup
> stack build

Здесь classwork – название проекта (и, как следствие, папки с проектом), а simple – template, по которому сгенерировать проект (по умолчанию используется другой, где проект разбивается на приложение, библиотеку и тесты; нам это сейчас не нужно)

Домашние задания

Табличка с результатами: https://docs.google.com/spreadsheets/d/1qnKuNN3FTIZqInoWOL0i02NeEv3mT4XwPp8_HUMsDes/edit?usp=sharing Инвайт на курс в степике: https://stepik.org/invitation/01319ce7dc3fe58dc06457cf4ed7c029beacd70e/

  1. https://yadi.sk/i/ocg7lzsF3Mjmap дедлайн: 15.09.2017
  2. https://yadi.sk/i/YGMNMCES3Mr3Bc дедлайн: 22.09.2017
  3. https://yadi.sk/i/lrZGFUjT3N4vts дедлайн: 29.09.2017
  4. https://stepik.org/lesson/57527/step/1?unit=35283 дедлайн: 6.10.2017

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

Табличка с результатами

Контакты:

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

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

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

Первые три домашних задания сдаются мне на почту. Формат, в котором вы присылаете ваши решения не очень принципиален, однако предпочтение отдается чему-то адекватному, например pdf или Markdown(plain text в целом тоже котируется, а вот ссылку на картинку, лежащую где-нибудь на depositfiles присылать лучше не стоит).

Начиная с четвертого домашнего задания вы будете писать код на хаскеле и дальше будет видно, будете ли вы присылать мне .hs-исходники, или мы придумаем еще какой-либо формат сдачи. Это подводит нас к мысли, что вам понадобится поставить некоторый тулчейн. Как это сделать -- я расскажу позже(или вам расскажут об этом на лекции).

Дедлайны

На вики я пишу мягкий дедлайн до которого мне можно присылать решения, и я постараюсь ответить и, в случае чего, вы можете прислать мне исправления. Жесткий дедлайн, после которого я не смотрю решения -- начало пары. Если вы прислали решение после мягкого дедлайна, то я постараюсь ответить вам в течение дня, но не готов гарантировать, что буду принимать исправления. Решения присланные после жесткого дедлайна -- не оцениваются.

Зачет

Что бы допуститься до экзамена вам сперва необходимо получить зачет по практике. Для этого вам нужно сделать несколько вещей:

  • Сдать все теоретические домашние задания(ими считаются первые три)
  • Получить не менее TBD от суммы баллов за теоретические и практические домашние задания без учета дополнительных заданий
  • Сдать алгоритм вывода типов(ближе к концу семестра)

Если что-то из этих пунктов не выполняется, то мы решаем этот вопрос в индивидуальном порядке.

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

Небольшая запись с объяснением Numeric Typeclasses и их красивой диаграммой:

https://gist.github.com/CMCDragonkai/fab0980b3325e8a788c9

---

Введение в функциональное программирование, John Harrison

---

Ламбда-исчисление, Барендрегт