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

Материал из SEWiki
Перейти к: навигация, поиск
(Материалы с занятий и домашние задания:)
(Материалы с занятий и домашние задания:)
 
(не показано 15 промежуточных версий 3 участников)
Строка 16: Строка 16:
 
> stack build</nowiki>
 
> stack build</nowiki>
 
Здесь classwork – название проекта (и, как следствие, папки с проектом), а simple – template, по которому сгенерировать проект (по умолчанию используется другой, где проект разбивается на приложение, библиотеку и тесты; нам это сейчас не нужно)
 
Здесь classwork – название проекта (и, как следствие, папки с проектом), а simple – template, по которому сгенерировать проект (по умолчанию используется другой, где проект разбивается на приложение, библиотеку и тесты; нам это сейчас не нужно)
 +
 +
Дока с планами всех практик: https://docs.google.com/document/d/10oe6QO28qXiBBOdsYEc2Qu6hSBOaSwQrT2AMyLePwvk/edit?usp=sharing
  
 
===Код с пар===
 
===Код с пар===
 
# 11.10.2017: https://gist.github.com/projedi/490e8c76db5cd09c7838e4c62fa6eefc
 
# 11.10.2017: https://gist.github.com/projedi/490e8c76db5cd09c7838e4c62fa6eefc
 +
# 18.10.2017: https://gist.github.com/projedi/36ef298f9a457cac5ecce3d9b46110d4
 +
# 8.11.2017: https://gist.github.com/projedi/f436148804bbf8f3891b5d73239502a9
 +
# 15.11.2017: https://gist.github.com/projedi/e78d1ab7de3904ad0f417de189c11b0c
 +
# 22.11.2017: https://gist.github.com/projedi/0cdb8d6f2af6854192037769cdee644d
 +
# 29.11.2017: https://gist.github.com/projedi/8320e35887c95b06f729cabe9eaedc46
 +
# 13.12.2017: https://gist.github.com/projedi/36f57d713a76fcfe386fb390fb1b6b85
 +
# 20.12.2017: https://gist.github.com/projedi/50a00d08d0f9805a3b394d227f9b3b2b
  
 
===Домашние задания===
 
===Домашние задания===
Строка 49: Строка 58:
 
* [[Медиа:Sem08.zip|Код с пары 25.10]]
 
* [[Медиа:Sem08.zip|Код с пары 25.10]]
 
* [[Медиа:Sem09.zip|Код с пары 8.11]]
 
* [[Медиа:Sem09.zip|Код с пары 8.11]]
 +
* [[Медиа:Sem10.zip|Код с пары 15.11]]
 +
* [[Медиа:Sem11.zip|Код с пары 22.11]]
 +
* [[Медиа:Sem12.zip|Код с пары 29.11]]
 +
* [[Медиа:Sem13.zip|Код с пары 6.12 -- заготовка]]
 +
* [[Медиа:Sem14.zip|Код с пары 13.12]]
 +
* [[Медиа:Sem15.zip|Код с пары 20.12]]
  
 
=== Правила игры и прочее ===
 
=== Правила игры и прочее ===
Строка 65: Строка 80:
 
Что бы допуститься до экзамена вам сперва необходимо получить зачет по практике. Для этого вам нужно сделать несколько вещей:
 
Что бы допуститься до экзамена вам сперва необходимо получить зачет по практике. Для этого вам нужно сделать несколько вещей:
 
* Сдать все теоретические домашние задания(ими считаются первые три)  
 
* Сдать все теоретические домашние задания(ими считаются первые три)  
* Получить не менее TBD от суммы баллов за теоретические и практические домашние задания без учета дополнительных заданий
+
* Получить не менее 75% от суммы баллов за теоретические и практические домашние задания без учета дополнительных заданий
 
* Сдать алгоритм вывода типов(ближе к концу семестра)
 
* Сдать алгоритм вывода типов(ближе к концу семестра)
  
Строка 74: Строка 89:
 
* [https://gist.github.com/CMCDragonkai/fab0980b3325e8a788c9 Небольшая запись с объяснением Numeric Typeclasses и их красивой диаграммой.]
 
* [https://gist.github.com/CMCDragonkai/fab0980b3325e8a788c9 Небольшая запись с объяснением Numeric Typeclasses и их красивой диаграммой.]
 
* [http://dev.stephendiehl.com/editor_talk.html Configure your ghci]
 
* [http://dev.stephendiehl.com/editor_talk.html Configure your ghci]
 
+
* [https://habrahabr.ru/post/183150/ Функторы, аппликативные функторы и монады на пальцах]
 
=== Книги ===
 
=== Книги ===
  

Текущая версия на 13:03, 21 декабря 2017

Лекции

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

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

Начиная с 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/document/d/10oe6QO28qXiBBOdsYEc2Qu6hSBOaSwQrT2AMyLePwvk/edit?usp=sharing

Код с пар

  1. 11.10.2017: https://gist.github.com/projedi/490e8c76db5cd09c7838e4c62fa6eefc
  2. 18.10.2017: https://gist.github.com/projedi/36ef298f9a457cac5ecce3d9b46110d4
  3. 8.11.2017: https://gist.github.com/projedi/f436148804bbf8f3891b5d73239502a9
  4. 15.11.2017: https://gist.github.com/projedi/e78d1ab7de3904ad0f417de189c11b0c
  5. 22.11.2017: https://gist.github.com/projedi/0cdb8d6f2af6854192037769cdee644d
  6. 29.11.2017: https://gist.github.com/projedi/8320e35887c95b06f729cabe9eaedc46
  7. 13.12.2017: https://gist.github.com/projedi/36f57d713a76fcfe386fb390fb1b6b85
  8. 20.12.2017: https://gist.github.com/projedi/50a00d08d0f9805a3b394d227f9b3b2b

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

Табличка с результатами: 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
  5. https://stepik.org/lesson/57528/step/1?unit=35284 дедлайн: 13.10.2017
  6. https://stepik.org/lesson/57530/step/1?unit=35286 дедлайн: 20.10.2017

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

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

Контакты:

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

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

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

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

Начиная с четвертого домашнего задания вы будете писать код на хаскеле и домашние задания будут сдаваться в приватный курс на степике. Там они будут проверяться тестирующей системой и я смогу смотреть ваши посылки. По мере прочтения лекций в курсе будут открываться новые модули с задачами. Модуль открывается сразу после пары и закрывается в начале следующей.

Дедлайны

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

Зачет

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

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

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

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

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

Книги