A Review of Games Designed to Improve Computer Programming Competencies

28
A Review of Games Designed to Improve Computer Programming Competencies 24/10/2014 Adilson Vahldick António José Mendes Maria José Marcelino Centre of Informatics and Systems University of Coimbra 2014 Frontiers in Education Conference

description

Slides presented in FIE 2014

Transcript of A Review of Games Designed to Improve Computer Programming Competencies

Page 1: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 2: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 3: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 4: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 5: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 6: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 7: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 8: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 9: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 10: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 11: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 12: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 13: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 14: A Review of Games Designed to Improve Computer Programming Competencies

A Review of Games Designed to Improve Introductory Computer Programming Competencies

24/10/2014 14

List of games

Page 15: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 16: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 17: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 18: A Review of Games Designed to Improve Computer Programming Competencies

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 ?

Page 19: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 20: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 21: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 22: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 23: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 24: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 25: A Review of Games Designed to Improve Computer Programming Competencies

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

Page 26: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 27: A Review of Games Designed to Improve Computer Programming Competencies

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)

Page 28: A Review of Games Designed to Improve Computer Programming Competencies

A Review of Games Designed to Improve Introductory Computer

Programming Competencies

Adilson Vahldick

[email protected]

24/10/2014 28

Thank You !!! Questions ?