Improving and Evaluating Maria: A Virtual Teaching Assistant for Computer Science Education

TR Number



Journal Title

Journal ISSN

Volume Title


Virginia Tech


Many colleges face a lack of academic and emotional support for their computer science students. Previous research into this problem produced Maria, a virtual teaching assistant (TA). This initial version of Maria was able to answer student questions, provide error explanations, and praise students for effort on programming assignments. This research continues work on the Maria project with three design goals: (1) reducing obstacles to use of Maria, (2) allowing Maria to provide better academic support, and (3) allowing Maria to provide better emotional support (with less focus on this goal). Improvements were made to the initial version of Maria, including increasing the number of questions that Maria could answer, allowing Maria to suggest questions for students to ask, and adding longer back-and-forth dialogs between Maria and students. Following this, Maria was deployed to students for an evaluation. The evaluation revealed that certain features were popular (including the longer dialogs and easier access to error explanation) and that Maria was unable to provide relevant answers to many questions asked by students. Using data from the evaluation, more improvements were made to Maria to address some of her shortcomings and build on her popular features. Answers to more questions were added for questions about testing, general knowledge questions, questions about many other topics. Many of these new answers used the popular back-and-forth dialog feature. Additionally, this research discusses a system that could be used to automate the creation of new answers for Maria or any virtual teaching assistant using crowdsourcing.



Pedagogical Agent, Chatbot, Virtual Teaching Assistant, Computer Science Education, Crowdsourcing