DAT350 (Chalmers) / DIT235 (GU)
Fall Term 2026 (LP1)
Most course information is on Canvas.
Further course links:
Schedule
on TimeEdit / Chalmers
studieportal / GU
ad (sv) / GU
kursplan / GU
course description / Course page
2025
This schedule is preliminary!
| Date | Time | Teacher | Title | Reading / Remark |
|---|---|---|---|---|
| Thu 03/09 | 10-12 | AA | 01 Introduction to Agda | LN 1 - 3; VFP 1, 3; DTW 1, 2.1 - 2.5 |
| Mon 07/09 | 13-15 | TC | 02 Dependent types | |
| Mon 07/09 | 15-17 | AA | Getting started with Agda | |
| Thu 10/09 | 10-12 | AA | 03 Martin-Löf Type Theory (part 1) | |
| Mon 14/09 | 13-15 | AA | 04 Martin-Löf Type Theory (part 2) | TPL 1-3 |
| Mon 14/09 | 15-17 | TC | More on Agda | Homework 1 due |
| Thu 17/09 | 10-12 | TC | 05 Introduction to operational semantics and type systems | TPL 3-4 |
| Mon 21/09 | 13-15 | TC | 06 Introduction to operational semantics and type systems | TPL 5-10 |
| Mon 21/09 | 15-17 | TC | More on Agda | Homework 2 due |
| Thu 24/09 | 10-12 | TC | 07 Introduction to operational semantics and type systems | |
| Mon 28/09 | 13-15 | AA | 08 Bidirectional type-checking | |
| Mon 28/09 | 15-17 | AA | More on Agda | Homework 3 due |
| Thu 01/10 | 10-12 | AA | 09 More on operational semantics and type systems in Agda | |
| Mon 05/10 | 13-15 | AA | 10 More on operational semantics and type systems in Agda | |
| Mon 05/10 | 15-17 | AA | Exercises on operational semantics and type systems in Agda | Homework 4 due |
| Thu 08/10 | 10-12 | AA | 11 More on operational semantics and type systems in Agda | |
| Mon 12/10 | 13-15 | TC | Student presentations | |
| Mon 12/10 | 15-17 | TC | Student presentations | |
| Thu 15/10 | 10-12 | TC | Student presentations | |
| Mon 19/10 | 13-15 | TC | Student presentations | |
| Mon 19/10 | 15-17 | TC | Student presentations | |
| Tue 20/10 | 08- | Take home exam | Deadline: Fri 23/10 18:00 |
Teachers: TC = Thierry
Coquand, AA = Andreas
Abel.
Room: Lecture hall MC.
Further literature and online access to books via the library can be found on Canvas.
Agda code: live code start, solution, rendered
Agda code: bb2.agda (rendered) (Turing machines, the Busy
Beaver champions, a proof that a machine never stops),
euclidean.agda (rendered) (de Bruijn’s example, the
Poincaré principle),
Gentzen.agda (rendered) (natural deduction as
programming),
exercises3.agda (rendered) (simple exercises on
propositions as types)
Getting started with Agda.
Help-session where Andreas will help you get started with Agda
programming.
Before this session you need to install Agda and try to write your first
Agda programs.
We’ll do some simple exercises in Agda.
Slides: lecture3.pdf
Agda code (expressions in spine form, superseded by lecture 9): live code start, full, rendered
Implementation of simply-typed lambda-calculus (STLC), continued.
with vs. case ... of \ where vs. local
functionssubst,
cong)Agda live code: start, finish, solution, rendered
Normalization for typed lambda-calculus
Agda live code: start, solution, rendered
Possible topics:
We recommend Agda version 2.8.0 (recent older versions are also ok).
agda --setupstack install --resolver=nightly Agdaagda --setupghcup tuistack path --local-bin
is in your system PATHNote: if you use GHC 9.14.1 to build Agda, you need Agda 2.8.0.1 rather than 2.8.0.
agda-mode compileagda-mode setupGet the agda-mode extension (authored by Ting-Gian
LUA).
To install a library for Agda, it must be downloaded and the path to
its .agda-lib file must be mentioned in the file
$AGDA_APP_DIR/libraries, where $AGDA_APP_DIR
is the directory printed by
agda --print-agda-app-dir.
(In case this directory does not exist yet, please create it.)
For instance, to install the Agda standard library, you can follow these steps.
Download the version of the standard library for your Agda
version according to
https://wiki.portal.chalmers.se/agda/Libraries/StandardLibrary .
For Agda 2.8.0, this is version
2.4.
Unpack the library into a directory of your choice, for instance
(on Linux/MacOS):
~/.agda/libraries.d/standard-library
Recommended: in this directory rename
agda-stdlib-2.4 to v2.4 (or similar).
Add the following line to your ~/.agda/libraries
file (create it if it does not exist):
~/.agda/libraries.d/standard-library/v2.4/standard-library.agda-lib
In this you need to expand ~ manually to your home
folder.
On Windows, the libraries file might reside in another
directory than ~/.agda.
Check the output of agda --print-agda-app-dir.