Student Projects

How often have you been in a class where the prof is talking … but you’re missing a key piece of information? That’s the problem I work on. I want to understand what barriers hinder students in computer science courses.

If you are a student at the University of Toronto and have an interest in computing education, want to work on an applied data mining or languages project, or are looking for software development experience, send me an email with an expression of interest and your résumé. I offer independent study courses (CSC398H5, CSC492H5, or CSC493H5) each term, participate in the Research Opportunity Program (CSC399Y5), and occasionally have funds to hire student developers.

CS Education Research

With apologies to Parnas, there are both essential barriers – challenges inherent in the material – and accidental barriers – challenges imposed by the course design. I tend to use educational data mining techniques on real student submissions to programming exercises to investigate the former and qualitative methods ranging from interviews to document analysis for the latter. Much of the data is drawn from courses taught at the University of Toronto.

Currently, U of T students are involved in three separate sets of projects:

  1. Identifying novice programmer behaviours while solving online exercises which indicate that a student may be having difficulty with a problem or topic.
  2. Evaluating the impact of improved error messages on the ability of students to fix errors in programming exercise submissions.
  3. Documenting student perspectives on mathematics and its role in learning computer science.

Please see my publications for examples of completed projects.

Programming Course Resource System (PCRS)

PCRS is an online programming resource that was principally developed by undergraduates at the University of Toronto. The project began as a resource for using peer instruction (PI), an active learning pedagogy, in programming courses, but over the years, the system has been expanded to support blended and online courses. Currently, PCRS can be used to present content (videos and text) as well as exercises (programming, multiple choice, and short answer) and is in use in three separate U of T courses (~5000 students per year) as well as at other universities.

In summer 2017, we improved the PCRS user interface to support a self-paced CS1 course and implemented support for R exercises. In 2018, we are looking into problem types to support logical reasoning in proofs courses.

BadgePack Digital Achievement System

Digital achievements are a tool for motivating engagement, promoting effective learning behaviours, and providing instantaneous feedback in online environments. This project aims to develop a framework that enables U of T instructors to create achievement hierarchies for their courses.

In 2016-17, two students developed a framework for awarding and managing achievements (BadgePack).