a review of games designed to improve computer programming competencies
DESCRIPTION
Slides presented in FIE 2014TRANSCRIPT
A Review of Games Designed to Improve Computer Programming
Competencies
24/10/2014 1
Adilson VahldickAntónio José MendesMaria José Marcelino
Centre of Informatics and SystemsUniversity of Coimbra
2014 Frontiers in Education Conference
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. Motivation
2. Research questions and methodology
3. Results
4. Discussion
5. Conclusions
24/10/2014 2
Agenda
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. Motivation
2. Research questions and methodology
3. Results
4. Discussion
5. Conclusions
24/10/2014 3
Agenda
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Failure and dropout rates in introductory computer programming courses
• Engagement on extra classroom activities
• Students have a lack of motivation
• Games …• are fun and entertain
• don’t require special training or take a course to learn to play
• Games in education• missions are characterized as learning tasks
• feedback by missions
24/10/2014 4
Motivation (1 of 2)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Two approaches in universities:• Programming small games• Playing games
• In this paper, we …• Identify digital games available to support introductory computer programming• Classify them according to the learning activities they support
• We want to • Help teachers to decide or select games• Find new development opportunities
24/10/2014 5
Motivation (2 of 2)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. Motivation
2. Research questions and methodology
3. Results
4. Discussion
5. Conclusions
24/10/2014 6
Agenda
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. How many and which are the games available to assist introductory programming learning published in literature or on the web after 2000?
2. Which are the abilities and topics covered by these games?
3. What features are missing to better support introductory programming learning?
24/10/2014 7
Research Questions
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Techniques application of systematic literature review• Searched and scanned the papers describing games used, proposed or
developed to support introductory programming learning
• Searched “game” and “programming” in AppStore, Google Play, Flash Games, on the web, list of games available in GamaSutra
• Read the paper or web page, and played the game when was available
• Classified the games according to their kind, activities, tasks and subjects covered
24/10/2014 8
Research Methodology (1 of 2)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Which kind of solution did we not consider in this work ?
• Puzzles that improve reasoning, but not related to introductory programming knowledge
• Environments to develop animation or games, as Scratch and Alice
• Games that require teachers to manually evaluate solutions or answers
24/10/2014 9
Research Methodology (2 of 2)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. Motivation
2. Research questions and methodology
3. Results
4. Discussion
5. Conclusions
24/10/2014 10
Agenda
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• LOGO-Like
24/10/2014 11
Types of Games (1 of 3)
Program your robot code.org
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Adventure Games
24/10/2014 12
Types of Games (2 of 3)
Code CombatCode Spells
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• General Puzzles
24/10/2014 13
Types of Games (3 of 3)
Entrando pelo cano (Entering the pipe)Machinist-Fabrique
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 14
List of games
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 15
Results (1 of 6)
19 Games
8 Games
13 Games
Classification by type
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 16
Results (2 of 6)
Classification by competencyComprehension:Match, fill-blank, choice one instruction to complete code.
Writing:Code or drag&drop blocks to write a program.
Debugging:Track and assess changes in variable values, fix lines to make the program work, change parameters of conditional or repetition structures.
0
5
10
15
20
25
30
35
Comprehension Writing Debugging
LOGO-Like Adventure General
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 17
Results (3 of 6)
0 2 4 6 8 10 12 14 16 18 20
Strings
Expressions
Simple I/O
Arrays
Variables
Recursion
Conditional and iteractive
Classification by subject
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 18
Results (4 of 6)
Classification by platform
0
2
4
6
8
10
12
14
16
18
Win Web iOS Android Linux Java ?
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 19
Results (5 of 6)
Classification by programming language
0
2
4
6
8
10
12
14
Visualblocks
Textualblocks
Java Proprietary C++ C C# JavaScript Ruby Ocaml Ada Compalgo Configuredby teacher
A Review of Games Designed to Improve Introductory Computer Programming Competencies
24/10/2014 20
Results (6 of 6)
Classification by availability
0
2
4
6
8
10
12
14
16
18
20
LOGO-Like Adventure General
Papers Web Both
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. Motivation
2. Research questions and methodology
3. Results
4. Discussion
5. Conclusions
24/10/2014 21
Agenda
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Availability: First practical consideration of the teacher
• Teachers prefer to select a game that supports the same programming language adopted in the course
• One uses an external tool responsible to compile and execute the program
• One allows selection among 6 programming languages
24/10/2014 22
Discussion (1 of 2)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
• Resources according the competencies:• Comprehension competency can be applied as learning reinforcement or
concepts visualization
• Debugging have essentially bug fix and change parameters tasks
• Writing games are focused on problems solving tasks from scratch
• The competency of debugging is also naturally practiced because the games expose the state of the variables through animation of character’s action
24/10/2014 23
Discussion (2 of 2)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. Motivation
2. Research questions and methodology
3. Results
4. Discussion
5. Conclusions
24/10/2014 24
Agenda
A Review of Games Designed to Improve Introductory Computer Programming Competencies
1. How many and which are the games available to assist introductory programming learning published in literature or on the web after 2000?
24/10/2014 25
Conclusions (1 of 3)
0
5
10
15
20
LOGO-Like Adventure General
Papers Web Both
0
10
20
30
40
Comprehension Writing Debugging
LOGO-Like Adventure General
A Review of Games Designed to Improve Introductory Computer Programming Competencies
2. Which are the abilities and topics covered by these games?
• Classification by competency (comprehension, writing and debugging)
• Classification by the topics covered (conditional and iterative, recursion, …)
• In general terms, LOGO-like type is more adequate to algorithmic reasoning development (writing competency) because they promotes intensive problem solving practice
• All the adventure games in writing competency classification use code to write programs
• All debugging competency are adventure games
24/10/2014 26
Conclusions (2 of 3)
A Review of Games Designed to Improve Introductory Computer Programming Competencies
3. What features are missing to better support introductory programming learning? (Ideas to develop a game)
• Only two games allowing more than one programming language
• No games adapts how the program is written from blocks to code, in other words, from novice to expert students
• No games support learning during the gameplay experience. They only give feedback after the mission ends
• Half of the games aren’t available to use
24/10/2014 27
Conclusions (3 of 3)
A Review of Games Designed to Improve Introductory Computer
Programming Competencies
Adilson Vahldick
24/10/2014 28
Thank You !!! Questions ?