Teaching
Summer Schools (and guest courses)
- Introduction to Dependent Types and Agda
- 2 lectures during the 8th Summer School on Formal Techniques
, Menlo College, Atherton, California, USA, 21-25 May 2018.
- Type Theory
- 5 lectures for CM0859, EAFIT University, Medellin, Colombia, 6-10 March 2017.
- Agda Tutorial
- Autumn school Proof and Computation for graduate and PhD students and young PostDocs.
Aurachhof, Fischbachau, Bayern, Germany, 3-8 October 2016.
Tutorial material for live coding:
Prelude.agda
TreeSortBool.agda
TreeSortOrd.agda
Copatterns.agda
Solutions:
TreeSortOrdSolution.agda
CopatternsSolution.agda
Solutions pretty:
TreeSortOrdSolution.html
CopatternsSolution.html
- Type Theory. A Constructive Foundation for Logics and Computer Science
- 28th European Summer School in Logic, Language and Information (ESSLLI 2016)
Bolzano-Bozen, South Tyrol, Italy, 15-26 August 2016
Introductory course: Type Theory. A Constructive Foundation for Logics and Computer Science
(local copy)
Courses
- Programming Language Technology (Master level, Chalmers DAT151, GU DIT231)
- Introduction to parsing, typing, interpretation, and compilation (28h).
Editions:
2018
2017
2016
2015
- Logic, Algorithms, and Data Structures (Bachelor level, GU DIT725)
- Glimpses into Computer Science for students of
Software Engineering and Management (28h).
Course description
Module contents
2014 GUL page (not public)
- Computer-Aided Formal Reasoning
- Introduction to logic, proof assistants, and decision procedures (42h).
Rechnergestütztes Beweisen (2010/11)
- Lambda-Calculus
- Theory and implementation of typed and untyped lambda calculi (42h).
Lambda-Kalkül (2008/09)
Lambda-Kalkül (2006/07)
Skript
- Python Tutorial
- One-week intensive introduction to the Python programming language (20h).
Python-Kompaktkurs (2008/09)
Folien
- Theory and Implementation of Object-Oriented Programming Languages
- Following the textbook Types and Programming Languages by Benjamin Pierce (28h).
Theorie und Implementation objekt-orientierter Programmiersprachen (2002)
Skript
Shared Courses
- Advanced Functional Programming
-
Monads, parallel/GUI/Web/meta programming in Haskell, systematic testing, dependent types, verification in Agda (42h).
Funktionale Programmierung (2012) with
Steffen Jost
Funktionale Programmierung (2009) with
Hans-Wolfgang Loidl
Slides: Haskell Agda
- Compiler Construction Lab
-
Parsing, type checking, intermediate representation, liveness analysis,
register allocation, greedy code generation (28h).
Compilerbau (2011/12) with
Ulrich Schöpp
Übersetzerbaupraktikum (2007/08) with
Hans-Wolfgang Loidl
- Functional Programming in SML
-
Recursion, induction, data types, higher-order functions, type inference, modules, exceptions, expression parsing, program semantics (42h).
Programmierung und Modellierung (2011)
with Martin Hofmann
- Type Systems
-
Type inference, parametric polymorphism, effect typing, subtyping,
recursive types, coinduction, dependent types, security types (42h).
Typsysteme (2011) with
Ulrich Schöpp
Typsysteme (2007) with
Martin Hofmann
- Semantics of Programming Languages
-
Small-step, big-step, and denotational semantics for a WHILE language, domain theory,
reduction and denotational semantics for lambda-calculus,
cartesian-closed categories, semantics of effects, PCF (56h).
Semantik von Programmiersprachen (2010) with
Ulrich Schöpp
- Computer-Aided Formal Reasoning
-
Sequent calculus, resolution, SAT (DPLL),
first-order logic, Herbrand theorem and compactness,
unification and decision procedures, PVS,
natural deduction, Kripke models, dependent types, Coq (56h).
Rechnergestütztes Beweisen (2007/08) with
Martin Hofmann
Seminars
- Initial Types Club
- Weekly informal Master and PhD level seminar on types, programming languages, and category theory
(Chalmers, since 2017).
- Codes and information
-
Codierung und Information (2012)
with Martin Hofmann
and Stephan Barth
and Steffen Jost
and Ulrich Schöpp
- Efficient functional data structures
-
Effiziente Funktionale Datenstrukturen (2012)
with Martin Hofmann
and Steffen Jost
and Ulrich Schöpp
- Scientific Practices
-
Wissenschaftliches Arbeiten und Lehren (2011) by Martin Hofmann
- Distributed Algorithms
- Blockseminar Verteilte Algorithmen (2010)
with Martin Hofmann and Ulrich Schöpp
- Program Analysis
-
Programmanalyse (2009) run by the TCS group.
- Programming Language Theory
-
Hauptseminar Programmiersprachentheorie (2007) with Lennart Beringer and Hans-Wolfgang Loidl
Assistance
- Formal Languages and Complexity
-
Formale Sprachen und Komplexität (2012) by
Martin Hofmann
- Introduction to Programming with JAVA
-
Einführung in die Programmierung (2011) by
Martin Hofmann
- Algorithms and Data Structures
-
Algorithmen und Datenstrukturen (2009) by
Martin Hofmann
Effiziente Algorithmen (2006) by
Martin Hofmann
Effiziente Algorithmen (2002) by
Martin Hofmann and
Jan Johannsen
- Functional Programming in SML
-
Programmierung und Modellierung (2008) by Francois Bry
-
Constructive Logic (2000)
- by
Frank Pfenning
Detailed listing of my teaching until 2011...
[ Home
| CV
| Professional Service
| Projects
| Publications
| Talks
| Teaching
| Supervision
]
|