Professional Documents
Culture Documents
Abstract - Unfortunately, the stereotype of a software Teenagers learn from playing computer games, but many
engineer or computer scientist is one who spends his games do not educate or provide false information [3].
whole day in a cubicle programming. Other aspects of The goal of our project was to develop a game that can
software engineering, such as holding meetings with the be used to effectively teach middle and high school students,
customer and users to gather requirements, documenting with limited or no computer science background, what the
requirements, design, and testing are not talked about. daily life is like for a software engineer. Teaching software
Many middle and high school students believe this engineering concepts is not an easy task, due to constant
stereotype and become disinterested in a prospective change and its broad nature, and creative ideas such as
career in software engineering. As a result, we developed virtual laboratories and PDA’s have been proposed [4]. The
a game prototype to teach software engineering basic goal of our game is similar, which is to provide a unique, but
concepts to middle and high school students. Our game effective tool to teach young students basic concepts of
allows a student to explore the various phases of the software engineering.
software life cycle, which are requirements, design,
implementation, testing, and maintenance. The waterfall DEVELOPMENT METHODOLOGY
software life cycle was practiced while developing this Our game was developed during the Fall 2009 semester at
game, and every student in the Information Visualization Rowan University, in a course titled Information
course participated equally in the development of the Visualization. One of the course’s learning outcomes is for
game. In addition, visualization techniques were used to students to explore graphics programming and theory and
develop this game. application of visualization principles. Separation of
concerns was practiced, as the class was divided into five
Index Terms – K-12 Education, Software Engineering teams. The class was comprised of twenty five
Education, Information Visualization, Educational Games undergraduate students and five graduate students, which
INTRODUCTION were divided into five teams comprised of five
undergraduate students and one graduate student each.
The role of a software engineer can mean many different The outcome of our overall game is to develop a
responsibilities. A software engineer can communicate with website for a hypothetical company and it is comprised of
the customer, design the software system, implement the five individual mini-games, each with the goal of
design, test the software, deliver it to the customer, perform introducing basic concepts for each of the five software
maintenance, or handle project management. Unfortunately, engineering phases of the waterfall lifecycle model:
students in adolescence do not fully understand the requirements, design, implementation, testing, and
profession. This leads to youth not pursuing a profession in maintenance. Each team developed a mini-game
software engineering or computer science. Due to faulty concurrently, independently, based on their phase selection.
stereotypes, teenagers view this job as one where one would Despite the development efforts being independent, the
sit in a cubicle all day and never communicate with other graduate team leaders had to meet on a regular basis to
people. Another common belief is that the whole job is ensure that the overall game would function properly. Each
centered on programming [1]. In a study performed at mini-game was responsible with providing output to
University of Colorado at Boulder, almost half of students in following phase and relied on input from the preceding
CS1 believed that computer scientists spend a lot of time phase. Graduate team leaders had to clearly communicate
working alone, and three quarters believed that computer their requirements to their preceding and succeeding phases
scientists’ work is mostly programming [2]. People do not so the final product would function. By setting up the class
realize that other fields with educational backing need to be into several teams, each student was exposed to the entire
used, in addition to general skill sets. development process of their mini-game, which leads them
Gaming emphasizes entertainment, which can have its to be better software engineers [5].
benefits, but could be far more powerful if it were used as an Our development methodology was carefully selected to
educational tool. Very few companies have successfully allow every student to be involved in each phase of the
developed games that actually teach something to our youth. software lifecycle [6]. Each team had to produce
requirements for their mini-game, which the preceding phase
S
team had to agrree to. Every sttudent had an equal
e opportunnity player rrelates to thiss dilemma, as they know thhey cannot
too contribute id
deas to their teaam’s game and d how to designn it. leave annd complete thhis level until their task is ccompleted.
EEach mini-gam me had relativ vely high imp plementation and
a Some oof the employeees won’t resppond to inquirries or will
testing complexity (taking in considerration the tiime not be hhelpful. A midddle and high school studentt can relate
aallocated for th
his assignment)), which requirred every stud dent to this and realizess that a largge portion off software
inn a respective team to contriibute to the deevelopment of the engineeering is comm munication annd working w with other
ggame and to ensure
e that it functioned co orrectly. Workking people, which is a lesson taughtt daily at thiss age. An
wwith others encourages
e communication, leadership, and a individuual will learnn much moree from a gam me that is
sseparation of concerns
c [7]. In n only did eaach
I our case, not immers ive and one tthat uses effecctive visualizaations [11].
team members need to coopeerate with one another, but eaach The reqquirements m mini-game accoomplishes thiss by using
team needed to work in harmo o be successful.
ony in order to office im
magery and us er dialog.
Other meth hodologies inv volving large class
c projects try
too simulate the industry wo orking environnment by having
ggroups of stu udents assigneed different tasks
t within the
""organization" [8], [9]. Whille this approacch resembles the
inndustry practtice in reseaarch labs an nd medium-ssize
ccompanies, thee fact that each h group of studdents focuses and
a
ppractices only on a specific set m impact cou
s of skills may urse
learning outcom mes and restriict students' op pportunities affter
ggraduation.
The gamee was developeed in Java SE 6 using the JOG GL
AAPI, which adh heres to the Op penGL 2.0 speccification.
GAME DESCRIPTION
E
FIGURE 2
THE PLAYER MUST DECIDE WHICH MODULES
M ARE NECCESSARY AND WHE
ERE
LACE THEM ON EAC
TO PL CH PAGE OF THE WEBSITE
W .
FIGURE 3
THE PLLAYER MUST NAVIG
GATE THROUGH TH
HE MAZE AND COM
MPLETE ALL
II
III. Implementa
ation Phase
CODING CHALLENGES.
C
TThe implementtation phase lev vel resembles the
t classic arcaade
ggame, as the player
p is portrrayed in the game
g as a persson IV. Testting Phase
nnavigating thro
ough the mazee (see Figure 3). Based on the
ddesign templatee the customerr picked, one of three templlate The tessting phase levvel employs thhe design for each page,
ssymbols in thee maze will beb golden in color.
c The player which w was developedd during the design phase level. The
mmust navigate through the maze and co ollect the corrrect player mmust click, or kill, all the buugs on the screeen in order
template beforre their energy y runs out. Th he energy barr is to fix thhe bugs (see F
Figure 4). The player is prom mpted with
rrepresented in the lower leftt of the screenn. The player can
c possiblee bugs, such ass a wrong backkground or impproper text
ggain energy byy walking oveer coffee symb bols in the maaze. color. B
By clicking on all the bugs, thhe issue is restoored.
TThe player mu ust find each page
p in the maze
m and solvee a Thee game is intuiitive, as it usess a cliché phase, which is
“compuuter bugs”. A tteenager will m most certainly hhave heard
9978-1-4244-6262-9/10/$26.00
0 ©2010 IEEEE Occtober 27 - 30, 2010, Washington, DC
40th ASE
EE/IEEE Fron
ntiers in Educcation Confereence
S2D-3
Sessiion S2D
oof this phrase and
a will be ablee to relate to itt. In society, most
m the infoormation is prresented is effefective and thee technique
nnon-technical people can only o relate to
o computers and a for maaking the teennager remembber it is uniqque and is
technology if th here is a defectt in the softwaare they are usiing. ining to them. This game suppports the Mooodle-model
entertain
MMiddle and hig gh school studeents are taughtt about test casses, [14]. Thhe Moodle-moodel claims thatt students are m much more
aas situations arre given to the player in a seequential mann ner. interestiing in learningg if they are assked questionss through a
TThe player is not explained ho ow the problem m would really y be game. BBy having fun,, the student abbsorbs informaation about
ffixed, but the lesson learned is to check k for all possiible a partiicular topic. The maintennance phase mini-game
ddefects and thaat they must bee fixed or the consumer
c will not
n accompplishes this, as the student is iinterested in shhooting the
bbe pleased. Thiis metaphor is easy to relatee to and is onee of correct bomb. This leads to thee student, unkknowingly,
thhe most effectiive forms of edducation-base gaming
g [11]. learningg the material.
FIGURE 5
THE PLAYER MUST IDEENTIFY DIFFERENTT FORMS OF MAINTEENANCE.
FIGURE 4
THE PLAYER MUST
M ERADICATE ALL
A THE BUGS BEFO
ORE THE WEBSITE
BECOMES INOPERABLE
I . EV
VALUATION ST
TUDY
V
V. Maintenancee Phase A grouup of nine hhigh school sstudents were asked to
particippate in an evaaluation study by actually pplaying our
TThe final level is the mainten nance phase, which
w teaches the game. T The group consisted of sevenn males and tw wo females.
pplayer about diifferent forms of maintenancce (see Figure 5). Of the nine participaants, seven weere white andd two were
TThe maintenan nce team had a difficult task k, as maintenan nce black aand they rangeed in age from m fourteen to seventeen.
ittself is very open ended. Th he approach taaken was to teaach The gam me play took pplace at Williaamstown Highh School in
thhe player abou ut different forrms of maintennance as oppossed Southerrn New Jersey.. Pre and post questions weree answered
too the maintenaance itself. Th he player is given some textt to by the students conccerning each pphase of the ggame. The
rread and then they
t are promp pted to go ontoo the next screeen. results oof each phase aare outlined beelow.
TThe player is then prompted d with a quesstion and seveeral
cchoices. The pllayer must shoot the bomb th hat correspondss to I. Requiirements Phasee
thhe correct ansswer with theirr tank before thet bomb fallss to The paarticipants weere asked about the impoortance of
thhe ground. commununication with other developpers and the cuustomer in
This techn nique of learn ning uses mulltiple choice and a the succcess of a projecct. Six of the nnine students thhought that
rreading compreehension from standardize teests, but makes it it was important for the developerrs to communnicate. The
mmore interestinng and engagin ng, as the playyer must shoo ot a remainiing three studeents thought tthat communiccation with
bbomb with a taank. It forces thhe player to paay attention to the the custtomer was impportant to succcessfully impleementing a
rreading materiaal they are pressented with, as they will havee to project. After playingg the game alll nine of the pparticipants
mmake a quick, instinctive deccision on which bomb to sho oot. answereed that commuunication withh the customer was more
SShooting the wrong
w bomb means
m losing th
hat round and not
n importaant. They indiccated that undeerstanding the customer’s
aacquiring moree points, so therre is an incentive to succeed. needs w
was crucial to thhe success of a project.
From a so oftware engineeering perspective, the playerr is
taaught about various
v forms of maintenancce, cohesion, and a II. Desig
ign Phase
ccoupling. The text the play yer has to read d provides so ome The paarticipants weere asked about the impoortance of
uuseful statisticcs about main ntenance, such h as 67% off a organizzation and plannning in the suuccess of a prooject. Eight
ddevelopment efffort could be spent
s on mainttenance. The way
w
9978-1-4244-6262-9/10/$26.00
0 ©2010 IEEEE Occtober 27 - 30, 2010, Washington, DC
40th ASE
EE/IEEE Fron
ntiers in Educcation Confereence
S2D-4
Session S2D
of the nine students thought that it was important to have a feel to it. This is expected, as different teams developed each
plan and indicated that the overall success of a project would phase, but it would be ideal to have one game that teaches all
be in jeopardy without some planning and organization. aspects of software engineering.
After playing the game all nine of the participants answered A persistent, three-dimensional world where the player
that planning and organization was more important. They has a character in a sandbox experience is the optimal way to
indicated planning and organization would help the teach challenging concepts. The player is not constrained to
workflow and contribute to the overall success of a project. a linear, repetitive game in a realm like this. The player is
able to interact with other characters and to work on
III. Implementation Phase
projects. The success and failure a character experiences
The participants were asked if software can be developed in when dealing with others would simulate real life software
different ways. All participants answered that it was booms and busts that occur yearly.
important to look at different methodologies and Software engineering deals with methodology and
programming languages before implementing a solution. practicalities of delivering usable software. Communication,
After playing the game the answers provided by the teamwork, documentation, version control, and
participants indicated that programming is complex, the time implementing large projects are all parts of this field. Small
constraints of the project must be taken into consideration, games can teach basic concepts from each of these
there are many different ways to approach a problem, and experiences, but ideal is a game that combines all of these
that organization is key in the overall success of a project. lessons into one experience where consequences matter to
the player, so they will learn from it.
IV. Testing Phase
The participants were asked about the importance of CONCLUSION
thoroughly testing software. The participant’s answers prior In this paper we have presented an effective game for
to playing the game indicated some understanding of the role educating middle and high school students about software
of testing in the software lifecycle. One of the nine engineering. Students who played our game were able to
participants did answer that testing was important to ensure appreciate the software engineering profession. Each mini-
the customer’s specifications were met. After playing the game provides valuable lessons about a particular phase of
game eight of the participants answered that thorough testing the software engineering lifecycle. The game does not have
was important to catch bugs in the code and one still a learning curve, which means any individual will be able to
answered that testing ensured the customer is satisfied. play our game and learn about software engineering.
V. Maintenance Phase The university students became better software
engineers through this experience. By employing a
The participants were asked what they learned about methodology where the class was divided into teams, each
software maintenance. Prior to playing the game four of the university student was responsible for deriving requirements,
participants answered that software maintenance meant designing the game, providing implementation, and running
debugging the code, two answered maintenance meant test cases. Each team had to derive requirements from other
getting rid of bugs, one answered maintenance meant taking teams, since each mini-game related to another mini-game in
care of the software and modifying if necessary and the the overall application. Each student was provided with the
remaining two participants answered that software is opportunity to contribute equally to each phase of their
unpredictable and always changing and that using different respective game. By having each phase developed
programs helps bring out more effective results. After independently and concurrently, university students were
playing the game three of the participants answered exposed to real-world-like environment, where each team
maintenance is difficult, one answered that sixty seven had to communicate requirements, design, and test cases to
percent of the project budget could be allocated for one another.
maintenance, and one answered everything in software is
connected. Two participants provided no answer to the post ACKNOWLEDGMENT
game question.
We thank all students in the Fall 2009 Information
VI. Conclusions Visualization course at Rowan University who helped
The results of the pre and post questions indicated overall developed this game, and to students at Williamstown High
that the participants gained some better understanding of the School, lead by their instructor, Mary Peacock, for their
software lifecycle, but that the maintenance phase seemed to participation in our evaluation study.
be the most confusing to the participants. This would tend to REFERENCES
indicate a need for enhancements in that phase of the game.
[1] Lewis, C., Jackson, M. H., Waite, W. M. "Student and faculty
FUTURE ENHANCEMENTS attitudes and beliefs about computer science", Commun. ACM 53, 5,
May 2010, pp. 78-85.
Although our game covers all phases of the software [2] Wing, J., "Computational thinking", Commun. ACM 43, 3, March
engineering waterfall lifecycle, it has a compartmentalized 2006, pp. 33-35.
978-1-4244-6262-9/10/$26.00 ©2010 IEEE October 27 - 30, 2010, Washington, DC
40th ASEE/IEEE Frontiers in Education Conference
S2D-5
Session S2D
[3] Riezeman, M. J., "Play to Learn", IEEE The Institute, March 2009, pp. [11] Yue, W., S., Zin, N., A., "Usability evaluation for history
6. educational games", ACM International Conference Proceeding
Series: Proceedings of the 2nd International Conference on
[4] Zagar, M., Bosnic, I, Orlic, M., "Enhancing software engineering Interaction Sciences: Information Technology, Culture and Human,
education: a creative approach", International Conference on Software Vol, No#. 403, 2009, pp. 1019-1025.
Engineering: Proceedings of the 2008 international workshop on
Software Engineering in east and south Europe, 2008, pp. 51-58. [12] Sisler, V., Brom, C., Slavik, R., " Towards a novel paradigm for
educational games: the augmented learning environment of 'Europe
[5] Ford, G., "The progress of undergraduate software engineering 2045", MindTrek: Proceedings of the 12th international conference
education", ACM SIGCSE Bulletin, Vol, No#. 26, 1994, pp. 51-55. on Entertainment and media in the ubiquitous era, 2008, pp. 34-38.
[6] Rusu, A., Webb, R., Shanline, D., Santiago, C., Luna, C., Kulak, M., [13] Bellotti, F., Berta, R., De Gloria, A., Primavera, L., "Enhancing the
“A Multiple-Projects-Multiple-Winners Approach for Teaching educational value of video games", Computers in Entertainment, Vol,
Software Engineering”, Proceedings 9th IASTED International No#. 7, June 2009.
Conference on Software Engineering and Applications, ACTA Press,
2005. [14] Daloukas, V., Dai, V., Alikanioti, E., Sirmakessis, S., "The design of
open source educational games for secondary schools", PETRA, Vol,
[7] Ali, M., R., "Imparting effective software engineering education", No#. 282, 2008.
ACM/SIGSOFT, Vol, No#. 31, July 2006, pp. 1-3.
[8] Blake, J., "A Student-Enacted Simulation Approach to Software AUTHOR INFORMATION
Engineering Education", IEEE Transactions on Education, Vol. 46,
No. 1, 2003. Adrian Rusu, Associate Professor, Department of
[9] Way, T., "A Company-Based Framework for a Software Engineering
Computer Science, Rowan University, rusu@rowan.edu
Course", Proceedings 36th Technical Symposium on Computer
Science Education, ACM SIGCSE Bulletin, Vol. 37, Issue 1, pp. 132- Robert Russell, Graduate student, Department of Computer
136, 2005. Science, Rowan University, russel42@students.rowan.edu
[10] Jaccheri, L., Morasca, S., "On the Importance of Dialogue with
Industry about Software Engineering Education", International John Robinson, Instructor, Department of Computer
Conference on Software Engineering: Proceedings of the 2006 Science, Rowan University, robinsonj@rowan.edu
international workshop on Summit on software engineering education,
2006, pp 5-8.
Amalia Rusu, Assistant Professor, Department of Software
Engineering, Fairfield University, rusu@mail.fairfield.edu