Skip to main content

University of Michigan School of Information


New tools may serve as virtual tutors for students in coding classes

Tuesday, 04/17/2018

Getting help in programming courses outside of instructors’ office hours can be difficult, but a new tool called “” may help change that.

Steve Oney, assistant professor of information at the University of Michigan School of Information (UMSI) and of Electrical Engineering and Computer Science at the College of Engineering, has received a National Science Foundation grant of $174,981 for his project, “Designing Scalable Help Tools for Programming Courses.”

“The growing demand for programming skills has led to an influx of new learners in programming courses,” says Oney. He and Paul Resnick, UMSI professor of information and associate dean for research and faculty affairs, teach the UMSI introductory programming course, “SI 106: Programs, Information and People.” 

But providing effective, personalized help, especially in large courses, is a challenge, Oney says. Office hours are ideal, but not every student can come to office hours, and it can be difficult to find help for everyone who comes. 

Discussion forums and email offer flexibility, and allow students to learn from prior questions, “but they’re less interactive, and lose important contextual information about the learner’s question,” Oney says.

Specifically, “synchronous” tools provide interactive assistance, but these limit scheduling flexibility. These tools are used, Oney says, “when people are involved in conversations at the same time. That includes talking face-to-face, personal office hours, or video chat.” 

“Asynchronous” tools, such as discussion forums, email and various online posting, are “when people are involved in the same conversation but paying attention at different times,” Oney explains. 

These offer flexibility and allow students to learn from prior questions. However, “they’re less interactive, and lose important contextual information about the learner’s question.” 

A possible solution? Tools that will “combine the best of both help styles,” he says. The NSF grant funds the development and evaluation of chat.code, a tool specifically built for discussions about code. 

The tool includes features, like the ability to "point" at different parts and versions of code. Oney hopes these and other chat.code features will make it possible to seek and give help online more easily. 

The development process of chat.code will integrate version tracking with existing chat interfaces and develop tools to visualize how codes change along with conversational turns during help sessions. 

The evaluation process will involve students in lab studies testing the usability of, and the archiving, search and visualizing features. 

Results from both studies will be used to improve It will then be offered as an optional remote support tool for two semesters in Oney’s programming course.

Eventually, Oney says, “I hope will be a useful supplement for pretty much any programming course, and that it allows students to better connect with support from other students or instructors.”

- Sheryl James, UMSI PR Specialist