Lecturer


Lecture schedule


Assistants

No Picture
Fabian Ruch

Office hours:
Tuesdays 14:00–16:00
Office: 6103A, EDIT building

Alejandro Gómez Londoño
Alejandro Gómez Londoño

Office hours:
Fridays 13:00–15:00
Office: 5461, EDIT building


Course Representatives


Discussion Group

We use Slack.

Slack as a communication channel is meant to be used to post questions and have discussions related to the course. Sharing (total or partial) solutions in it is forbidden.


Reading material

Course book

There is a online version of it. Some related papers to read and other material will be provided with the lectures.

Extra reading material

These books are all good but presented in order of decreasing relevance for the AFP course.

Aim and context

Learning outcomes:

Context

The AFP course requires a BSc in Computer Science or equivalent, mathematical maturity, a basic course on Functional Programming (like our version) and a course on Programming Languages (like Programming Language Technology or Programming Paradigms). Other recommended courses are Logic in CS, Algorithms and Finite automata theory and formal languages.

Grading

Assignments

Laborations are graded with 3,4, and 5. Once you finish all the labs, you will get the following temporary grade:

tmp = (3*grade lab 1  + 5*grade lab 2 + 4*grade lab 3)/12

Above, the 3,5, and 4 coefficients are the weights of the labs based on their difficulty.

To fix some round errors, the final score of the lab is:

grade_labs = (tmp - 3) * 1,4999 + 2.5

Exam

The exam is graded as 3,4, and 5.

Final grade

The final grade for the course is composed of 60% for the lab's score and 40% for the exam's score.

total_grade = 0.6 * grade_labs + 0.4 * grade_exam

Where the total_grade then gets rounded generously, meaning, 4.5 -> 5.

If you are a Chalmers student, then you get the score total_grade as the grade for the whole course.

GU students get G if total_grade is 3 or 4 and VG if it is 5.

Course Syllabus

For GU students

For Chalmers students