Teaching
On this page you can find links to the courses I am or have been teaching,
as well as information on teaching resources of general interest that I have
developed (including some widely-used lecture notes on Prolog programming and an
interactive proof assistant). There is a separate page with details on
student supervision.
Courses taught in Amsterdam
- Computational Social Choice
(MSc Logic, University of Amsterdam, taught regularly since 2007)
- Game Theory (MSc Logic, University of
Amsterdam, taught regularly since 2017)
- Problem Solving and Search
(BSc AI, University of Amsterdam, taught regularly 2005-2007 and 2013-2018)
- Problem Solving with Prolog
(BSc AI, University of Amsterdam, taster course for highschool students taught 2015-2017)
- Logic, Language and Computation
(MSc Logic, University of Amsterdam, taught annually 2010-2014)
- Introduction to Logic in Computer Science
(MSc Logic, University of Amsterdam, taught in 2006 and 2007)
- Multiagent Systems
(MSc Logic, University of Amsterdam, taught in 2006)
- Modern Classics in Social Choice Theory
(MSc Logic, University of Amsterdam, project course taught in 2009)
- Advanced Topics in Computational Social Choice: SAT Solving
(MSc Logic, University of Amsterdam, project course taught in 2021)
Courses taught in London
- Multiagent Systems
(MEng/BEng Computing, Imperial College London, module on rational decision making and negotiation taught in 2004 and 2005)
- Automated Reasoning
(BSc Computer Science, King's College London, taught in 2002)
- Logic and Prolog
(BSc Computer Science, King's College London, taught in 1999 and 2000)
Invited Tutorials and Short Courses
- Multiagent Resource Allocation
(AAMAS-2006, EASSS-2006, EASSS-2007)
- Fair Division
(AAMAS-2008, EASSS-2009, COST-ADT School 2010, FairDiv-2015)
- Computational Social Choice
(ESSLLI-2008,
COMSOC-2008,
ECAI-2010,
TbiLLC-2011,
FAIR-2014,
Porquerolles 2022)
- Voting Theory
(AAAI-2010, SecVote-2012, EASSS-2013)
- Judgment Aggregation
(WINE-2012, IMS Singapore 2013, AAMAS-2013)
- Logic and Social Choice Theory
(ESSLLI-2013)
- Lectures on the Theory of Aggregation
(Guangzhou 2014, Paris 2016)
- Automated Reasoning for Social Choice Theory
(Paris 2019, AAMAS-2023, ECAI-2023, IJCAI-2024)
- Explainability in Social Choice
(FMD-2022)
Teaching Resources
- Lecture Notes on Fair Division
ILLC, University of Amsterdam, September 2009. Last revised in April 2010.
- An
Introduction to Prolog Programming
Lecture Notes, King's College London and University of Amsterdam, 1999-2018.
- WinKE:
An Interactive Proof Assistant for Teaching Logic
This software tool is based on the KE calculus, a refutation system that
combines features from Smullyan's analytic tableaux and Gentzen's natural
deduction, and has been designed to serve as a tutoring system to support
the teaching of logic and reasoning at an introductory level.
It is available free of charge to all interested parties.