Off-lecture support: exploring the impact of interactive programming exercise system on first year programming students learning

Funder: Internal Funds
Program: SEED
PI Name: Dina Sabie
Faculty/Department: Faculty of Media, Creative Arts, and Design
Research Area(s): Other

After teaching the foundation programming course in my program for two semesters (GAME101) and holding focus groups with the class at the end of each semester, all students agreed that they did not have time to practice well all the new materials presented in the class. This is true given how many contact hours we could offer. Moreover, many students felt shy and did not ask questions. Thus, for this research project we want to implement an interactive automated exercise system where there are coding exercises the students can answer and get immediate feedback in terms of whether their code works perfectly, suggestions to improve the code, or if there is a syntax error. I have used a similar system when I was an instructor at UofT and the students loved it because it gives them the time and space to exercise on their own and if they are stuck, they can try as many times as they want and can always reach out to the professor for help. Research has shown that such systems help students greatly with their programming skills and grades. Moreover, courses that implement such systems have a lower drop rate (Benotti, Aloi, Bulgarelli, & Gomez, 2018, Yeckehzaare, Resnick, & Ericson2019). After talking with countless people about how to implement this system and exploring different platforms, we found that the best starting point is using Code Lab (https://www.turingscraft.com/). It is a paid interactive exercise system that can be integrated into blackboard (for easy access as well as to get information about what every student has completed) and we can choose from a list of premade exercises or add our own. We are very interested in adding exercises of our own such that they are of interest to the students. For example, we want to add questions that are game-related and questions that relate to the other course they take (e.g., physics and math). This way, we can find out which exercises our students are most interested in completing and feel they are getting benefits from. Moreover, this has the potential to make the platform not only beneficial for a programming course but also for other courses too if we are to overlap content between the different courses.