Virtual Teaching Assistant to Support Students' Efforts in Programming
Novice programmers often find learning programming difficult. They suffer from various misconceptions and difficulties in understanding the subject. The overall experience with programming can be negative for many students. They may feel isolated in the programming environment and think that programming is difficult for them.
Many schools use automated grading tools to process student work and provide them with early feedback. Web-CAT, an open-source software system that is widely used by many universities, is an example of such an automated grading tool. We have developed a Virtual Teaching Assistant for Web-CAT, called Maria, who can support the students to help alleviate some of the negative emotions towards programming. We have used an animated pedagogical agent as the virtual assistant as certain characteristics of the agent can help with the students' perception about the virtual teaching assistant.
Often, students have a fixed mindset about programming. But it is easy to master programming with practice. To promote a growth mindset, Maria also provides feedback recognizing the effort of the student in addition to the performance-oriented feedback of the students' programs. Maria can also provide motivating or encouraging comments to continue working on the assignment to get a good score. Maria can also provide information about the various errors displayed in student feedback.