Teaching

I regularly contribute to our group’s teaching activities, and take a lot of pleasure from it (marking excepted!). I view it as an important part of the job, not only to the benefit of students, but of teachers too – it keeps us well grounded.

This page is essentially a summary of my teaching activities over the years. Where course pages are public and permanent (e.g. at ETH), links are provided. Selected lecture slides and notes are also available to download directly from this page.

In 2011 I was thrilled to receive a Vice-Chancellor’s Teaching Award for my work at York.

Teaching at ETH Zürich

Autumn 2015:

Software Verification (lecturing, exercise classes)

Spring 2015:

Concepts of Concurrent Computation (lecturing)

Autumn 2014:

Software Verification (lecturing, exercise classes)

Spring 2014:

Concepts of Concurrent Computation (lecturing)

Autumn 2013:

Software Verification (lecturing, exercise classes)

Spring 2013:

Seminar: Research Topics in Software Engineering (supervision, assessment)

Teaching at the University of York

Summer 2012:

Mathematical Foundations of Computer Science (lecturing, exercise classes)

2009-12:

Teaching assistant variously on:

  • Computability and Complexity
  • Computer Science Writing
  • Computing by Graph Transformation
  • Discrete Mathematics Refresher
  • Lexical and Syntax Analysis of Programming Languages
  • Logic Programming and Artificial Intelligence
  • Mathematical Foundations of Computer Science
  • Numerical Analysis
  • Theory of Computation

Master’s Thesis Supervision

Completed:

Modelling and Verifying an Object-Oriented Concurrency Model in GROOVE
Master’s Thesis, October 2014 — April 2015
Author: Claudio Corrodi
Supervisors: Chris Poskitt and Alexander Heußner (University of Bamberg)
Resulting Publications:

Distributed testing sessions for AutoTest
Master’s Thesis at the University of Lorraine (France), March 2014 — September 2014
Author: Victorien Elvinger
Supervisors: Chris Poskitt, Alexey Kolesnichenko, and Max (Yu) Pei