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 ]

Valid HTML 4.01! Andreas Abel, http://www.cse.chalmers.se/~abela
Last modified: 2019-01-22 17:50
Valid CSS!