Breadcrumb

Types for Programs and Proofs

Course
DIT235
Master’s level
7.5 credits (ECTS)
Study pace
50%
Time
Day
Location
Göteborg
Study form
Campus
Language
English
Duration
-
Application period
-
Application code
GU-18660
Tuition
Full education cost: 19 250 SEK
First payment: 19 250 SEK

No fees are charged for EU and EEA citizens, Swedish residence permit holders and exchange students.

More information about tuition fees

Application closed

About

The development of powerful type systems is an important aspect of modern programming language design. This course provides an introduction to this area. In particular it introduces the notion of dependent type, a type which can depend on (is indexed by) values of another type, for example, the type of vectors indexed by its length. Dependent types are versatile. Through the Curry-Howard identification of proposition and types virtually any property of a program can be expressed using dependent types. The aim of the course is to give a solid and broad foundation in type systems for programming languages, and also give examples of type-based technologies in computer science.

  • introduction to lambda calculus and simple type theory
  • introduction to operational semantics and type systems
  • dependent type theory
  • the Curry-Howard identification of propositions as types
  • programming in Agda, a proof assistant
  • presentation of advanced topics in type systems

Prerequisites and selection

Entry requirements

To be eligible to the course, the student should have successfully completed 120 credits of studies in computer science or mathematics, or equivalent. Specifically, a successfully completed 7.5 credit course in discrete mathematics (e.g., DIT980 Discrete Mathematics for Computer Scientists, or equivalent) and a successfully completed 7,5 credit course in functional programming (e.g. DIT143 Functional Programming, or equivalent is required.

Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.

Selection

Selection is based upon the number of credits from previous university studies, maximum 285 credits