While setting up my new website, i stumbled over my old “Teaching Statement”, which I wrote over ten years ago when I was PhD Student at ETH. At first, I intended to re-write it, but then I realized that it still perfectly describes my attitude and motivation. So here they are, my 50 cent on teaching:

“For me, teaching is fun. This does not mean that I do not take it seriously – on the contrary, I always prepare my exercise classes and presentations thoroughly and extensively. For as long as I can remember, I have enjoyed teaching. I find it extremely fascinating to help and guide students in their learning process, and it is one of the most satisfying experiences for me to see a student finally understand a subject, be it derivatives, quicksort, or how to smash a volleyball. This is why I chose to teach private lessons and exercise classes, and this is what makes me look forward to my future lectures.

In the following, I will describe some aspects of teaching that I consider very important, using the course “Programming in Java” as a (very successful) example. I taught this course in spring 2001 together with Alexander Below, another Ph.D. student at the Department of Computer Science of ETH Zurich. I initiated the course, driven by my first experiences in lecturing in summer 2000, and motivated by the conviction that one can learn programming only by implementing a large and complex program. The course was attended by 50 students with basic programming knowledge and consisted of two parts: The first week was dedicated to learning the basics of Java; in the remaining two weeks, the students were split into groups of five students to implement a large project, a computer game. The website of the course (in German) can be accessed via my homepage.

In the first week, we taught two lectures per day, each followed by two hours of exercises. The goal of each lecture was to introduce a “small” basic topic, such as object creation or event handling. The main purpose of these lectures was to give the students an impression of what is possible in Java, and how to use it. It was (and still is) our conviction that we cannot teach something to the students – they have to learn it by themselves. Accordingly, we only presented the subjects that we considered relevant, and left it to the students to learn the details by themselves. Our lectures were supported by exercises, where the students solved tasks at the computer. The level of the tasks was increasing from very easy to challenging, allowing each student to learn and succeed at his/her personal level. During the exercises, we were present in the computer room to answer questions; however, our main intention was to help the students help themselves. To this end, we often pointed the students only to the corresponding chapter of a book, encouraging them to find the solution by themselves, or sent them to ask another student who had solved the problem already. Especially the latter method proved to be very successful, since the students were always happy to share their know–how.

In the remaining two weeks of the course, the students implemented the game “Crazy Maze”. We had chosen this rather simple game, because we wanted to ensure that all students end up with a running program. This was in accordance with our belief that success and positive feedback is one of the main ingredients of successful learning. During the first days of the project, we helped the students every now and then, especially with the object–oriented design. Later, we reduced our interaction more and more, and the students worked autonomously. At the end of the project, our strategy had worked out well: Every group had implemented the game, and most of them had even time to add features like multi–user mode or computer players.” (mark, 2003)