Seminars at the Faculty of Informatics

Improving Students' Understanding in Python Programming


Tobias Kohn


ETH Zurich, Switzerland


Thursday, April 27, 2017


USI Lugano Campus, room SI-003, informatics building (Via G. Buffi 13)






How do you effectively learn and teach programming? Among the key aspects is the concept of learning by mistakes. As educators, we must not only encourage our students to embrace the unknown, and taking the risk of making mistakes. We must also be ready to give high quality feedback to facilitate our students' learning process.

Some of the feedback can be provided by the progamming environment itself. To this end, I have created a programming environment for Python, called "TigerJython". TigerJython does not only provide more precise error messages than standard Python, but does so in the native language of our students. The objective of the enhanced error messages is twofold. First, I want to increase the students' self-confidence in understanding the computational machine. Second, by enabling the students to solve minor issues on their own, the teachers' focus can shift from syntactical problems to a more conceptual approach to programming and computer science. In this talk, I will demonstrate how the environment TigerJython helps to achieve these two goals.

In addition to improved feedback from the computer, educators can improve their feedback as well by understanding the source of typical misconceptions. I will present an example of how students' program code allows us to draw conclusions about the students' comprehension, and how we, as educators, can react to it.





Tobias Kohn is a PostDoc researcher in the field of computer science education at ETH Zurich, and has been teaching at high school for ten years. As part of his Ph. D. thesis, he wrote a Python environment, which has found widespread use, particularly in Swiss high schools. He received his Master in mathematics from ETH Zurich in 2008 and his Ph. D. in computer science in spring 2017.




Prof. Matthias Hauswirth