ФП 5SE осень 2017
Содержание
Лекции
Преподаватель: Москвин Д. Н.
Практика Шабалин
- Электропочта: shabalyn.a@gmail.com
- Telegram: https://t.me/ashabalin
Начиная с 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/
- https://yadi.sk/i/ocg7lzsF3Mjmap дедлайн: 15.09.2017
- https://yadi.sk/i/YGMNMCES3Mr3Bc дедлайн: 22.09.2017
- https://yadi.sk/i/lrZGFUjT3N4vts дедлайн: 29.09.2017
- https://stepik.org/lesson/57527/step/1?unit=35283 дедлайн: 6.10.2017
Практика Жаворонков
Контакты:
Материалы с занятий и домашние задания:
- Семинар и домашнее задание 1 (Дедлайн(мягкий): 12.09.2017 23:59)
- Семинар и домашнее задание 2 (Дедлайн(мягкий): 19.09.2017 23:59)
- Семинар и домашнее задание 3 (Дедлайн(мягкий): 26.09.2017 23:59)
- Код с пары 27.09 куда-то потерялся
- Код с пары 04.10
Правила игры и прочее
Сдача домашних заданий
Первые три домашних задания сдаются мне на почту. Формат, в котором вы присылаете ваши решения не очень принципиален, однако предпочтение отдается чему-то адекватному, например pdf или Markdown(plain text в целом тоже котируется, а вот ссылку на картинку, лежащую где-нибудь на depositfiles присылать лучше не стоит).
Начиная с четвертого домашнего задания вы будете писать код на хаскеле и дальше будет видно, будете ли вы присылать мне .hs-исходники, или мы придумаем еще какой-либо формат сдачи. Это подводит нас к мысли, что вам понадобится поставить некоторый тулчейн. Как это сделать -- я расскажу позже(или вам расскажут об этом на лекции).
Дедлайны
На вики я пишу мягкий дедлайн до которого мне можно присылать решения, и я постараюсь ответить и, в случае чего, вы можете прислать мне исправления. Жесткий дедлайн, после которого я не смотрю решения -- начало пары. Если вы прислали решение после мягкого дедлайна, то я постараюсь ответить вам в течение дня, но не готов гарантировать, что буду принимать исправления. Решения присланные после жесткого дедлайна -- не оцениваются.
Зачет
Что бы допуститься до экзамена вам сперва необходимо получить зачет по практике. Для этого вам нужно сделать несколько вещей:
- Сдать все теоретические домашние задания(ими считаются первые три)
- Получить не менее TBD от суммы баллов за теоретические и практические домашние задания без учета дополнительных заданий
- Сдать алгоритм вывода типов(ближе к концу семестра)
Если что-то из этих пунктов не выполняется, то мы решаем этот вопрос в индивидуальном порядке.
Дополнительные материалы
Небольшая запись с объяснением Numeric Typeclasses и их красивой диаграммой:
https://gist.github.com/CMCDragonkai/fab0980b3325e8a788c9
---
Введение в функциональное программирование, John Harrison
---