Informal Methods - Autumn 2019


Welcome to Informal Methods in 2019.

This course is intended to sharpen your skills in writing correct, yet fast code.  You will not be tested on your knowledge of the theory underlying the formal techniques we'll study (there is no exam), but rather your ability to apply them in practice.  As such, the course will run as an interactive seminar - you will be graded on class participation (10%).  Attendance is essential - you cannot pass this course by following the reading material.  Likewise, participation and attention is also mandatory - this means: laptops closed, mobile phones away.

You'll be working to build your "muscle memory" - like a pianist playing scales, you will learn to derive and use invariants, reason statically, without going back to basic principles, or looking it up in a textbook.  Therefore, the most important thing of all is practice: We will work through examples in the lectures, as a group; I will also provide exercises to work through in your own time.  I cannot emphasise too strongly that the only way to get really good is to invest the time and practice.


The assessment for this course consists of 3 written assignments.  There will be no exam.  The assignments will be collected in Moodle, and I am planning to release the first at the end of week 3.  Late submissions will be penalised by reducing the maximum possible mark by 10% per day i.e. a 3-day-late submission can score a maximum of 70%.

Important Links

  • Moodle course - enrolled students only, nethz username & password.  We'll use the Moodle instance to distribute materials (readings, homework etc.) and to manage assignment submissions.


  • Thursday 10-12, ETHZ CAB G 59