CodeWatch: A Few-To-Many Real-Time Tutoring System for Massive Introductory Creative-Coding Classes

Principal Investigator

  • Dr. Kening ZHU

Abstract

This proposal is intended to design CodeWatch, an interactive software platform to facilitate the workshop-based introductory creative-coding classes. One-on-one tutoring from an expert is one of the most effective ways for novices (e.g. art students) to learn coding. However, there are often far fewer tutors than learners in a coding class, making it difficult to implement one-on-one tutoring. Based on my 3-year teaching experience in introductory creative coding (CS1103 and CS1303), it is difficult for the teaching fellows to identify which student needs help or not during the class, due tothe passive learning behaviors (e.g. being shy to ask questions or discuss among peers), which are common among the Asian students. The current in-class solution to this issue is rather passive with low efficiency, as the teaching fellows need to walk around the classroom and check the progress of each student. It’s even more challenging for the teaching fellows to attend many help-needing students simultaneously. The project aims to facilitate in-class instructors and TAs of an introductory creative-coding class to monitor, communicate with, and help more learners at once. To achieve this goal, we propose to develop an intelligent and interactive teaching-and-learning platform called CodeWatch. Each student practices in a web-based coding workspace. The tutors see a real-time view of each learner’s actions on a webpage-based dashboard, with each learner’s workspace summarized in a tile. The intelligence of CodeWatch comes from a back-end coordinating server that monitors the progress of the learners based on the activeness and the encountered errors in coding, and automatically reshuffles visualizations in the tutor interface so that the most help-needing learners are always in the tutor’s main field of view. When the tutors see that a particular learner needs help, they can open a chat window to start a small-group conversation. We will implement the proposed platform by using existing off-the-shelf technologies, mainly an open-source code editor and existing machine-learning algorithms. This platform will be deployed in the SM1103A and CS1103B classes with more than 200 students. The effectiveness of the platform will be evaluated quantitatively and qualitatively based on the system recorded data, and the students’ and the tutors’ feedback. The proposed platform can be further used in many other coding courses.