• No results found

Introducing Programming Concepts through Video Game Creation

N/A
N/A
Protected

Academic year: 2021

Share "Introducing Programming Concepts through Video Game Creation"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Introducing Programming Concepts through

Video Game Creation

Peggy Doerschuk, Valerie Juarez, Jiangjiang Liu, Daniel Vincent, Kathlyn Doss, Judith Mann

Department of Computer Science

Lamar University Beaumont, Texas, U.S.A.

Abstract - This paper presents adaptable materials that teach programming fundamentals via game programming with Greenfoot, a free Java based game development platform. The materials consist of five independent modules, each of which focuses on a group of related computing fundamentals. Each module includes the shell of a game, lessons that teach programming fundamentals, hands-on exercises that apply the fundamentals to add functionality to the game, and questionnaires and content-based quizzes that can be used to assess the effectiveness of the lessons. An instructor’s guide is also included. These materials were used to teach computing concepts to high school students in two different venues in summer 2011 and 2012. Formal assessments found that the students experienced a significant increase in knowledge in computing and an increased interest in computing and likelihood of taking computing courses in the future. The paper describes the motivation for this work, how it relates to other works, the teaching and assessment materials, the key concepts covered in each module, the venues in which the materials were tested, and the results. It also discusses how the instructional materials can be used in other venues and provides a link to the materials so that others may use them.

Keywords –programming concepts; game programming; introductory computing

I. INTRODUCTION

This paper presents instructional materials designed by a team of undergraduates to teach computing concepts using game programming. They have been used successfully in two summer academies for high school students. The materials are modular and can be used in a variety of settings with a variety of target audiences. They are freely available for download. This goal of this paper is to describe and share these resources with others who may want to use them to teach introductory computing concepts and/or to stimulate interest in computing.

Section II describes the motivation for this work. Section III describes related works and what sets this work apart from others. Section IV describes the instructional materials.

Section V describes each of the instructional modules in detail and includes sample excerpts from the instructional materials and assessment instruments. Section VI describes the venues in which the materials were tested and the results and describes other venues in which they can be used. It also includes conclusions and a link to a site from which the materials can be downloaded.

II. MOTIVATION

According to the United States Bureau of Labor Statistics, the demand for software and application developers is expected to grow 30% from 2010 – 2020, and the demand for network and computer systems administrators is expected to grow 28% within the same period [1, 2]. Given this projected demand for positions that are necessary to our increasingly technology-based society, we need to encourage more students to consider Computer Science as a career. Unfortunately, the current supply of Computer Science graduates will not meet this projected demand. The number of students majoring in Computer Science plummeted between 2001 and 2007. Enrollments have risen since 2008, but are still much lower than the 2001 levels [3]. Similarly, Computer Science Bachelor’s degrees awarded declined sharply between 2004 and 2009, have risen over the last three years, but are still not near the 2004 level [3]. Computer Science degrees awarded to women continues to decline, with only 11.7% of degrees awarded to women in 2010-2011 [3]. While the recent increases in overall enrollments and degrees awarded are encouraging, we still must produce more Computer Science graduates to meet the growing demand for skilled professionals. Educators are seeking ways to make computing more attractive to students. One such approach is to engage them in funs hands-on applications like game programming.

Games are not only fun; they also make important pedagogical contributions. Numerous studies have shown that video games can facilitate learning in math, science, engineering, geography, health, and other areas, including programming. Egenfeldt-Nielsen provides an overview of these studies and describes the contribution of video games from the perspective of different learning theories, including constructionism and the socio-cultural approach [4]. Both of these theories stress the importance of active learning as opposed to passive transfer of knowledge. Constructionism, which builds upon Piaget’s Constructivism [5], stresses the This research was possible through funding by the Collaborative

Research Experience for Undergraduates (CREU) program. CREU is funded by the CRA-W and the CDC. The 2011 INSPIRED High School Computing Academy was supported in part by a National Science Foundation Broadening Participation in Computing Grant under Grant Number 0634288.

(2)

importance of active learning using artifacts to facilitate learning. The video game provides a micro-world in which students can actively create and manipulate virtual artifacts. The socio-cultural approach that embodies the theory of Vygotsky [6] and others stresses the importance of having a teacher or peer guide the student. The video game provides a springboard for discussion with the teacher or peers.

Ke [7] synthesized findings from studies between 1985 and 2007 on computer-based instructional games. Only one out of 65 studies addressing effectiveness of instructional gaming found conventional teaching to be more effective than gaming. Studies on game-based cognitive or motivational processes found that games foster high-order reasoning and provide motivation across different learner groups and different learning situations. Studies on instructional game design found that instructional support must be included to have students learn the domain information rather than simply learn to play the game.

Using video game creation as an educational tool for programming has many practical advantages. Game programming allows the student to get visual feedback that illustrates the working of programming constructs and reinforces the theoretical concepts. Once the game is finished, students have a tangible product with which they can interact. Students can share their game with friends and family through sharing mechanisms that many educational game programming platforms provide. Game programming is an easily accessible medium. It requires only software and a computer on which to install that software. Groups and individuals that already have computers only need to install the game programming software. Using game development instructional materials, students can learn computer science concepts in a fun and engaging way. Having students complete the hands on activities with a partner can also help develop pair-programming habits and teamwork skills.

III. BACKGROUND,RELATED WORKS,CONTRIBUTION Several game-based platforms have been used to teach introductory computing concepts. For a review of the most popular ones see [8]. Two of the most frequently used are Scratch [9] and Alice [10]. Scratch uses a purely drag-and-drop method of programming with blocks that generate scripts. It is often used for middle school students. Alice uses a drag-and-drop interface that generates Java-like code. It can be used to teach object oriented programming concepts. It has been used for middle school through introductory college students. In a special session at the 2010 ACM SIGCSE Symposium on Computer Science Education, Scratch, Alice and Greenfoot developers agreed that a progression from Scratch or Alice to Greenfoot is good in learning to program [11].

Greenfoot was developed at the University of Kent and Deakin University with support from Sun Microsystems. Greenfoot is a free IDE and is designed for high school and undergraduate level students [12]. It won the Premier Award for Excellence in Engineering Education Courseware in 2010. There is a textbook for teaching introductory computing using Greenfoot [13]. Greenfoot uses the Java programming

Figure 1. A sample slide of the Gathering Biofuel presentation illustrating the components of Greenfoot’s interface.

language to create simulations and games. It utilizes both graphical and textual elements in its interface to teach students programming. A recent nationwide survey of undergraduate computer science departments found that Java was the language used by the largest percentage of surveyed schools to teach CS1 (48 percent) and CS2 (58 percent) [14]. Because Java is used in many Advanced Placement CS courses in high schools and is used as the entry level programming class in many universities, Java-based Greenfoot is a great tool for beginning programmers who want to learn a common programming language. Greenfoot also provides a mechanism for developers to share their creations. Allowing a budding programmer to share her creation with her family and friends can help keep her engaged when she receives positive feedback for her accomplishments, and it can help spark the interests of those who view her creation and encourage them to try programming as well.

Figure 1 illustrates Greenfoot’s interface and points out its key components. One component is the world window. The world is made up of a 2-dimensional grid whose size is determined by the World’s class constructor. Actors can populate this world. Actors are objects instantiated from classes created by the programmer. These created classes must extend the Actor class, which is provided by Greenfoot. Greenfoot illustrates inheritance in the Java programs in the right-most panes of its graphical interface. This is represented by the arrow coming from each subclass that points to the superclass. In the example in Figure 1, myWorld inherits from World, and Bananas and Alien inherit from Actor. This visual depiction of the relationship between superclass and subclass can be used to teach the concept of inheritance. Each created Actor subclass must have an act() method. This method designates the behavior of the actor once the program is run. In order to run a program, the user selects the “Play” button that is located with the control buttons at the bottom of the interface. “Play” indefinitely calls each class’ act() method until the game is stopped programmatically or by pressing “Pause”, which appears in place of the “Play” button when it is selected. Users can call one instance of each class’s act() method by pressing the “Act” button. The “Reset” button removes all objects from

(3)

the World and re-initializes each object. The “Compile” button compiles all classes.

Some educators have used Greenfoot to teach programming to undergraduates [15, 16, 17, 18]. Our work is more similar to that of Al-bow, who has used Greenfoot to teach programming to rising 9th and 10th graders and high school teachers [19, 20]. In Al-bow’s programming sessions, students start by playing a pre-made game in Greenfoot and then in a series of exercises build a game by adding complexity one step at a time.

The instructional materials described in this paper teach programming principles through the use of game programming. An instructor uses the materials to guide the students through a series of exercises in which students create code to add functionality to a game. In each exercise students actively apply a programming concept (selection, repetition, etc.) to solve a problem and thereby enhance or complete a game.

Two things set our work apart from others. First, the modular nature of the instructional materials makes it easy to adapt them to different venues. Each of the modules can be used independent of the others, so they can be used in a one-day academy or as individual programming assignments in an introductory computing course. Second, all of the instructional materials are freely available for download and use by others.

IV. THE INSTRUCTIONAL MATERIALS

The instructional materials include five modules that can be taught individually or as a part of a weeklong lesson or a bridge program. Each module includes one incomplete game that is to be completed by students through a series of hands on exercises; and a complete version of the same game to be used as an example and a key. A PowerPoint presentation and a presenter’s User Guide is also included, as well as the solutions to hands on activities that are completed by the students throughout the module. Assessment questionnaires and grading rubrics that can be administered to students are also included in each module.

A. Presentation and User Guide

A presentation is supplied with each lesson. The presentation introduces the lesson’s concepts, the game, and its story. Throughout the presentation, students are taught concepts and then asked to apply those concepts in creating a portion of the game. These hands-on activities help engage students and reinforce what they just learned. Solutions to the hands-on activities are supplied. Presenters are also given a User Guide, which includes the learning objectives for the module and a slide by slide resource for the presenters that elaborates on each slide and suggests discussion topics for the group. This can help presenters who are unfamiliar with the program or concepts, which encourages a broader adoption of the materials.

Figure 2. The Gathering Biofuel game.

B. Games

Two versions of each game are supplied. The student version is incomplete. Students complete this version during the hands-on activities. Comments are included in the incomplete version to highlight the section of code that must be modified or added by students. A second, complete version serves as a key and is used by the presenter to demonstrate the behavior of the game that is to be implemented by the students and to review the solution with students at the end of the hands-on exercises.

C. Assessment Components

In order to determine if the modules increase knowledge, content quizzes and grading rubrics are used. The questions test concept vocabulary and concept application. The grading rubric assigns point values for different answers. The quizzes are administered before teaching a lesson and after teaching a lesson. The scores on the pre-lesson and post-lesson quizzes are compared to see if there is a significant increase in scores, which indicates a significant increase in knowledge. In order to measure the reliability of the quizzes and rubrics, two different graders grade the pre-lesson and post-lesson quizzes independently. Consistency in grading can be tested by analyzing inter-rater reliability. Inconsistent grading triggers a review and modification of the quiz questions and/or grading rubrics.

V. THE MODULES

A story line unifies the five modules. The modules engage students in programming five independent games that help an alien return home. Sections A - E present the modules in the order in which they are used if the entire collection is to be used, for instance, as part of a week-long program.

(4)

A. Module 1: Gathering Biofuel

a) Learning Objectives. The goals ar

students with the Greenfoot interface and Object Oriented Programming concepts (OOP Applications Programming Interface (API).

b) StoryLine: An alien has stopped at

bananas, which fuel its spaceship. The studen populate Greenfoot’s grid structure with bana to collect.

c) Game: A screenshot of this game is

2. The game is based on the wombat tutor Greenfoot [21]. The tutorial introduces interface thoroughly, one of the main learnin this module. This makes it a good choice as lesson’s game. In the supplied tutorial, a w the screen and eats leaves that the user ha world. Users can add leaves for the wombat clicking the ‘World’ interface and selecting method or creating a new object throu interface. Greenfoot’s graphical interface len teaching OOP concepts, which is another o lesson. Greenfoot also has a documenta generates API documentation using Javadoc used to teach the final objective.

Figure 3. Sample slide that illustrates an example of class What are two components of a class?

Scoring rubric: (Cumulative) 1 pt each – “ “Variables”

Figure 4. Sample quiz question and scoring rubric from M

d) Hands-on activities: Students perform

activities in this module:

• create a banana object and set its location • rotate an image by incrementing a variab

method.

e to familiarize introduce Java, P), and the Java

Earth to gather nts learn how to anas for the alien

shown in Figure rial supplied by the Greenfoot ng objectives of s a basis for this wombat traverses as added to the to eat by right-the appropriate ugh Greenfoot’s nds itself well to objective of this ation view that

tools, which is ses. “Methods” and Module 1. m two hands-on n; and

ble and calling a

e) Sample instructional mate

sample slide that illustrates the con question and scoring rubric from th module is shown in Figure 4.

B. Module 2: Accessing the Fortr a) Learning Objectives: This

students about arithmetic, Boolean and simple if statements.

b) Story: The alien had its

Spaceship Acquisition Crew (SAC the alien get the spaceship back solving the puzzle to unlock the for c) Game: A screen shot fro Figure 5. In order to unlock the for solve a 4x4 Sudoku grid. The stu puzzle that must be unlocked in t and Boolean operators, the studen of the Sudoku grid with numbers, puzzle, and the logic that checks to The student accomplishes these ta exercises throughout the presentatio

d) Hands-on activities: Han

• work with integer arithmetic, B • work with if statements, Boole • write get and set methods; and • import images.

Figure 5. An image of Accessing the Fortres /*

*Hands on exercise

*Write an if statement with the follow *If newNumber equals 1

*Then setImage (new GreenfootImage */

Figure 6. Sample hands-on exercise for Mo with relational conditions.

e) Sample instructional m corresponding to one of the ha module is shown in Figure 6. C partial game mark the spot and students to add content to the gam scoring rubric from the assessmen shown in Figure 7.

erials: Figure 3 shows a

ncept of a class. A sample he assessment quiz for this

ress

lesson focuses on teaching n and relational operations

s spaceship taken by the C.). The students must help

from the SAC fortress by rtress door.

om this game is shown in rtress door, the player must udent must implement the he game. Using arithmetic nt programs the population the mechanics to solve the o see if the puzzle is solved. sks in a series of hands on on.

ds-on activities include:

Boolean operators; ean, relational operators; d

ss game with a solved puzzle.

wing condition e(“one.png”));

odule 2: Create an if statement

materials: A sample

ands-on exercises for this Comments in the students’ d provide instructions for me. A sample question and

(5)

Problem 4. 1 point awarded for each correct answer. Total of 3 points int x = 2;

int y = 3;

boolean isJavaCode = true;

//Will the following expressions evaluate to true or false?

Expression Solution

x == y || x != y true

x < y && x == 3 false

!isJavaCode false Figure 7. Sample quiz question and scoring rubric from Module 2.

Figure 8. The Beginning of Fortress Maze. Two Players are on the bottom left; the small circles are buttons; the large circles are portals.

C. Module 3: Getting Through the Fortress Maze

a) Learning Objectives: Students learn selection and

repetition structures and how they affect a program’s flow of control.

b) Story: After the alien and student crack the code to get into the fortress, they need to work together to get through the maze that the SAC created to confuse intruders.

c) Game: This game requires two players. The players must disable the traps in order to access the buttons that open the hidden door to exit the maze. Figure 8 is an image of the game; in the maze, the traps are two moving portals, the large discs, which transport a player back to the beginning if they touch a player. Each player has a skill that, if used in cooperation with the other player, can disable the portals. One player can emit a field that will stun the portal so that it will not move. The other player emits a field that will disable a portal, but only if it is stunned. The cell between the topmost portal and button is a hidden door. It acts as a wall, but when a player ‘steps’ on a button the door is opened, but it will close once the player steps off the button. Once the portals are disabled, a player must step on the button to the left, which will allow the other player to walk past the hidden door to the exit, the cell in the upper right of the board. Once the player on the button steps off to head to the exit, the hidden door will close, but the player who is already past the hidden door can step on the button to the right and allow the remaining player to pass through to the exit. These rules are explained in the presentation and also in the game itself.

Students use the concepts learned in this module to implement core mechanics in this game. In hands-on

activities throughout the lesson, students use switch statements to populate the game board with walls, portals, buttons, and the hidden door. Students use while-loops to implement the stun mechanism that is needed to remove the portals and if-statements to implement the mechanism that closes the hidden door once a player steps off the button.

d) Hands-on activities: Activities include: • write complex conditional statements, nested ifs; • use a switch statement; and

• work with the while loop.

e) Sample instructional materials: Figure 9 shows sample slides explaining the while statement. Figure 10 shows a sample quiz question and scoring rubric.

Figure 9. Sample slides used in Module 3 to explain the while statement. Name 3 repetition structures used in Java.

Score: (cumulative) 1 point each: while, do-while, for Figure 10. Sample quiz question, scoring rubric for Module 3.

Figure 11. A game of AgentSweeper. The dark squares are active squares; the numbered squares are inactive squares bordering agents; the white squares are inactive squares not bordering agents.

D. Module 4: Agent Sweeper

a) Learning Objectives: Students learn about arrays and

matrices, how to populate, access, modify elements.

b) Story: The students and the alien have managed to

escape the maze and now need to avoid disturbing the sleeping guards so they can get to the alien’s spaceship.

c) Game: Like the game Minesweeper, AgentSweeper

(6)

they can ‘win’ the game. Students click on and use the numbers to determine where p agents are located. Students can flag spac believe agents are located. Once all the space revealed as empty, the board will reveal wher This allows the alien to get through. A sc AgentSweeper game is shown in Figure 11.

Through the hands-on activities, students populate the matrix that represents the game also create and populate an array that holds th agents that are revealed when the game is sol students implement the mechanism that count number of agents that are bordering each s revealed when an active square is selected.

d) Hands-on activities: Hands-on act

module include:

• use images in Greenfoot; • create an array; and

• create, initialize, manipulate a matrix

e) Sample instructional materials: A sam

a hands-on exercise for Module 4 is shown in solution is displayed on a slide and reviewed the end of the exercise. A sample quiz quest rubric are shown in Figure 13.

Figure 12. Sample solution to hands-on exercise in which a matrix with zeroes.

What repetition structure can be used to fill an array/matr Scoring:

2 points - for/nested for

1 point - while, do-while, or something along the line the values in the array/matrix manually

0 points - anything else

Figure 13. Sample quiz question and scoring rubric for M

E. Module 5: Alien Flies Home

a) Learning Objectives: This lesson exp

of classes and objects, and students learn abou

b) Story: Now that the alien has its sh

navigate the asteroid field to arrive at its home

c) Game: The student controls the ali

order to dodge the asteroids or blast them awa periodically release power-ups that can help

the game board ossible sleeping ces where they es are flagged or re the agents are. creenshot of the

use for-loops to board. Students he images of the lved. In addition ts and stores the square, which is

tivities for this

mple solution to n Figure 12. The with students at tion and scoring

h students are to fill

rix?

es of having to set Module 4.

pands on the idea ut inheritance. hip back, it must

e planet.

ien spaceship in ay. The asteroids

the alien regain

health or gain a shield that blocks is illustrated in Figure 14.

In this lesson, the student cr implements her own power-up to By extending the Power_Up cla functionality already created and c add another power-up, like one tha time it is picked up.

Figure 14. The alien flies home with a shiel

d) Hands-on activities: Ha

module include:

• create private variables; • create a constructor;

• practice with nested if stateme • manipulate images in Greenfoo • detect collision in Greenfoot.

e) Sample instructional mat

illustrating inheritance is shown in and scoring rubric for this module i VI. RESULTS, CON In order to gauge the useful assessment seeks to answer th completion of the modules increas the completion of the modules incr

These materials were used INSPIRED High School Computin of 2011. Students were taught gam materials, as well as animation an Eighteen students participated in t eight girls. Analysis of the quiz ass the students experienced a significa the computing concepts covered Additionally, 81 percent of studen interest in computer science course

The materials were also used in a Lamar-hosted two-week resid school students interested in math 2012. Twenty-four 10th and 11th g ten boys and fourteen girls. Th undergraduates who were not au materials. Assessment results s

asteroids. The game board

reates her own class and help the alien reach home. ass, students can use the create their own methods to at increases firepower every

d protecting its spaceship. ands-on exercises for this

nts; ot; and

terials: A sample slide

n Figure 15. A sample quiz is shown in Figure 16. NCLUSIONS

lness of the modules, the he questions, “Does the se knowledge?” and “Does rease interest?”

at Lamar University’s ng Academy in the summer me programming using these nd web page development. the academy: ten boys and sessment results shows that ant growth in knowledge of in all five modules [22]. nts reported an increase in es [22].

n four afternoon sessions of dential academy for high

hematics in the summer of grade students participated: he sessions were taught by

uthors of the instructional how that the participants

(7)

experienced a significant increase in computing knowledge in all five modules in this academy as well (t=5.279, p<0.000). A score of p less than 0.05 is considered significant. Also, 71% reported an increase in interest in computing, and 62% reported that they were more likely to take a class in computing in the future.

Figure 15. Sample slide from Module 5. An object is defined by a class.

A class is the model or blueprint from which an object is created. Score: 1 point awarded for each correct answer. Total of 2 points Figure 16. Sample quiz question and scoring rubric from Module 5.

The results thus far demonstrate that these materials can be used to increase knowledge and interest in computing of high school students in different venues. The collection could also be used in a summer bridge program for entering freshmen. Because each of the modules has its own game and exercises that are independent of the other modules, they can also be used individually in one-day academies or as individual programming assignments in introductory courses. The materials are available for download from: http://javagonegreen.blogspot.com/p/teaching-materials.html.

R

EFERENCES

[1] Bureau of Labor Statistics, U.S. Department of Labor, Occupational outlook handbook, 2012-13 Edition, Software Developers, on the Internet at http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm.

[2] Bureau of Labor Statistics, U.S. Department of Labor, Occupational outlook handbook, 2012-13 Edition, Network and Computer Systems Administrators, on the Internet at http://www.bls.gov/ooh/computer-

and-information-technology/network-and-computer-systems-administrators.htm

[3] S. Zweben, “ Computing degree and enrollment trends: undergraduate degree production in computer science rises while enrollment grows for fourth straight year,” from the 2010-2011 CRA Taulbee Survey

http://cra.org/uploads/documents/resources/taulbee/CS_Degree_and_E nrollment_Trends_2010-11.pdf accessed 3/13/13.

[4] S. Egenfeldt-Nielsen, “Overview of research on the educational use of video games,” Digital Kompetanse, Vol. 1, page 184-213, 2006. [5] J. Piaget (1964). Development and learning. In R.E. Ripple a& V.N.

Rockcastle (Eds.), Piaget Rediscovered: A Report on the Conference of

Cognitive Studies and Curriculum Development (pp. 7–20). Ithaca, NY:

Cornell University.

[6] L. Vygotsky (1978). Interaction between learning and development. In Mind and Society (pp. 79-91). Cambridge, MA: Harvard University Press.

[7] F. Ke (2008a). A qualitative meta-analysis of computer games as learning tools. In R. Ferdig(Ed.), Handbook of research on effective electronic gaming in education (Vols. 1-3, Vol. 1, pp. 1-32), IGI Global.

[8] K. Doss, V. Juarez, D. Vincent, P. Doerschuk, J. Liu,”Work in progress - a survey of popular game creation platforms used for computing education,” in Proceedings of the 41st ASEE/IEEE Frontiers in Education Conference, October 12-15, 2011, Rapid City, SD, p. F1H1-2.

[9] "Scratch" 2011 scratch.mit.edu

[10] “Alice” http://www.alice.org/index.php

[11] I. Utting, S. Cooper, M. Kolling, J. Maloney, and M. Resnick, 2010. Alice, greenfoot and scratch – A discussion. ACM Trans. Comput. Educ. 10, 4, Article 17 (November 2010), 11 pages.

[12] M. Kölling, “The Greenfoot programming environment,” ACM Transactions on Computing Education, Vol. 10, No. 4, Article 14, 1-21, Nov. 2010.

[13] M. Kolling, Introduction to programming with greenfoot:

object-oriented programming in Java with games and simulations, Pearson

Education, August, 2009.

[14] S. Davies, J. A. Polock-Wahl, and K. Anewalt, “A Snapshot of Current Practices in Teaching the Introductory Programming Sequence,” SIGCSE’11, March 9–12, 2011, Dallas, Texas, USA. [15] R. Gallant and Q. Mahmoud. "Using Greenfoot and a moon scenario to

teach Java programming in CS1," in Proceedings of the 46th Annual Southeast Regional Conference on XX, pp. 118-121. ACM, 2008. [16] M. Jonas, "Teaching introductory programming using multiplayer

board game strategies in Greenfoot,” The Journal of Computing Sciences in Colleges (2013): 19-25.

[17] L.C. Begosso, L.R. Begosso, E.M. Goncalves, J.R. Goncalves, "An approach for teaching algorithms and computer programming using Greenfoot and Python," pp.1-6, 2012 Frontiers in Education Conference Proceedings, 2012.

[18] T. Vilner, E. Zur, S. Tavor, “Using Greenfoot in teaching inheritance in CS1,” in Proceedings of the 16th annual joint conference on Innovation and Technology in Computer Science Education, 2011, p. 342. [19] M. Al-Bow, D. Austin, J. Edgington, R. Fajardo, J. Fishburn, C. Lara,

S. Leutenegger, and S. Meyer., “Using Greenfoot and games to teach rising 9th and 10th grade novice programmers,” in Proceedings of the 2008 ACM SIGGRAPH symposium on Video games (Sandbox '08), ACM, New York, NY, USA, 55-59.

[20] M. Al-Bow, D. Austin, J. Edgington, R. Fajardo, J. Fishburn, C. Lara, S. Leutenegger, S. Meyer , “Using game creation for teaching computer programming to high school students and teachers,” in Proceedings of ITiCSE 2009, Paris, France, p. 104 – 108.

[21] Greenfoot Wombat Tutorial, http://www.greenfoot.org/doc/tut-1

[22] P. Doerschuk, J. Liu and J. Mann, “An INSPIRED game programming academy for high school students,” in Proceedings of the 2012 Frontiers in Education Conference. IEEE, Seattle, Washington, USA.

References

Related documents