jagajaga / itmo-fp-2021-autumn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Курс "Функциональное программирование" на КТ

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

Как происходит обучение

В течение семестра раз в неделю Вам будут читаться лекции о языке Haskell. Посещение лекций не влияет на возможность получения зачета.

По прошествии нескольких тем Вам будут выдаваться домашние задания на эти темы. Обычно новое домашнее задание выдается после 3-4х лекций и содержит задачи на темы лекций. На решение каждого домашнего задания отводится 2-3 недели (сроки каждого конкретного выполнения ДЗ будут уточняться с объявлением заданий) с момента его выдачи.

Коллоквиумы

В течение курса будет проведен 1 коллоквиум, на котором будет спрашиваться теоретический материал по всем пройденным до проведения коллоквиума темам.

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

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

Просим о багах и проблемах сообщать в слак канал курса.

Требования к выполнению

  • Домашние задания необходимо выполнять самостоятельно. Под самостоятельно подразумевается, что студент написал код сам, без помощи в написании другим студентом, без копирования кода из Интернета и других источников, которые не были разрешены явно.
  • Если окажется, что два или более студента списали друг у друга код, баллы за списанную задачу у них будут аннулированы вне зависимости от того, кто списал, а кто дал списать.
  • Имейте в виду, что Ваше решение будет трактоваться как списанное, если Вы и другой студент независимо друг от друга скопировали код из некоторого публичного источника в Интернете (например, туториала и/или публичного github репозитория), и этот источник не был оговорен в задании как разрешенный.
  • Если есть подозрения, что Вы списали решение задачи, преподаватель вправе попросить Вас объяснить код. В этом случае для зачета задачи необходимо полностью понимать и уметь объяснять его.

Решения задач, которые будут признаны как списанные, будут помечаться красным в таблице и аннулироваться.

Решения задач, которые подозреваются как списанные, будут помечаться желтым в таблице и аннулироваться до тех пор, пока студент не докажет, что он полностью понимает код.

Формат сдачи

Для каждого домашнего задания будет создана assignment в github-classroom, для сдачи домашнего задания необходимо запушить ваше решение до дедлайна. И сделать так, чтобы это был .cabal проект в правильной директории. Например:

mkdir hw1
cd hw1
cabal init

То есть ваш проект должен собираться при помощи cabal build и подразумевает LTS 18.5.

Проверка домашних заданий

В системе используется несколько алгоритмов и систем проверок на списывание (в том числе moss).

Онлайн проверка

После того как дедлайн по домашнему заданию прошел, преподаватели в первую очередь проверяют Ваши решения на предмет списывания. Те решения, которые окажутся списанными или подозреваются как списанные, аннулируются в таблице с особой пометкой. Остальные же решения просматриваются преподавателями.

Прежде всего, чтобы Ваше решение было оценено, необходимо чтобы оно собиралось stack build.

Баллы за задачу могут снижаться за: эти пункты еще в разработке, тк система проверки еще в процессе разработки.

Имейте в виду, что Вы можете получить отрицательное количество баллов за задачу.

Баллы за задачу могут повышаться за: эти пункты еще в разработке, тк система проверки еще в процессе разработки.

По умолчанию будет происходить только онлайн-проверка.

Офлайн-проверка

Если желающих сдавать домашние задания будет немного, то преподаватели вправе проводить офлайн-проверку: очную сдачу, при которой студент должен будет продемонстрировать код и ответить на возникающие по ходу проверки вопросы. Об офлайн-проверке задания будет сообщено заранее.

Офлайн-проверка предполагает все те же самые требования (решение выполнено самостоятельно, студент полностью понимает и может объяснить код и т.д.) и условия на снижения и повышения баллов.

Как получить зачет?

Способ 1 (автомат).

Чтобы автоматом получить зачет, необходимо сдать все коллоквиумы и все advanced версии домашних заданий.

Способ 2 (устный экзамен).

Чтобы получить зачет данным способом, необходимо выполнить следующие условия:

  • набрать не менее 60 баллов в течение семестра;
  • сдать устный экзамен.

Устный экзамен

Чтобы получить зачет/оценку придется в любом случае сдать экзамен.

Ребят, зря вы сюда поступили... Оно вас сожрет. Бегите отсюда...

Экзамен будет проходить в оффлайн формате.

На экзамене Вы тянете билет, номер которого соответствует рассказанной Вам лекции отсюда, у Вас есть 10-15 минут, чтобы воспользоваться своими записями или ноутбуком, после этого Вы можете еще некоторое время готовиться, но уже без каких либо материалов.

About