6 EC
Semester 2, period 4
5062SEFP6Y
In this course you will learn the basics of Functional Programming and its theoretical foundations.
Henk Barendregt, Erik Barendsen: Introduction to Lambda Calculus - available on Canvas
Miran Lipovača: Learn You a Haskell for Great Good - available online
Glasgow Haskell Compiler - use haskell.org/ghcup to install
ELSA - a lambda calculus evaluator
your favorite editor (VS Codium, Emacs, Vim)
New material will be presented in the lectures. You will then work on related exercises during the werkcollege and laptopcollege. The werkcollege will focus on theory and exercises will mostly be pen-and-paper. The laptopcollege is mostly for programming exercises in Haskell.
|
Activity |
Hours |
|
|
Lectures (hoorcollege) |
28 |
|
|
Seminars (werkcollege) |
14 |
|
|
Laptop seminars(laptopcollege) |
14 |
|
|
Self study |
112 |
|
|
Total |
168 |
(6 EC x 28 uur) |
Additional requirements for this course:
Attendance of all parts of the course is strongly recommended, but not registered and not a criteria for passing the course.
| Item and weight | Details |
|
Final grade | |
|
50% Tentamen | Must be ≥ 5 |
|
50% Homeworks | Must be ≥ 5 |
|
1 (14%) Homework 1 | |
|
1 (14%) Homework 2 | |
|
1 (14%) Homework 3 | |
|
1 (14%) Homework 4 | |
|
1 (14%) Homework 5 | |
|
1 (14%) Homework 6 | |
|
1 (14%) Homework 7 |
The homework counts 50% and the exam counts 50% towards the course grade. Both the homework and the exam grade must each be at least 5.0 to pass the course.
Homework:
Exam and resit:
See Canvas.
There will be seven homeworks (one per week), consisting of both theoretical and practical exercises. Homeworks must be done and submitted individually. Discussing the assignments with other students is allowed and encouraged. Your homework will be graded partly automatically with immediate feedback in CodeGrade, and partly manually a few days after the deadline. The average of all homeworks is your homework grade.
Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.
We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.
Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet.
Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit.
Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.student.uva.nl
See Canvas.
Not applicable.
This course will be taught in English.
This course is given by two lecturers and four teaching assistants.
Please refer to Canvas for how to contact us.