Current Projects
Personalized Adaptive Prompts for Online Systems (some collaborations with Joseph Jay Williams, Andrew Petersen, and Lisa Zhang)
- This research will investigate, develop, test, and deploy a series of personalized adaptive prompts for students to engage with in online exercises in computing courses. Prior literature identifies reflections, particularly self-explanations as an activity that can encourage self-regulation, engagement, and retention of the course material. It also gives students an opportunity to identify weaknesses. What if these prompts are adaptive to each user?
Utilizing randomized A/B experiments that use adaptive algorithms such as multi-armed bandits to test alternative versions of applications measuring their efficacy to find what best serves the user and improves their experience. This is not only for reflection purposes, while watching videos, but can also be generalized to when a student is ‘stuck’ while trying to problem solve course material or when completing an assignment. Our system can ‘nudge’ students and provide tactical hints and personalized explanations that benefit that student specifically.
Nudging students to pause and reflect on material they are learning, explain the process they are following, hinting at errors, and suggesting problems according to their strengths and weaknesses have been strategies that human tutors have followed for several decades. However, using automated systems to apply the same strategies effectively and offer scalable support is still a relatively new area of study with room for a great deal of progress. Systems currently used are not as personalized as they can be, context dependent, and often ignored by students. Additionally, the use of 24/7 chatbots is becoming more prevalent in industry, but is not commonly used to support educational needs though we are seeing growing interest in pedagogical agents. By leveraging machine learning, like an autoregressive language model such as GPT-3, and pairing it with contextual multi-armed bandits, we can provide personalized individual support to students who would otherwise not receive it.
Graduate Students: Harsh Kumar, Naaz Sibia, Angela Zavaleta Bernuy
Data Mining Computer Science Courses for Replicability using Machine Learning Models to Predict Student Behaviour (joint work with Andrew Petersen and Bogdan Simion)
- This work is layered and consists of three major components. The intent is to create a series of personalized, adaptive, and behavioural interventions/systems that can be incorporated into courses to improve the education of students.
1. Framework for Data Standardization and Model Testing
A fundamental aspect to data-driven analysis and conclusions is the need to standardize data (cleaning and storing), but further, ensuring that the framework for collection is seamless, the data is ensured, and system is modular. Modularity is a key software principle and important for the expansion of pipelines and software platforms as the intent is to create a generalizable system which can be used by other institutions/organizations for replicability research.
When it comes to modelling, predictive or otherwise, being able to create snapshots (subsets) of data on the fly is imperative when validating machine learning and statistical models. To determine model accuracy, error rates, and study the progress made by the students, users must have this data readily accessible.
Ultimately, historical data is of utmost importance when attempting to forecast student behaviour and use this information for prescriptive purposes – personalized, adaptive, and behavioural interventions.
2. Data Mining
Every institution has a large amount of data! From the plethora of course data to surveys collected to institutional information, there is a significant amount of data that can be mined to obtain useful insights and make improvements on our courses.
Much of the work in this phase is exploratory, statistical, and programmatic in nature. The purpose is to find multi-dimensional patterns that are widely applicable, and thus reproducible, at other institutions. Additionally, the need to provide insights to researchers of what markers to look for in the data and what combinations of data work well together are fundamentally important in making domain specific models. Thus, we will generate programs that can aid research in discovering these patterns.
3. Predictive and Prescriptive Modelling using Machine Learning and Statistical Models
An important characteristic of predictive/prescriptive modelling is understandability. Often, as researchers, we need to understand our model and its outputs so that we can ethically deploy them. For instance, when identifying students at-risk, predicting student offer acceptance into a program of study, or creating personalized learning systems to better support understanding. In these cases, we want an understandable model that allows us to explain why any specific output was obtained so that we can employ these tactics widely to automate and better the student experience. But more so, improve student understanding and quality of their education to make them better scientists, engineers, etc.
This phase involves the need to develop understandable machine learning and statistical models, then empirically analyze and test them for the best possible outcome. Given the model developed in 1., we will be able to test them using snapshot data and validate them using this historical data prior to deploying them for real-world use.
Some of the algorithms we will investigate are naïve bayes, SVM, AdaBoost, decision tree, genetic algorithms, etc. While some of these are not easily explainable models, they can be used first to compare the results obtained using models that are considered explainable, and secondly they can be modified to get explainable versions of the same models. In addition, we will attempt to develop novel algorithms that may outperform those currently and commonly being deployed.
Graduate Students: Matías Piña Aguilera (Team Lead) and Pan Chen. Students: Alexander Feng
SQL Common Misconceptions (joint work with Daphne Miedema, Efthimia Aivaloglou, and George Fletcher)
- We know that learning a new language, SQL in particular, is not easy. Various researchers have examined students making mistakes while learning to use SQL and our investigation focuses on what they are as well as what underlying reasons there may be in making them. This work is an extension of this existing work.
Investigating the Effects of Reflections using Different Mediums in Computer Science
SQL String Similarity Automarking Integration into PCRS (joint work with Andrew Petersen and Ilir Dema)
Computer Science Design Enhancements using LaTeX
Monocular Camera Localization with Depth Estimation
OnTrack: Reminders for Learners (research with Joseph Jay Williams and many IAI members)
- Self-explanations and conceptual reflections have been investigated extensively in previous work as ways to encourage students to express their thoughts in a structured and focused manner. This project investigates the different mediums of acquiring these reflections and researching its effect on students': performance, behaviour, experience, satisfaction, etc.
Graduate Students: Angela Zavaleta Bernuy (Team Lead), Naaz Sibia, and Pan Chen. Students: Giang Bui, Jessica Xu, and Chloe Huang.
SQL String Similarity Automarking Integration into PCRS (joint work with Andrew Petersen and Ilir Dema)
- This project focuses on the integration of previous work building a novel SQL automarker (SQAM) and integrating it with our in-house LMS (PCRS). This project will focus on integration, a seamless user experience, and a combination of: thorough testing, optimization of SQAM, and feature additions. Additionally, we will extend the features of PCRS to include JDBC support and added SQL functionality.
Graduate Student: Naaz Sibia. Students: Lazar Lolic, Shrey Vakil, and Maor Gornic.
Computer Science Design Enhancements using LaTeX
- This project focuses on automating style design in LaTeX through the use of custom .cls and .sty files to better support researchers and educators in displaying their projects, publications, resume/CV, and other pieces of academic and professional work. Through modularity and detailed customization, the intent of this work is to generalize a solution that factors in user experience and adheres to good design principles.
Student: Hillary Tang
Monocular Camera Localization with Depth Estimation
- GPS fails indoors for a variety of reasons, e.g., no line of sight, signal weakness or distortion, etc. The focus of this project is on the use of monocular camera localization using depth estimation. This research has two different tacks: the first is using PoseNet (a camera localization technique that regresses a 6-d.f. camera pose from a single RGB image) and optimizing pre-existing loss functions to create a more accurate localization, and the second is using Indoor Positioning Systems (IPS). IPSs are typically used in large-scale deployments where they are most effective. This research will investigate what improvements can be offered by combining various state-of-the-art techniques (e.g., sensor fusion). The aim is to discover which techniques have a high accuracy and are both easy to use and deploy. NSERC USRA: Ali Raza.
OnTrack: Reminders for Learners (research with Joseph Jay Williams and many IAI members)
- OnTrack utilizes randomized A/B comparisons to experiment with different reminders or alternative ideas about how best to get students to start work earlier and, crucially, to measure the impact of these interventions on behaviour. We also evaluate the effect of homework email reminders in students by conducting an adaptive experiment using the Thompson Sampling algorithm and compare it to a traditional uniform random experiment. Graduate Student Team Lead: Angela Zavaleta Bernuy.
Past Projects
Smart Foodie: Graph Theory and Machine Learning Applications
Database Makeover: Improvements to the Online Teaching of Database Systems
VIAplanner
Hall of Fame (co-supervised with Larry Zhang)
ROP: Investigating Advanced Techniques to Improve Indoor Localization
ROP: Integrating Plagiarism Checking Tools and Other Features to UAM (co-supervised with Ilir Dema)
"StockIO" - Predictive and Prescriptive Analytics for Financial Market Solutions
CSSC Website - Web Frameworks and Applications
"2OfClubs" - Docker Hub Package Creation (industry expert: Nicholas Hawkes)
PiazzaBot and Discussion Board Analytics (co-supervised with Andrew Petersen and Bogdan Simion)
ROP: Enhance UAM to Process DDL and ERD (co-supervised with Ilir Dema)
Indoor Pathfinding using Augmented Reality
UTM's Developer Student Club's (DSC) Open Mind
UTM's Developer Student Club's (DSC) MapUTM (co-supervised with Paul Vrbik)
SQL and Relational Algebra Automarker (co-supervised with Ilir Dema)
*denotes the group leader, if applicable.
- Everyone has to eat. But, cooking is daunting for many. Price and availability of equipment, ingredient, and even time cause people to shy away from cooking for themselves in favour of spending money on prepared food. To address this, we are developing a system capable of producing novel recipe ideas. By leveraging the algorithms behind cookie, we can hopefully reduce the problem space from 'generate recipes from nothing' to 'generate ideas for recipes given a set of building blocks', making the problem more tractable. This project will leverage machine learning and graph theory algorithms. Student: Aaron Goidel.
Database Makeover: Improvements to the Online Teaching of Database Systems
- This project focuses on the redesign of pedagogical/andragogical materials for a third-year database systems course in the attempts to provide more experiential material to students while learning online.
Students: Abdullah Khokhar and Manraj Thind.
VIAplanner
- VIAplanner is a tool designed by students at the University of Toronto to help the community, with a focus on new students. This tool enhances the course selection process through schedule visualization and a variety of other features. The current team is focusing on the addition of several features as well as investigating and developing course and career visualization using graph theory and algorithms. Check it out live here!
Students: Jarrod Servilla*, Ritvik Bhardwaj, Naaz Sibia, Deval Patel.
Hall of Fame (co-supervised with Larry Zhang)
- Construction of an MCS website that will generate course awards to recognize student learning excellence.
Student: Sibthain Kazmi.
ROP: Investigating Advanced Techniques to Improve Indoor Localization
- Investigating advanced techniques which can be utilized (and even optimized) to better indoor localization (i.e. indoor positioning system), where GPS and other satellite/cellular technologies lack precision and accuracy. Further, to develop, implement, and test new algorithms empirically against currently employed algorithms and tactics in industry. Students: Ali Raza, Shahmir Akhter, and Lazar Lolic. Data/Results! Read our paper!
ROP: Integrating Plagiarism Checking Tools and Other Features to UAM (co-supervised with Ilir Dema)
- To develop an extension to the existing University of Toronto Automarker (UAM), with social network features, where the Instructors/TAs can collaborate, pull student submissions from various University submission systems (including MarkUs, PCRS, Github, Gitlab, Quercus, etc.), automark them, and check for plagiarism (i.e. integrating tools such as MOSS, JPlag, etc.). Students: Alberto Gateno, Erik Holmes, Vaishvik Maisuria, Jarrod Servilla, Shahmeer Shahid, Sandy Wang, and Terry Zhou. Read our paper!
"StockIO" - Predictive and Prescriptive Analytics for Financial Market Solutions
- To analyze historic stock market trends and develop a StockTradingBot.
Students: Abdullah Khokhar, Muhammad Zaidi, and Ishaan Sharma. Read our report!
CSSC Website - Web Frameworks and Applications
- To develop web frameworks, infrastructure, and usable applications for the MCS student community via the Computer Science Student Community (CSSC). CSSC Manager: Alexandra Thompson.
Students: Christopher Lim*, Arsala Bangash, Milind Vishnoi, and Yu Heng Su. Check out the CSSC website!
"2OfClubs" - Docker Hub Package Creation (industry expert: Nicholas Hawkes)
- To build a Docker Hub package for student unions to easily deploy. An application that provides student clubs a uniformed platform to reach their audience, "match" with students, and communicate their goals/upcoming events. Students: Hillary Tang and Christopher Lim. Check it out on Docker Hub! Full project on GitHub!
PiazzaBot and Discussion Board Analytics (co-supervised with Andrew Petersen and Bogdan Simion)
- To analyze historic Piazza discussion boards for interesting analytics and to investigate the benefit of developing a machine learning model to generate predictive Instructor/TA responses.
Students: Katarina Chiam, Arnaud Deza, Haocheng Hu, and Vaishvik Maisuria. Read our paper!
ROP: Enhance UAM to Process DDL and ERD (co-supervised with Ilir Dema)
- Improve the existing University of Toronto Automarker (UAM) to mark Data Definition Language (DDL) and Entity-Relationship Diagrams (ERD) by applying machine learning methods to classify database designs specified using DDL. Further, to build ML models to: assess correctness of DDL; and use supervised/unsupervised to assess conversion of ERD to a DDL model.
Students: Sandy Wang and Yegor Zadniprovskyy, with continued support from Saihiel Bakshi
Indoor Pathfinding using Augmented Reality
- "An augmented reality application that allows users find a particular room in places like campuses, malls, etc. Basically Google Maps but for indoor navigation." Students: Ali Raza and Shahmir Akhter.
UTM's Developer Student Club's (DSC) Open Mind
- "To create an open standard for organizing learning and research notes using mind maps. We hope to demonstrate the efficacy of this standard by building an app that allows users to create and share their mind maps." Students: Arsala Bangash* and Arnav Bansal.
UTM's Developer Student Club's (DSC) MapUTM (co-supervised with Paul Vrbik)
- "Map UTM is a specialized web application that focuses on helping students find rooms on campus through path routing and 3D visualization."
Students: Santiago Ordonez*, Ethan Chung, Dhaval Malhotra, Hillary Tang, Christopher Lim, Yi Feng Wang.
SQL and Relational Algebra Automarker (co-supervised with Ilir Dema)
- To build a robust automarker for SQL (DML) and RA, and to investigate paths of automarking Entity-Relationship Diagrams, as well as, SQL (DDL).
Students: Saihiel Bakshi, Rasagya Monga, Sandy Wang, and Yegor Zadniprovskyy.
*denotes the group leader, if applicable.
Past Personal Projects
Please note that these personal projects are infrequently updated. Last update: Summer 2017.
Fairness - An Optimization Problem. Final Project for Computing and Software 781: Issues in Data Centre Design, McMaster University. Supervised by Dr. Douglas Down, in conjunction with the work of Dr. Vincent Maccio. Apr 2017.

Fairness - An Optimization Problem |
Data Analytics and Optimization. Master of Software Engineering Final Project, McMaster University. Supervised by Dr. Antoine Deza and Dr. Frantisek Franek, in conjunction with the work of Zhongyan (Joe) Guan.
not publicly available
Model-View-Controller 1 (MVC-1). Final Project for Computing and Software 703: Software Design, McMaster University.

Model-View-Controller 1 |
Huffman Tree Implementation of The Rod Cutting Problem in Java. Graduate Project for Computing and Software 6O03 - Operations Research, McMaster University
FISHMO SAAMS: Semi-Automated Aquarium Monitoring System. Final Thesis Project for Graduation in Honours Computer Science - Capstone 4ZP6, McMaster University. Rhett Amin, Brandon Da Silva, Daniel Esteves, and Michael Liut.
Moby Dick - 4K Mandelbox Video generated in C++ and MPI. Final Project for Computer Science 4F03 - Distributed Computer Systems, McMaster University. Noel Brett, Ashley General, Matthew Halleran, and Michael Liut.
A Comparative Analysis Between the Mouse, Trackpad and the Leap Motion. Final Project for Computer Science 4HC3 - Human and Computer Interaction, McMaster University. Brandon Da Silva, Daniel Esteves, Ashley General, Matthew Halleran, and Michael Liut.

CS4HC3 - Final Report |
Tower of Hanoi in NASM. Final Project for Computer Science 2XA3 - Software Development Skills in Unix and Shell Programming, McMaster University.