Christopher Schankula

Making my little corner of the world a better place, one student at a time.

Christopher Schankula is a Software Engineering & Society student at McMaster University in Hamilton, Ontario, Canada, graduating in June 2022. For the past several years he has volunteered with McMaster Start Coding, helping to teach over 26,000 K-12 students functional programming in Elm. During his undergraduate degree he completed several research co-ops, contributing to several research papers and posters. He is also the first author on an image analysis paper in the Cambridge journal Microscopy & Microanalysis, published in his second year of study. His research interests include functional programming as it applies to STEM education, image processing, discrete mathematics and compilers / programming languages. He starts as a graduate student in September, 2022.

To make computational thinking appealing to young learners, initial programming instruction looks very different now than a decade ago, with increasing use of graphics and robots both real and virtual. After learning the basics of drawing using code, children want to create interactive programs, and they need a model for this and large amounts of syntax can get in their way. State diagrams provide such a model, but in the Functional Programming community, there is a lot of skepticism about explicitly talking about state, perhaps because they associate it with side-effects. This presentation details using a state diagram tool to help students create interactive programs. We detail statistics from a small pilot using the tool to answer research questions about whether grade 4/5 students understand the use of state diagrams and how they correspond to the programs they generate.


The McMaster Start Coding program has taught over 26,000 K-12 students programming using Elm over the last five years. Collectively, they have compiled nearly 4 million programs in our online learning platform. The COVID-19 pandemic has necessitated the switch to a fully virtual setup, which continues as schools have strict visitor limits. Virtual learning also necessitates upgrades to the online code compilation and mentoring software we use. In particular, we need to determine when a student is stuck so as to be able to make better use of mentor resources and proactively help students who are struggling. This presentation details data mining efforts to predict metrics such as the length of time that a student is likely to struggle if they are receiving an error in their program, in order to dispatch mentors and help the students who need the most attention.