SI Seminar by Matthias Hauswirth

Istituto del software

Data: 20 Ottobre 2022 / 16:30 - 17:30

USI Campus Est, room D0.03, Sector D

Pitfalls in Teaching Programming

Speaker: Matthias Hauswirth

Learning to program is difficult. Looking at programming language theory can shed some light on what makes programming hard and what might help to scaffold learning. In this talk we present four pitfalls in teaching programming, and we point out ways to avoid them. The deliberate choice of appropriate introductory programming languages, and the use of carefully crafted tools, libraries, and pedagogies, allows educators to largely avoid the pitfalls.

Matthias is the ‘head lamp’ at Luce, the Lugano Computing Education research lab ( where we study how people learn to program and how to improve that learning process. He represents USI on the program committee of the Swiss national GymInf program to train existing high school teachers to teach the new mandatory informatics course ( and he co-directs a similar state-wide program in Ticino. Within GymInf he teaches a programming language concept course across Switzerland and informatics didactics courses in Ticino. Matthias represents the Programming Language community in the ACM Education Advisory Committee and is a member of the IFIP Working Groups on Software Implementation Technology and Language Design. 
As part of the Luce’s research on conceptual change in learning to program, we contribute to the growing repository of programming misconceptions at ( which maps misconceptions to features of specific programming languages. Luce also develops and operates Expression Tutor (, an interactive web site for teaching and assessing the structure, typing, and evaluation of programming language expressions.

Chair: Andrea Stocco 

ℹ️  The seminar will be in presence for everyone in room D0.03. If you are unable to attend in presence, the SI website contains a link to a Teams video call in the “location" field (i.e., click on “D0.03"). 


In February 2019, the Software Institute started its SI Seminar Series. Every Thursday afternoon, a researcher of the Institute will publicly give a short talk on a software engineering argument of their choice. Examples include, but are not limited to novel interesting papers, seminal papers, personal research overview, discussion of preliminary research ideas, tutorials, and small experiments.

On our YouTube playlist you can watch some of the past seminars. On the SI website you can find more details on the next seminar, the upcoming seminars, and an archive of the past speakers.