Course manual 2023/2024

Course content

This course starts with a fast introduction to Haskell and then focuses on how it can be used as a research tool. We will focus on implementations of explicit and symbolic model checking for modal logics. The course finishes with a group project for which a list of topics will be provided, but in consultation with the lecturer students may also choose their own topic from the whole Master of Logic spectrum.

Study materials

Literature

Software

Objectives

  • Students will understand the basics of Haskell: types, functions, lists and recursion.
  • Students will understand and be able to use type classes and abstractions such as applicatives and monads to write concise and well-structured Haskell programs.
  • Students will be able to implement model checking and other logic algorithms.
  • Students will be able to use formal specification and property-based testing to test programs and to refute conjectures.
  • Students will be able to use functional programming to investigate a research question.
  • Students will be able to explain and document their own programs.

Teaching methods

  • Lecture
  • Laptop seminar
  • Presentation/symposium
  • Working independently on e.g. a project or thesis
  • Self-study

Learning activities

Activity

Hours

 

Hoorcollege

24

 

Laptopcollege

22

 
Deeltoets

2

 

Presentatie

4

 

Self study

116

including 5 homeworks and the group project

Total

168

(6 EC x 28 uur)

 

Attendance

This programme does not have requirements concerning attendance (TER-B).

Additional requirements for this course:

Attendance is neither tracked nor mandatory, but strongly recommended.

Assessment

Item and weight Details

Final grade

40%

Homeworks

1 (20%)

FP Homework 1

1 (20%)

FP Homework 2

1 (20%)

FP Homework 3

1 (20%)

FP Homework 4

1 (20%)

FP Homework 5

30%

Midterm exam

NAP if missing

30%

Group project

NAP if missing

Topic

Must be ≥ pass

Beta version

Must be ≥ pass

1 (50%)

Presentation

1 (50%)

Report and code

Inspection of assessed work

See Canvas.

Assignments

Homework must be submitted individually. Discussing homework with others is allowed and recommended, but you must never share any text or code with others.

Homework will mostly be graded using automated testing, but you will also receive individual written feedback.

The final course projects will be done in groups of 3 or 4 students. You will have to submit a "beta" version for which you will receive feedback during the project.

Fraud and plagiarism

The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

Course structure

See Canvas.

Honours information

Not applicable.

Contact information

Coordinator

  • dr. Malvin Gattinger

Teaching assistants

  • Jonas van der Schaaf
  • Haitian Wang