Equational Programming - Period 1

STEM in Amsterdam Program
Amsterdam, Netherlands

Dates: mid Aug 2025 - late Dec 2025

STEM in Amsterdam

Equational Programming - Period 1

Equational Programming - Period 1 Course Overview

OVERVIEW

CEA CAPA Partner Institution: Vrije Universiteit Amsterdam
Location: Amsterdam, Netherlands
Primary Subject Area: Mathematics
Instruction in: English
Course Code: X_401011
Transcript Source: Partner Institution
Course Details: Level 300
Recommended Semester Credits: 3
Contact Hours: 84
Prerequisites: It helps to be familiar with formal reasoning as for example taught in the course Logic and Modeling.

DESCRIPTION

In the practical work we use the functional programming language Haskell. We practice with the basics such as lists, recursion, data-types, and a bit of monads. The theoretical part is concerned with the foundations of functional programming in the form of lambda calculus and equational reasoning. We study in untyped lambda calculus beta reduction, reduction strategies, confluence, encoding of data-types, fixed point combinators and recursive functions.In addition we study the lambda-calculus with simple types, its typing system and a type inference algorithm, and possibly strong normalization of simply typed lambda-calculus. In equational reasoning we work towards the results that all initial models are equal up to isomorphism, and that the term model is aninitial model.

Contact hours listed under a course description may vary due to the combination of lecture-based and independent work required for each course therefore, CEA's recommended credits are based on the ECTS credits assigned by VU Amsterdam. 1 ECTS equals 28 contact hours assigned by VU Amsterdam.

This course included a lab component.


Get a Flight Credit worth up to $1,000 when you apply with code* by January 1, 2025