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

Our poster was accepted to SIGCSE 2019.


With large class sizes and instructors who may not be equipped to assist struggling students, many students abandon the field, deeming it to be too difficult and not for them. Consistent, constructive, supportive feedback through a Tutoring Companion can scaffold the learning process for students. This poster describes a reasoning model, using neural networks techniques, for a tutoring companion embedded into the Eclipse IDE. The companion provides support for students in a first-year university Java programming course. The companion collects data from students’ events and programming assignments, analyzes it for relevant trends, and estimates each student’s situation. The input data for the neural network comes from areas with which beginning computer science students often struggle, such as the presence of important keywords and the amount of time spent in a state with errors. Then, it determines the feedback to be provided for students to overcome a detected challenging situation, providing both hints on how to fix the problem with the code, as well as encouragement to help keep students motivated and learning. The effectiveness of the approach is examined among first-year computer science students through the completion of recursion and control flow programming assignments. The students complete surveys regarding their learning experience to assist in evaluating the companion’s pedagogical effectiveness, which is discussed with an emphasis on the value of feedback provided.


Day M. and Gonzalez-Sanchez J. (2019). A Neural Network Model for a Tutoring Companion Supporting Students in a Programming with Java Course. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE ’19). ACM, New York, NY, USA, 1268-1268. DOI: doi.org/10.1145/3287324.3293851