A Neural Network Model for a Tutoring Companion Supporting Students in a Programming with Java Course

I am serving as a chair of Melissa Day’s Graduate Supervisory Committee. The committee includes Dr. Ajay Bansal and Dr Alexandra Mehlhase.

Thesis defense is scheduled on April 8, 2019, 1:30 pm MST, Peralta Hall room 202.


Feedback represents a vital component of the learning process and is especially important for Computer Science (CS) students, given the notorious difficulty of CS programs. With class sizes that are often large, it can be challenging to provide individualized feedback to students. Consistent, constructive, supportive feedback through a Tutoring Companion can scaffold the learning process for students. A Tutoring Companion can offer a constant support that emulates the traits of a human tutor. It can assists the student by providing help. and possible providing affective support also.

This thesis proposes a Tutoring Companion embedded into a tutoring companion embedded into the Eclipse Integrated Development Environment (IDE). This tutoring companion provides support for students learning about recursion in a university Java programming course. ).. In particular, the reasoning model for it is described, using the techniques of a neural network.

While a student works with the IDE, the Tutoring Companion collects UI events (such as such as a run attempt, debug attempt, or a request for help), read the code, and its compilation results.. This data is used as inputs for a neural network model. The neural network calculates an appropriate help message that then it is shown, providing hints on how to proceed as well as affective support to help keep students motivated and learning.

The effectiveness of the approach is examined among CS students. The students solve a programming assignment while the Companion assists them. Data is collected from these interactions, including all inputs and outputs for the neural network, and students are surveyed regarding their experience. Results suggest that students feel supported while working with the Companion and promising potential to assist students with programming assignments in the future. Challenges in developing an embedded Companion are discussed, as well as opportunities for future work.