Intelligent and Adaptive Student Support in FLIP - Early Computer Programming

The general purpose of this work is to develop techniques by which a significant proportion of teaching of elementary computer programming can be shifted from human tutors to intelligent agents. An extensive literature review has been made and a concrete research objective has been formulated. The techniques that have and will be developed as part of this work are being delivered and tested through a computerised tutoring system. A framework has been designed for this purpose and a first prototype of an Exploratory Learning Environment (ELE) has been deployed. This ELE is called FLIP (FLexible, Intelligent, Personalised) and it has already been used and tested in the classroom. Currently FLIP integrates a combination of off-the-shelf and own components to provide intelligent support to students of Javascript programming. This is task-independent support provided in the context of open-ended exploratory programming sessions. FLIP’s natively supported AI component is a rule-based reasoner (Karkalas and Gutierrez-Santos, 2014a) that is based on a concept inventory (CI) of student initial misconceptions (Karkalas and Gutierrez-Santos, 2014b). The development of this CI was based on previous research projects (Goldman et al., 2008; Kaczmarczyk et al., 2010) and original exploratory field reseach. The data elicitation process took place in University computer laboratories and involved collection of primmary data through direct observations and face-toface interviews. The system is also adaptable and can adjust the level of support depending on previous student activity. This is based on a learner model that takes into account the amount of support that has already been provided by the system. An issue that is inherently problematic in all rulebased systems is the method of conflict resolution between competing rules that get activated concurrently. This is an important aspect of the system’s automated support as it is directly related to the human-computer interaction component and may significantly influence the applicability and effectiveness of the technique. This is therefore an emerging problem that needs to be addressed and resolved in the remaining part of this research. In parallel the techniques employed in the system should be assessed both with formative and summative evaluations. If these techniques prove to be effective and time permits, then the same system can be tested for task-dependent support.

[1]  Randy F. Pausch,et al.  Making the connection: programming with animated small world , 2000, ITiCSE '00.

[2]  Antonija Mitrovic,et al.  An Intelligent SQL Tutor on the Web , 2003, Int. J. Artif. Intell. Educ..

[3]  John R. Anderson,et al.  Dynamic Student Modelling in an Intelligent Tutor for LISP Programming , 1985, IJCAI.

[4]  Craig William Jenkins Microworlds: Building Powerful Ideas in the Secondary School , 2010 .

[5]  Elliot Soloway,et al.  Learning to program = learning to construct mechanisms and explanations , 1986, CACM.

[6]  D. Kolb Experiential Learning: Experience as the Source of Learning and Development , 1983 .

[7]  Michael C. Loui,et al.  Identifying important and difficult concepts in introductory computing courses using a delphi process , 2008, SIGCSE '08.

[8]  A. Strauss,et al.  Grounded theory methodology: An overview. , 1994 .

[9]  Michael Kölling,et al.  The Greenfoot Programming Environment , 2010, TOCE.

[10]  Arto Vihavainen,et al.  Extreme apprenticeship method in teaching programming for beginners , 2011, SIGCSE.

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

[12]  Geoffrey L. Herman,et al.  Identifying student misconceptions of programming , 2010, SIGCSE.

[13]  Sergio Gutiérrez Santos,et al.  Enhanced JavaScript Learning Using Code Quality Tools and a Rule-Based System in the FLIP Exploratory Learning Environment , 2014, 2014 IEEE 14th International Conference on Advanced Learning Technologies.

[14]  Mitchel Resnick,et al.  Programming by choice: urban youth learning programming with scratch , 2008, SIGCSE '08.

[15]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[16]  Peter Brusilovsky,et al.  ELM-ART: An Intelligent Tutoring System on World Wide Web , 1996, Intelligent Tutoring Systems.

[17]  Mordechai Ben-Ari MOOCs on introductory programming: a travelogue , 2013, INROADS.

[18]  Pattie Maes,et al.  Computational reflection , 1987, The Knowledge Engineering Review.

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

[20]  Ken Kahn,et al.  Towards a specification of the ToonTalk language , 2008, J. Vis. Lang. Comput..

[21]  Chronis Kynigos Insights into Pupils’ and Teachers’ Activities in Pupil- Controlled Problem-Solving Situations: A Longitudinally Developing Use for Programming by All in a Primary School , 1992 .

[22]  Helmar Gust,et al.  An Ontology as Domain Model in a Web-Based Educational System for Prolog , 2000, FLAIRS.

[23]  Jim Roberts,et al.  Karel J Robot: A Gentle Introduction to the Art of Object-Oriented Programming in Java , 2013 .

[24]  R. Mayer Should there be a three-strikes rule against pure discovery learning? The case for guided methods of instruction. , 2004, The American psychologist.

[25]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[26]  M. Cole,et al.  Mind in society: The development of higher psychological processes. L. S. Vygotsky. , 1978 .

[27]  Richard E. Clark,et al.  Why Minimal Guidance During Instruction Does Not Work: An Analysis of the Failure of Constructivist, Discovery, Problem-Based, Experiential, and Inquiry-Based Teaching , 2006 .

[28]  Richard E. Pattis,et al.  Karel ++ A Gentle Introduction to the Art of Object-Oriented Programming , 1996 .

[29]  John Seely Brown,et al.  Diagnostic Models for Procedural Bugs in Basic Mathematical Skills , 1978, Cogn. Sci..

[30]  Byron Weber Becker Teaching CS1 with karel the robot in Java , 2001, SIGCSE '01.

[31]  Abdullah Konak,et al.  Using Kolb's Experiential Learning Cycle to improve student learning in virtual computer laboratories , 2014, Comput. Educ..

[32]  Elliot Soloway,et al.  PROUST: Knowledge-Based Program Understanding , 1984, IEEE Transactions on Software Engineering.

[33]  Sergio Gutiérrez Santos,et al.  Intelligent Student Support in the FLIP Learning System based on Student Initial Misconceptions and Student Modelling , 2014, KEOD.

[34]  John R. Savery,et al.  Overview of Problem-Based Learning: Definitions and Distinctions. , 2006 .