+ All Categories
Home > Documents > FFFFFFFFF FFFF - · PDF fileWanda: a framework to develop card based games to help motivate...

FFFFFFFFF FFFF - · PDF fileWanda: a framework to develop card based games to help motivate...

Date post: 05-Mar-2018
Category:
Upload: buicong
View: 217 times
Download: 2 times
Share this document with a friend
7
Wanda: a framework to develop card based games to help motivate programming students Rafael R. Drumond André L. Brandão Carlos S. Salles Federal University of Maranhão (UFMA), Dept. of Informatics (DEINF), Brazil Figure 1: Educational card based games, Jo-Ken-Po to the left and Divide-and-Conquer to the right Abstract Teaching computer science, algorithms and other programming subjects can be stressing and difficult. Students motivation might drop due to the difficulty of learning how to program. To deal with this matter, this paper presents Wanda, a simple framework created to build specific card-based games that can be used as educational tools. With Wanda, professors can create educational electronic card games that require students to create virtual agents to play them. These games can help teachers and tutors to motivate programming students. Keywords: card game, game framework, serious games, games for education Authors’ contact: {radrumond,andrelbd1,csalles}@gmail.com 1. Introduction One of the main issues around computer science undergrad courses in Brazil is that they are affected by a high drop out rate [Takahashi 2009]. This drop out rate is often related to the difficulty of learning programming skills [Kinnunen and Malmi 2006]. This turns out to be a disturbing issue since the number of open positions in the IT industry been increasing year after year [Celso Jr. 2009]. Programming teachers and instructors often find themselves struggling to find ways to attract students and motivate them while teaching and exercising algorithms knowledge. Teachers need to use intrinsic strategies inside the classroom to motivate students [Huitt 2011]. These strategies are related to the use of games, simulations with activities that stimulate logical thinking and allow students to stipulate their own objectives. An interesting approach can be found in [Bayliss and Strout 2006], in which it is encouraged the adoption of activities that students can relate to. The objective of this paper is to present Wanda, a framework that allows computer science teachers and instructors to create simple digital card-based games (such as the ones illustrated in Figure 1) that require students to program agents to play the game. With these games, Wanda helps teaching basic concepts of programming while using intrinsic strategies to motivate students and helping overcome the difficulties found while learning how to program. This paper is organized as following: Section 2 describes related work. Section 3 describes the concept behind Wanda and explains how it is structured. Section 4 gives examples of games that were created with Wanda and used inside of a freshmen classroom of a undergraduate computer science course. Section 5 concludes the paper. 2. Related Work There is a vast literature on the development of games for educational purposes. Regarding this work, the most relevant related approaches are: (1) Using the Chien2D library to teach programming languages [Radtke and Binder 2010]; (2) Teaching programming languages using the PyGame library [Rebouças 2010]; (3) the S.P.A.R.S.E environment [Souza 2010]; (4) the learning impulsion through educational games [Kessler 2010]; (5) SDM, an educational game for software engineering [Kohwalter et. al 2011]; and finally, (6) an Educational Robotic Game for Transit Education Based on the Lego MindStorms NXT Platform [Silva and Magalhães Netto 2010]. The work done by [Radtke and Binder 2010] consists of using the Chien 2D game engine, a game engine with simplified functions and translated to portuguese, with a specific methodology designed to teach programming language to computer science students. By Challenging students to create games using Chien 2D it was possible to teach programming SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 Computing Track - Full Papers XIII SBGames - Porto Alegre - RS - Brazil, November 12th - 14th, 2014 844
Transcript

Wanda: a framework to develop card based games to help motivateprogramming students

Rafael R. Drumond André L. Brandão Carlos S. Salles

Federal University of Maranhão (UFMA), Dept. of Informatics (DEINF), Brazil

Figure 1: Educational card based games, Jo-Ken-Po to the left and Divide-and-Conquer to the right

Abstract

Teaching computer science, algorithms and otherprogramming subjects can be stressing and difficult.Students motivation might drop due to the difficulty oflearning how to program. To deal with this matter, thispaper presents Wanda, a simple framework created tobuild specific card-based games that can be used aseducational tools. With Wanda, professors can createeducational electronic card games that require studentsto create virtual agents to play them. These games canhelp teachers and tutors to motivate programmingstudents.

Keywords: card game, game framework, seriousgames, games for education

Authors’ contact:{radrumond,andrelbd1,csalles}@gmail.com

1. Introduction

One of the main issues around computer scienceundergrad courses in Brazil is that they are affected bya high drop out rate [Takahashi 2009]. This drop outrate is often related to the difficulty of learningprogramming skills [Kinnunen and Malmi 2006]. Thisturns out to be a disturbing issue since the number ofopen positions in the IT industry been increasing yearafter year [Celso Jr. 2009].

Programming teachers and instructors often findthemselves struggling to find ways to attract studentsand motivate them while teaching and exercisingalgorithms knowledge. Teachers need to use intrinsicstrategies inside the classroom to motivate students[Huitt 2011]. These strategies are related to the use ofgames, simulations with activities that stimulate logicalthinking and allow students to stipulate their ownobjectives. An interesting approach can be found in[Bayliss and Strout 2006], in which it is encouragedthe adoption of activities that students can relate to.

The objective of this paper is to present Wanda, aframework that allows computer science teachers andinstructors to create simple digital card-based games(such as the ones illustrated in Figure 1) that requirestudents to program agents to play the game. Withthese games, Wanda helps teaching basic concepts ofprogramming while using intrinsic strategies tomotivate students and helping overcome thedifficulties found while learning how to program.

This paper is organized as following: Section 2describes related work. Section 3 describes the conceptbehind Wanda and explains how it is structured.Section 4 gives examples of games that were createdwith Wanda and used inside of a freshmen classroomof a undergraduate computer science course. Section 5concludes the paper.

2. Related Work

There is a vast literature on the development of gamesfor educational purposes. Regarding this work, themost relevant related approaches are: (1) Using theChien2D library to teach programming languages[Radtke and Binder 2010]; (2) Teaching programminglanguages using the PyGame library [Rebouças 2010];(3) the S.P.A.R.S.E environment [Souza 2010]; (4) thelearning impulsion through educational games [Kessler2010]; (5) SDM, an educational game for softwareengineering [Kohwalter et. al 2011]; and finally, (6) anEducational Robotic Game for Transit EducationBased on the Lego MindStorms NXT Platform [Silvaand Magalhães Netto 2010].

The work done by [Radtke and Binder 2010]consists of using the Chien 2D game engine, a gameengine with simplified functions and translated toportuguese, with a specific methodology designed toteach programming language to computer sciencestudents. By Challenging students to create gamesusing Chien 2D it was possible to teach programming

SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 Computing Track - Full Papers

XIII SBGames - Porto Alegre - RS - Brazil, November 12th - 14th, 2014 844

language concepts while allowing students to learnbasics of game programming and to be motivated.

Using the PYgame library, [Rebouças 2010] madepossible to establish a project to teach high schoolstudents how to create and develop games whileincreasing the interest of students towards computerscience area.

The S.P.A.R.S.E (Software Project semi-Automated Reasoning tool for Software Engineering)project [Souza 2010] was developed to simulate asoftware engineering environment digitally. It is agame that has been used with a group of students whoshowed improved knowledge about softwareengineering.

The knowledge impulsion project [Kessler 2010]consists of creating educational games designed toimprove and enhance practical and theoreticalknowledge about portuguese, mathematics, chemistryand physics. These games are developed following twobasic concepts: reviewing basic knowledge andbuilding new ones. It was concluded that if wellprojected, the games generated could improveacademic development.

SDM [Kohwalter et. al 2011] is a game that focuson teaching software engineering concepts similarly toS.P.A.R.S.E. With SDM, students can learn concepts ofpeople management, involving training, assigningtasks, and workload in a practical way. The projectmanaged to help a class of students to understandtheoretical concepts taught in classes.

Finally, the Transit Education project [Silva andMagalhães Netto 2010] is a simulation game that usesa Lego built remote controlled robot in order tosimulate urban traffic. The research team found that thegame was both enjoyable and educational.

This work appropriates of concepts and ideas fromthe related works listed above. Instructors can usegames created with Wanda to teach and motivatestudents easily by using an environment that studentsare to relate themselves with. Different from otherworks Wanda allows teachers and instructors tocustomize card-based games and use them aseducational tools spending a small amount of time andeffort to do it, while giving students a challenging andcompetitive environment.

Wanda has some advantages over the related workslisted in this section. The work related to the use ofChien2D library, requires students to already knowbasic concepts about algorithms to be used, it is alsotime consuming and requires planning. Using Pygameto teach programming to highschool studentsconsumes a lot of time and can't be executed as a shorttime homework to computer science students.S.P.A.R.S.E game is an interesting approach, howeverit is dedicated to teach software engineering and not

algorithms. Knowledge Impulsion project aims to helpteaching subjects such as portuguese, mathematics,chemistry and physics, but not algorithms. SDM andTransit Education projects also uses games in order toteach people management and driving skillsrespectively, but have scopes different form computerscience. Under the scope of teaching basic concepts ofalgorithms, Wanda can help teachers with the task ofteaching programming skills to beginners withoutconsuming too much time and energy from bothinstructors and students.

3. Wanda Framework

Wanda Framework offers teachers and instructors ahigh level of code reuse in the specification of newcard-based games. Students have to develop newagents in these games. While implementing theseagents, students exercise programming logics andalgorithms.

Wanda Framework helps to develop games thatfollow the rules specified in Figure 2 by default. Theserules are: At the start of every match, a specific set ofcards is shuffled. This set is divided into two groupsthat will compose each player's hand. The game isplayed in rounds. At the beginning of each round bothplayers choose and discard a card from their hand atthe same time. The cards are compared according tothe rules to decide which card overpowers the otherone. The player that discarded the winning card scoresa point. The game ends when all cards have beendiscarded, and the player with most points wins thematch.

The job of the teacher is to provide the frameworkwith the game rules by defining and creating: (i) thecards that will be used in the game; (ii) instructions todecide which card beats the other; and (iii) what kindof information the player will have access to. Forexample: the cards that are in his hand, or which cardshave been played. Then, the instructor should hand theapplication to the students.

Finally, the students (players) should finish theimplementation by writing the “strategy” inside thegame code. A strategy is an algorithm function thatreceives the information provided by the instructorsimplementation and returns an action to be taken by thecorrespondent player (for example: what card will beused at that round).

Since the game is played by two players, twostudents need to implement a strategy each to competewith each other.

SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 Computing Track - Full Papers

XIII SBGames - Porto Alegre - RS - Brazil, November 12th - 14th, 2014 845

.Figure 2: Game flow diagram

3.1 Conceptual design

Wanda can be divided into three different parts:Mechanics and Interface; Rules; and Strategies. Eachone has a different role in the final application.

“Mechanics and Interface” (MaI) is the core part ofWanda. The instructor and students do not need toacknowledge or change this part in order to use the

framework. MaI controls the basic functions of thegame, such as: removing and shuffling and distributingcards; displaying animations, scores and player visualinformation; controlling scores; and calling the rulesspecifications from the “Rules” part.

“Rules” group up the functions that define the rulesof the game. The instructor is the one responsible forimplementing this part. This part is called by the MaIin order to define the set of cards that will be used inthe game. For every match that MaI starts, it willrequest an action from Rules at every round. At eachrequest Rules receive the game state information andselects some of the information and sends to theStrategies of each player, which will return an actiontaken by each player.Rules must interpret the actionsreturned from the two different strategies and decidewhich action wins the round. The result should bereturned to MaI. Then MaI will update the game stateand animate the actions taken.

“Strategies” is the main focus of the application.The instructor should call a function from Strategies inRules while sending it all the information visible to theplayer. The students job is to implement a function leftin blank by the instructor (who will prepare all theparameters that will receive the informationpreviously). This function must analyze theinformation received from Rules and decide whichaction the player is gonna take. The teacher shouldfocus on how the information will be sent, forexample: variables; vectors; arrays; tables; lists andothers. As the purpose of this work states, the resultinggame is destined to teach and motivate programmingstudents, therefore the game should require certainlevel of programming skills based on the class averageknowledge.

In Figure 7 the concept of MaI, Rules andStrategies, are represented by Wanda, Game Rules andPlayer Strategy respectively.

3.2 Implementation

Wanda was implemented in Lua [Ierusalimschy et. al2014] using the engine Love2D [Löve Wiki 2014]. Theengine was chosen since it uses Lua as a languagewhich is simple and easy to use comparing to otherlanguages such as python, java, c, c++ or c#, languagesused by famous engines such as PyGame [Shiners2014] and Unity [Unity Technologies 2014]. Thepossibility of leaving the code open to students, wasanother factor that favored the use of the Love2Dengine. While leaving the code open, students canimplement their strategy easily using Lua syntax aswell as leaving the possibility of allowing his curiositytowards the game implementation open.

There are two Love functions that are used withWanda. Draw and Update. Draw is a function wherethe game developer must call all functions that displaysthe interface inside the game. While Update, as thename says, keeps updating the game in real time.

SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 Computing Track - Full Papers

XIII SBGames - Porto Alegre - RS - Brazil, November 12th - 14th, 2014 846

4.1 Jo-Ken-Po

Jo-Ken-Po (Figure 5) is inspired on the usual Rock-Paper-Scissors. This game has six cards: Two scissors;two rocks; and two papers. They are shuffled anddivided for two players. At each round both playersmust discard one card at the same time. The player thatdiscarded the card that “beats” the other one is declaredthe winner of the round. Notice the comparing rule:rock beats scissors; paper beats rock; and scissors beatspaper. After 3 rounds, the player with more roundvictories is declared winner.

In order to implement this game, it was necessaryto start the deck with the six cards each one defined asa string holding the name of the card. At every turneach card of the player and the opponent hand ispassed to each player as variables. Each player mustreturn a string of the card he/she wants to use. Aftereach strategy has been consulted, the cards arecompared and the winner of the round is decided. After3 rounds the match winner is decided. After a certainnumber of matches (specified by the instructor) areplayed, the player with most match victories isdeclared winner.

The purpose of Jo-Ken-Po is to teach students howto compare information on different variables and howto use “If” clauses. This can be achieved since theparameters are only variables and in order to the playerfind out what cards are in his/her hands he mustcompare the variables with the strings “rock”, “paper”and “scissors” and deciding what card he must playbased on the cards on his/her hands.

This game is supposed to be used with studentswith one month of studies in computer science since itonly requires knowledge on if-else statements.

Figure 5: Jo-Ken-Po game

4.1 Divide and Conquer

Inspired on the card-based game Divide and Conquer(Figure 6). The game has ten cards: nine cardsnumbered from two to ten and a card numbered as 12.The game is very similar to Jo-Ken-Po, but with thedifference that in order to win a round the player thatplays the smaller card wins the round if he plays adivisor or predecessor of the bigger card, or else theowner of the bigger card wins the round.

This game was implemented in a similar way as Jo-Ken-Po, but instead of sending to the player strategyfunction his/her cards and his/her opponents asvariables, it sends then as arrays along with the numberof cards in each player hand. Players must return theindex of the desired card in the array in order to discardit.

The Divide and Conquer objective is to teachstudents how arrays work, how to make iterations onthem, how to extract information and what the arrayindex means. This can be achieved since the cards oneach player hand is passed to the player an array ofnumbers representing each card. The player mustiterate and check the array values to find out whatcards are on his/her hands, allowing the student toexercise knowledge about the subject.

This game should be used with students by the endof their first semester studying computer science.Students should have basic knowledge on arrays anditerations making possible to join this activity.

Figure 6: Divide and Conquer game

5. Results

With Wanda, it was possible to create the games Jo-Ken-Po and Divide and Conquer. These games weregiven to a class of students at different times. Thestudents were requested to write strategies (for eachgame) to compete between them. After each game,students had to write a small paragraph about theiropinions about the two games and answer a questionstating how much they enjoyed the activity.

From the answers given, only 5% of the studentsdid not enjoy the activity. 90% of students said theactivity was interesting and fun. One interestingcomment was about the game being a fun way oftesting the knowledge acquired inside the classroom.The most interesting comment, pointed out that theactivity helped the class to see that algorithms couldsolve more kinds of problems than they had imagined.

Divide-and-Conquer was considered more difficultthan Jo-Ken-Po, but challenging at the same time. Thequestionnaire revealed that only 9% of the studentswere not so interested in the activity. 20% of the

SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 Computing Track - Full Papers

XIII SBGames - Porto Alegre - RS - Brazil, November 12th - 14th, 2014 848

hasten the creation process. Since the framework takescare of most of the mechanics, the teacher or instructorwill only have to enter a small piece of code, imagesand format the player files. In order to generate a smallgame.

Although the example games presented on thispaper look similar, Wanda still can create differentkinds of card games. It's important to remember thatthe main point is not to create a different mechanic, butdifferent rules and different ways to interact with thegame in order to make students exercise differentprogramming concepts inside class while creating acompetitive and fun environment.

Another important point is the fact that the resultinggame code is left open so that students might look intoit and learn more about programming or even allowteacher to improve the tool to their needs.

As future projects, Wanda can be further used todevelop more complex games, while creating arepository of games to help other instructors.

Acknowledgements

The authors would like to thank the students ofAlgorithms 1 that took part on the experiments of thisproject and were eager to collaborate. They also wouldlike to thank Department of Technological Innovationfor funding this research. The authors would like tothank CNPQ for also funding this research.

References

BAYLISS, J.D. AND STROUT, S., 2006. WOODCOCK, S., 2001.Games as a ”flavor” of cs1. In: Proceedings of the 37thSIGCSE technical symposium on Computer scienceeducation. 500–504.

CELKO, J. AND MCLEOD, J., 2005. Divide and Conquer.Available from:http://www.pagat.com/tile/wdom/divide.html [Accessed20 June 2014].

CELSO JR., L., 2009. Setor de TI aponta falta de mão-de-obraqualificada. Available from: http://bit.ly/bQnsOg[Accessed 20 June 2014].

HUITT, W., 2011. Motivation to learn: An overview. In:Educational Psychology Interactive, Valdosta, GA.Available from:http://www.edpsycinteractive.org/topics/motivation/motivate.html [Accessed 20 June 2014].

IERUSALIMSCHY, R., WALDEMAR, C. AND FIGUEIREDO, L.H.,2014. Lua: the Programming Language. Available from:http://www.lua.org/ [Accessed 20 June 2014].

KESSLER, M.C., ET AL 2010. Impulsionando a aprendizagemna universidade por meio de jogos educativos digitais.In: Anais do Simpósio Brasileiro de Informática naEducação.

KINNUNEN, P. AND MALMI, L., 2006. Why students drop outcs1 course?. In: Proceedings of the second internationalworkshop on Computing education research. New York,NY, USA, 97-108.

KOHWALTER, T.C., CLUA, E.W.G., AND MURTA, L.G.P., 2011.SDM – An Educational Game for Software Engineering.In: Anais Simpósio Brasileiro de Jogos e EntretenimentoDigital.

LÖVE2D, 2014. Löve Wiki. Available from:http://love2d.org/wiki [Accessed 20 June 2014].

RADTKE, P.V.W, AND BINDER, F.V., 2010. Chien 2D: AMultiplatform Library to Teach the C Language ThroughGames Programming. In: Anais Simpósio Brasileiro deJogos e Entretenimento Digital.

REBOUÇAS, A.D.D., ET AL 2010. Aprendendo a ensinarprogramação combinando jogos e Python. In: Anais doSimpósio Brasileiro de Informática na Educação.

SHINERS, P., 2014. PyGame. Available from:http://www.pygame.org/wiki/index [Accessed 20 June2014].

SILVA, M.M., AND MAGALHÃES NETTO, J.F., 2010. AnEducational Robotic Game for Transit Education Basedon the Lego MindStorms NXT Platform. In: AnaisSimpósio Brasileiro de Jogos e Entretenimento Digital.

SOUZA, M.M., ET AL 2010. SPARSE: Um ambiente deEnsino e Aprendizado de Engenharia de SoftwareBaseado em Jogos e Simulação. In: Anais do SimpósioBrasileiro de Informática na Educação.

STROUSTRUP, B., 2010. Viewpoint what should we teach newsoftware developers? why?. In: Communications of theACM, 53 January 2010 New York. New York: ACMPress, 40–42.

TAKAHASHI, F., 2009. Matematica e ciências da computaçãotêm alta taxa de abandono. Available from:http://bit.ly/daPZUm [Accessed 20 June 2014].

TUAN, H.L., AND SHIEH, S.H., 2005. Mthe development of aquestionnaire to measure students motivations towardsscience learning. In: International Journal of Science,639-654.

UNITY TECHOLOGIES, 2014. Unity Game Engine. Availablefrom: http://unity3d.com [Accessed 20 June 2014].

SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 Computing Track - Full Papers

XIII SBGames - Porto Alegre - RS - Brazil, November 12th - 14th, 2014 850


Recommended