An Affective and Cognitive Tutoring System for Learning Programming

In this paper, we present a multiplatform and Intelligent Tutoring System for learning Java (Java Sensei). The learning system combines state-of-the-art action selection, motivation through emotions, a modern recommendation mechanism, and multimodal instructional and selection learning. Java Sensei architecture works with a collection of modules and processes, each with its own effective representations and algorithms. The learning system was implemented under different learning methodologies like problem-solving for the pedagogical module, knowledge space for the expert module, and overlays for the student module. One of the main contributions of this work was the integration of cognitive and affective information in a behavioral graph which is used by a learning companion to show emotions and empathy to the student. Java Sensei was tested with different groups of university students with which we obtained positive results. In addition to providing a detailed description of the implementation and evaluation of Java Sensei, we also provide some proposals of future work in our intelligent tutoring systems.

[1]  Frantisek Franek,et al.  A Prototype for an Intelligent Tutoring System for Students Learning to Program in Java , 2004 .

[2]  Budi Hartanto,et al.  Incorporating anchored learning in a C# intelligent tutoring system , 2013, ICCE 2013.

[3]  Vincent Aleven,et al.  The Cognitive Tutor Authoring Tools (CTAT): Preliminary Evaluation of Efficiency Gains , 2006, Intelligent Tutoring Systems.

[4]  Vincent Aleven,et al.  A New Paradigm for Intelligent Tutoring Systems: Example-Tracing Tutors , 2009, Int. J. Artif. Intell. Educ..

[5]  Jesús Alcalá-Fdez,et al.  jFuzzyLogic: a Java Library to Design Fuzzy Logic Controllers According to the Standard for Fuzzy Control Programming , 2013, Int. J. Comput. Intell. Syst..

[6]  John Makhoul,et al.  Comparison of Algorithms for Automatically Building Example-Tracing Tutor Models , 2014, EDM.

[7]  Anabela Gomes,et al.  Learning to program - difficulties and solutions , 2007 .

[8]  Kristy Elizabeth Boyer,et al.  JavaTutor: An Intelligent Tutoring System that Adapts to Cognitive and Affective States during Computer Programming , 2015, SIGCSE.

[9]  Dinesha Weragama,et al.  Designing the Knowledge Base for a PHP Tutor , 2012, ITS.

[10]  Eshwar Bachu,et al.  Enhancing the Metacognitive Skill of Novice Programmers Through Collaborative Learning , 2015 .

[11]  Jean-Claude Falmagne,et al.  Knowledge spaces , 1998 .

[12]  Michael Wallis JavaTutor - A Remotely Collaborative, Real-Time Distributed Intelligent Tutoring System for Introductory Java Computer Programming - A Qualitative Analysis. , 2011 .

[13]  Alexander Todorov,et al.  Modeling Social Perception of Faces [Social Sciences] , 2011, IEEE Signal Processing Magazine.

[14]  Antonija Mitrovic,et al.  J-Latte: a Constraint-Based Tutor for Java , 2009 .

[15]  Scotty D. Craig,et al.  AutoTutor Detects and Responds to Learners Affective and Cognitive States , 2008 .

[16]  Omer Deperlioglu,et al.  Intelligent learning environments within blended learning for ensuring effective C programming course , 2012, ArXiv.

[17]  Jason M. Harley,et al.  An Integrated Emotion-Aware Framework for Intelligent Tutoring Systems , 2015, AIED.

[18]  Gregory John Michaelson,et al.  "Understanding Java Dynamic Thread Behaviour", in U. O'Reilly (Ed), Proceedings of 3rd Annual Conference of the LTSN Centre for Computer and Information Science , 2002 .

[19]  Rosalind W. Picard Affective Computing: From Laughter to IEEE , 2010 .

[20]  R. Likert,et al.  The Method of Constructing an Attitude Scale , 2017 .

[21]  Sean Owen,et al.  Mahout in Action , 2011 .

[22]  Beverley Park Woolf,et al.  Building Intelligent Interactive Tutors , 2008 .

[23]  Edward R. Sykes An intelligent tutoring system prototype for learning to program Java/spl trade/ , 2003, Proceedings 3rd IEEE International Conference on Advanced Technologies.

[24]  Ryan Shaun Joazeiro de Baker,et al.  Affective and behavioral predictors of novice programmer achievement , 2009, ITiCSE.