Adaptive Problem Selection in a Mobile Python Tutor

We have developed PyKinetic, a mobile Python tutor for novices. We present our study on PyKinetic with various activities to target several skills: code tracing, debugging, code understanding and code writing. We compared a version with a fixed sequence of learning activities to an adaptive version, containing the same activities but with personalized problem selection. We had two hypotheses: (H1) the combination of activities is effective for learning, and (H2) the adaptive problem selection is beneficial. The results show that PyKinetic is effective for learning, and the adaptive version provides additional benefits for learners.

[1]  Errol Thompson,et al.  Bloom's taxonomy for CS assessment , 2008, ACE '08.

[2]  Roy D. Pea,et al.  Language-Independent Conceptual “Bugs” in Novice Programming , 1986 .

[3]  David J. McArthur,et al.  Skill-oriented task sequencing in an intelligent tutor for basic algebra , 1988 .

[4]  Patricia Haden,et al.  Parson's programming puzzles: a fun and effective learning tool for first programming courses , 2006 .

[5]  R. Atkinson,et al.  Transitioning From Studying Examples to Solving Problems: Effects of Self-Explanation Prompts and Fading Worked-Out Steps. , 2003 .

[6]  John R. Anderson Acquisition of cognitive skill. , 1982 .

[7]  Robert McCartney,et al.  Naturally occurring data as research instrument: analyzing examination responses to study the novice programmer , 2010, SGCS.

[8]  Ruth Wylie,et al.  The Self-Explanation Principle in Multimedia Learning , 2014 .

[9]  Alexander Renkl,et al.  Assisting self-explanation prompts are more effective than open prompts when learning with multiple representations , 2009 .

[10]  Petri Ihantola,et al.  Two-Dimensional Parson's Puzzles: The Concept, Tools, and First Observations , 2011, J. Inf. Technol. Educ. Innov. Pract..

[11]  Barbara Ericson,et al.  Subgoals Help Students Solve Parsons Problems , 2016, SIGCSE.

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

[13]  Antonija Mitrovic,et al.  Scaffolding answer explanation in a data normalization tutor , 2005 .

[14]  Cheryl I. Johnson,et al.  Applying the self-explanation principle to multimedia learning in a computer-based game-like environment , 2010, Comput. Hum. Behav..

[15]  Antonija Mitrovic,et al.  Learning with Engaging Activities via a Mobile Python Tutor , 2017, AIED.

[16]  Antonija Mitrovic,et al.  Investigating the Effectiveness of Menu-Based Self-explanation Prompts in a Mobile Python Tutor , 2017, AIED.

[17]  Raymond Lister,et al.  Relationships between reading, tracing and writing skills in introductory programming , 2008, ICER '08.

[18]  Tamara van Gog,et al.  The efficiency of worked examples compared to erroneous examples, tutored problem solving, and problem solving in computer-based learning environments , 2016, Comput. Hum. Behav..

[19]  Barbara Ericson,et al.  Solving parsons problems versus fixing and writing code , 2017, Koli Calling.

[20]  Leon E. Winslow,et al.  Programming pedagogy—a psychological overview , 1996, SGCS.

[21]  Antonija Mitrovic,et al.  A comparison of different types of learning activities in a mobile Python tutor , 2017 .

[22]  Antonija Mitrovic,et al.  Facilitating deep learning through self-explanation in an open-ended domain , 2006, Int. J. Knowl. Based Intell. Eng. Syst..

[23]  Beth Simon,et al.  Evaluating a new exam question: Parsons problems , 2008, ICER '08.

[24]  Matthew W. Lewis,et al.  Self-Explonations: How Students Study and Use Examples in Learning to Solve Problems , 1989, Cogn. Sci..

[25]  Vincent Aleven,et al.  Tutoring Answer Explanation Fosters Learning with Understanding , 1999 .