Understanding how people learn software modelling and development
As software governs increasingly more of our lives, we need more people to be able to understand software and software development and to actively engage with it. This requires training: we need to teach people how software works, and how to develop it themselves. To do so, we need to understand how people learn software development. What are the key concepts? In what order should they be presented? What are good pedagogic approaches? What are common misconceptions and how can we address them? Does modelling make it easier for people to engage in software development and if so, how?
We have been doing some initial work using qualitative studies to improve our understanding of how students learn programming and software development. More work is needed in this area and I am looking for PhD students to help with this work. I’m particularly interested in extending this work into understanding and supporting students learning modelling and model-driven engineering.
@article{ZschalerEtAl25c,author={Zschaler, Steffen and Lethbridge, Timothy and Bucchiarone, Antonio and Bonetti, Federico and Kalantari, Reyhaneh},title={What Do We Need from Modelling Tools for Teaching? A Survey of the Community of Higher-Education Modelling Teachers},journal={Software and Systems Modelling},year={2025},doi={10.1007/s10270-025-01336-8},url={https://doi.org/10.1007/s10270-025-01336-8},}
@article{YeomansEtAl19,author={Yeomans, Lucy and Zschaler, Steffen and Coate, Kelly},title={Transformative and Troublesome? Students' and Professional programmers' perspectives on difficult concepts in programming},journal={ACM Transactions on Computing Education (TOCE)},volume={19},number={3},year={2019},}
Technical Reports
2016
Identifying the challenges of learning programming at undergraduate level: A Threshold Concept approach
@techreport{YeomansEtAl16,author={Yeomans, Lucy and Zschaler, Steffen and Coate, Kelly},title={Identifying the challenges of learning programming at undergraduate level: A Threshold Concept approach},howpublished={Executive summary report of project findings},year={2016},}