Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 1
SESSION THE USE OF ROBOTS AND GAMIFICATION IN EDUCATION
Chair(s)
TBA
ISBN: 1-60132-435-9, CSREA Press © 2 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 3
An Evaluation of Simulation in Lego Mindstorms Robot Programming Coursework
Frank Klassner1,2 and Sandra Kearney1,2 1Department of Computing Sciences, Villanova University, Villanova, PA USA 2Center of Excellence in Enterprise Technology, Villanova University, Villanova, PA USA
Abstract – Robotics programming has become a significant Combining this observation with the research cited at the element of undergraduate computer science curricula over the beginning of the section, it is natural to ask what role past decade. This paper presents an initial examination of the simulation can play in conjunction with physical robots in effectiveness of simulators in helping undergraduates in computer science education, particularly in cases where computer science courses produce moderately debugged code students might be distracted from programming issues by on simulated robots before further refining it on physical “messy” robot interactions with the real world. There is also robots (Mindstorms NXT). The examination included a study the question of how to educate computer science majors about of how students evaluated their experience programming the industrial practice of using simulation to design and test robots in Java with and without a simulator in novice through robot systems before they are construed. advanced level courses. The paper describes the simulator for the study, the robot projects studied by the students, and This paper reports on a research project that evaluates the the survey instrument used in the examination. It concludes usefulness of simulation in conjunction with physical Lego with results on gender differences in student evaluation of the Mindstorms robotic programming exercises. To this end, it robot simulators, and overall student assessment of the first presents the simulator that was designed for the project simulator’s learning effectiveness. and then describes the Lego chassis and programming projects that were used in courses in the project. The paper then Keywords: Robot Simulation, Computer Science Education explains the survey by which students reported their 1 Introduction experiences while doing the projects with and without the robot simulator. The paper concludes with an analysis of the A rich long set of pedagogic research lines have shown that survey reports and discussion of future work. projects using physical robots such the Lego Mindstorms platform can be effective for grounding topics in computer science (CS) undergraduate courses such as CS0 [1, 2], CS 2 Robot Simulator 1/2 [3, 4], AI [5,6] and Operating Systems [7], and others outside CS. [8] The role of simulation in computer science The robotic simulation package used in the experiments is courses has also been explored since the first work on Karel called RAMS (Robot Analysis, Modeling, and Simulation). It the Robot [9] down to the recent Alice [10] investigations. was developed at Villanova to support various ready-made Several college and graduate-level robot simulation packages Lego Mindstorms chassis designs for students to test control have also been created over the last two decades, including software before trying the software on physical robots. Player/Stage/Gazebo [11] and Microsoft Robotics Studio. [12] 2.1 ROAMS – the Base for RAMS In a study conducted in this area by the first author [13], over 200 computer science majors were surveyed on their Jet Propulsion Labs staff used their Dshell software platform perception of 25 Lego Mindstorms laboratory modules’ for creating the ROAMS (ROver Analysis, Modeling and teaching efficacy in a variety of computer science courses. Simulation) simulator for modeling Mars robot rover One survey question in the study asked students across four missions. [14] ROAMS was designed to model a wide range types of CS courses whether a robot simulator would have of rover systems with an easy to use graphical user interface. made a significant difference in their programming ROAMS was designed to be a virtual rover that could be used experience. For those modules in which the environmental to test rover systems beyond just using the hardware alone. interaction of robot chassis design or control software design These needs require that ROAMS support a detailed physics played a significant role in the lab, student surveys indicated model of the rover platform along with the kinematics and that a simulation environment for the Mindstorms platform dynamics incorporated in it. ROAMS includes a suite of would likely have benefited them by (1) reducing their time sensors to get feedback information from wheels, steering spent verifying - and often rebuilding - their chassis and by (2) motors, encoders, cameras, light sensors etc. ROAMS increasing the time available for improving the performance included models for the environment with which the rover of their robots’ control software. will be interacting. The reliability of ROAMS is clearly demonstrated by NASA’s Mars Rover Program’s success.
ISBN: 1-60132-435-9, CSREA Press © 4 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
ROAMS and Dshell have been released to the public research sector under the caveat that users must demonstrate evidence of US citizenship or permanent residence. The ROAMS platform was selected as the base from which to build the RAMS simulator used in this research project, since it included a powerful physics engine that could be adapted for undergraduate use in computer science curriculum. Although ROAMS presented a complex interface, we did not want to start with a less robust platform only to run the risk later of discovering that students’ simulator experience was not close enough to “real-world physics.” We felt it would be easier in our experiments to simplify ROAMS modeling or its interface when needed than to build up another simulator Figure 2. RAMS Client Window. package’s physics engine on our own. Students controlled the simulation by clicking on a start/stop 2.2 RAMS Design button on the Client window. Data logs for each of the robot features could also be generated. The PlanView window was Java is the primary programming language in the Villanova configured to track automatically the motion of the robot, but computer science curriculum, and the Lego Mindstorms robot its perspective of the robot could be manually adjusted during platform coupled with the Java-based LeJOS library [15] is a simulation. As shown in the PlanView window, the one that has been most commonly used in computer environmental elements such as chairs, floors, and desks science courses at Villanova. To facilitate comparisons could be included in the simulation to aid in students’ between student programming experiences with and without understanding of how to program their robots for the room in the simulator, the RAMS system was designed with a which they were working. compiler that could retarget the same LeJOS code to a physical or to a simulated robot at the click of a button, The research project was conducted using the RAMS with without requiring students to rewrite any code when simulator models based on the NXT Mindstorms platform, switching between physical and simulated platforms. but with minor modifications the RAMS simulator can use the LeJOS libraries for the current EV3 Mindstorms platform. The RAMS interface developed as a modified interface for the ROAMS platform has three windows: an Eclipse editor window for editing and compiling lab module code, a 2.3 Robot Chassis Designs simulator PlanView window for observing a simulated robot To make it feasible for students to conduct the robot performing in real time under the control of student code, and laboratory projects as closed lab experiences, the lab modules a RAMS Client window for showing real time state changes in this research were based on chassis that would be already in the sensors, LCD display and motors of the robots. RAMS constructed for the students. In this way students had the is executed within a Fedora shell. Figures 1 and 2, maximum in-class time available for programming and testing respectively, show the PlanView and Client windows. The their control software. Two robot chassis designs were RAMS Client window as illustrated shows all the features developed and modeled using the Spatial Operator Algebra that are possible to display, but it can be configured (by an modeling language of ROAMS. The simulator’s underlying instructor, for example) to show only those features of a robot ROAMS architecture permits suitably-trained instructors to that are germane to a given laboratory project. define and add new robot models to the list of available models.
Figure 1. RAMS PlanView Window Figure 3. Tribot Figure 4. Spiderbot
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 5
The Tribot shown in Figure 3 is a three-wheeled robot that is The courses required a broad range of knowledge and based on the same-named model in the NXT Construction experience, from students with no programming language Manual that comes with Mindstorms NXT kits. Note that the knowledge or experience to students with more than five sonar sensor in shown as the “head” of the robot was not used computer programming languages and in-depth in the lab modules described later in the next section. This understanding of computer science. The students in these chassis was selected for use in the experiment due to its computer science courses had three basic levels of straightforward design. Students could use the LCD for programming experience: Novice, Intermediate, and debugging messages. Advanced.
The spiderbot shown in Figure 4 is a six-legged robot that was 3.2 Robot Projects designed based on the Strider robot presented in Valk’s NXT development book. [16] The robot uses three motors to drive Two laboratory projects were developed for students to use. In its legs (one motor for each pair of legs). This chassis was the first, Tracing Geometric Shapes, students were asked to selected for use in the experiment due to its complex develop Java code to make a Tribot follow a path that traced appearance. When properly coordinated, the legs move the out squares and other convex shapes with uniform sides on a robot in a sliding/crawling manner in the direction faced by floor, culminating in producing a square figure-8 pattern on the sonar-sensor “head” of the robot. the floor. They were asked to investigate how loops and conditional statements could be used to simplify their code, and to understand how they need to modify the angles in which they turn their robots at the vertices of shapes for shapes with more and more sides.
3 Simulator Evaluation Regimen In the second laboratory module, Locomotion with Genetic Algorithms, students were asked to run a genetic algorithm 3.1 Courses Surveyed (GA) on the robot to help it learn control parameters (speed, Four computer science courses served as the testing direction, duration of motion) for its motors so that it could environment for Lego Mindstorm Robot Programming move forward in a coordinated manner. Depending on the simulation research. These were: experience-level of the course in which this module was conducted, students sometimes only experimented with GA CSC2400 Evolution, Learning; Computational & Robotic parameters such as mutation rate, crossover policy, or Agents (students do not require computing knowledge) population size to see how each influenced the convergence of The course explores how software designers and artificial a supplied GA program. When students had more intelligence researchers draw inspiration from life forms and programming experience, they also were permitted to make how they learn and evolve to design programs and robotic code changes to the supplied codebase beyond parameter- agents that learn and adapt to changes in their environment. tuning. 3.3 Survey Design CSC 1051 Algorithms and Data Structures I (students should have some familiarity) The survey was designed as a questionnaire. It was divided The course explores problem analysis, algorithm design, and into four parts: General demographics, specific questions the implementation of algorithms in an object-oriented related to the lab, open comments in five related areas and programming language. Extensive programming is required specifics about students major study area and academic using the Java programming language performance. The questions were both structured and unstructured, CSC 2053 Platform Computing (Students should have providing for quantitative and qualitative analysis of the advanced computing knowledge) answers. The structured questions were limited to a single The course includes identifying platform facilities and response providing researchers the opportunity to evaluate the constraints, event driven programming, MVC pattern, strength of agreement or disagreement within the 11 learning client/server considerations, security-performance- components, represented by the related statement. The format accessibility issues, web/mobile programming, and of the structured questions was designed to outline the application programmer interfaces. expectations of the learning objectives, the background of the robotics platform, module completion, satisfaction and CSC 5930 Game Development (Students should have promotion of this type of learning program. advanced computing knowledge) The course involves a large-scale, software design and development project, and several small-team game design 4 Results projects. Students explore many facets of game design such as project management, software design, marketing analysis, The research spanned two years, and four academic semesters, game design tools and software. from the spring of 2013 to the fall of 2015. Research surveys were completed by 144 students, composed of nine different
ISBN: 1-60132-435-9, CSREA Press © 6 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
groups. There were 79 respondents that identified as male and clear to me what I should learn from this module,” while 52 respondents identified as female. The remaining students question Q9 asked students to rate their agreement with the did not report their gender identity. statement “I recommend that this module be used in future offerings of this course.” There were four categories: gender, The student population was primarily sophomore and juniors computer programming experience, class level, and academic with the population represented specifically by 18 freshmen, major. 57 sophomores, 28 juniors, 24 seniors, and one post graduate. This information is displayed in Figure 5. All other students Figure 6 provides a summary of the survey data from the did not report their current grade level. The ethnic groups structured questions. It indicates that there was a high degree consisted of 85 Caucasian, non-Hispanic; 18 Asian and of neutrality expressed about the use of simulation, across all Pacific Islander; 4 Black, Hispanic; 2 Caucasian, Hispanic, statements other than Question 1. with the remaining respondents not reporting ethnicity. The research participants were from two major academic groups, computer science and liberal arts.
Figure 6. Total Responses to Structured Statements
Figure 5. Self-Reported Academic Level The results of the Male-Female difference were of interest and warrant additional research. [17] Females were less likely to The unstructured questions of the survey covered five basic strongly agree or disagree with any of the survey statements, context areas: unlike the male respondents. Females showed a neutral to slightly positive response. However, the overall data • Interesting aspects responses from males reflected neutral to strong positive on • Greatest difficulties • the learning experience. With the combined results there is a Proposed changes to the modules strongly neutral position on the simulation. It is worthy to • Positive and negative aspects note, the most advanced academic group of participants had • Challenges or benefits. no females in the class or sampling.
The structured questions were centered on 11 statements, The data in Figure 7 reflects the findings of Male-Female designed to capture the spirit and context of learning through differences research. Questions in each subgroup are listed in the use of either a robot simulation or no simulation. The the same order left-to-right (Q1 to Q11). [17] classification was divided across agreement or disagreement of the statements as it related to the learning opportunity. For example, Question 1 asked students to rate their agreement with the statement, “After reading the learning objectives, it is
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 7
Figure 7. Response by Gender
Additional detailed analysis depicts the breakdown of academic majors, class level, and degree of programming experience. The small number of advanced participants did not provide enough data for adequate evaluation based on the level of experience. There were however, distinct differences between the Novice and Intermediate participants. Novice participants reflected neutral to more positive than even the small number of advanced students. Intermediate students reflected neutral to strongly positive.
Figure 9. Response by Use/No-Use of Simulator
The initial hypothesis was that novice users would be much less likely to learn with the use of simulation due to the abstract aspects. That is, students in novice-level courses might tend to see the simulation as extra work rather than as a stage to help them produce debugged code. The final two questions of the survey (Q10 and Q11) asked students to determine if simulation improved or caused no change in their experience. The results show a slightly more positive agreement, but overall students were neutral about use or non Figure 8. Response by Level of Experience use of the simulator. This contributed to an inconclusive hypothesis. The results are better defined by the qualitative answers given by students in the unstructured portion of the survey.
ISBN: 1-60132-435-9, CSREA Press © 8 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
The qualitative data gave evidence to possible reasons for the [3] D. Blank, “Robots Make Computer Science Personal,” neutrality. The responses to questions reflected frustration Communications of the ACM, 49(12), pp. 25-27, 2006. ACM with glitches in the software and the extensive amount of time Press. for lab completion.[18] Students were satisfied with utilizing robots in their learning program, they simply wanted better [4] J. Cummins, M. Q. Azhar, and E. Sklar "Using Surveyor composability, specifically semantic composability that SRV-1 Robots to Motivate CS 1 Students," Proceedings, provided a smooth learning experience. As with research AAAI 2008 AI Education Colloquium, pp. 23-27, AAAI completed in the combined simulation and software Press. July, 2008. engineering of complex systems, the evidence of the study reveals the need for additional research with regard to [5] B. Tribelhorn and Z. Dodds. "Roomba and Mac OS X: composability and learning simulations. Learning robotics Cross-platform Vision and Robotics for AI." Technical can be a complex activity, when broken down into Report from the 2006 AAAI Robot Workshop. January, 2007, components and combined with good composability it may be AAAI Press. shown in future research just how closely learning and building learning simulations relates to the development of [6] F. Klassner, "Launching into AI's 'October Sky' with complex computer systems.[19] Robotics and Lisp." AI Magazine, vol. 27, no. 1, Spring 2006. AAAI Press, p. 51-65. 5 Future Work [7] F. Klassner and C. Continanza, Mindstorms Without Future research should build on the baseline activity in the use Robotics: An Alternative for Systems Courses. F. Klassner & of simulators in education, specifically computer science and C. Continanza, Proceedings of SIGCSE 2007, Covington, robotics. Additional research activities might include a KY. March 3-6, 2007. gender study and a look at gender neutral simulations. In addition, incorporation of composability and component based [8] S. P. Imberman and S. Zelikovitz. "Robotics as a modeling will provide previously uncharted results to improve Component of a General Education Course," Proceedings, simulation in teaching and learning. AAAI 2008 Spring Symposium Using AI to Motivate Greater Participation in CS, March, 2008, pp. 50-54, AAAI Press. 6 Acknowledgments [9] R. Pattis, Karel the Robot, 2nd Edition, John Wiley and The authors are very grateful to the team of student Sons, 1995 programmers who worked on adding RAMS features to the ROAMS codebase: (in chronological order) Alex Palkovic, [10] The Alice Site: http://www.alice.org (accessed Taylor Clifton, Tyler Young, Brian Kim, and Andrew Grace. 4/11/2016). They also thank Dr. Abhinandan Jain of Jet Propulsion Labs for his advising of the students on working with the ROAMS [11] Player, Stage, and Gazebo, USC Robotics Research Lab software as well as for his work in developing a model for the website. Spiderbot. This research was supported by NSF DUE TUES http://robotics.usc.edu/?l=Projects:PlayerStageGazebo Grant #1023006. Any opinions, findings, and conclusions or (accessed 4/11/2016) recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the [12] Microsoft Robotics Developer Studio. National Science Foundation. https://www.microsoft.com/en-
us/download/details.aspx?id=29081 (accessed 4/11/2016) 7 References [13] F. Klassner, MindStorms as an Electronic Tangible [1] J. Anderson and J. Baltes. "Robotics and AI as a Across the Computing Curriculum. Journal of Computing Motivator for the Attraction and Retention of Computer Sciences in Colleges, Consortium for Computing Sciences in Science Undergraduates in Canada," Proceedings, AAAI Colleges, 2012; 27 (3): 52-44. 2008 Spring Symposium Using AI to Motivate Greater Participation in CS, March, 2008, pp. 2-7, AAAI Press. [14] A. Jain, "Structure-Based Computational Modeling Architecture for Robotics", 2013 IEEE International [2] S. Tejada. "AI, AIBO, and Art: Inspiring Interaction Conference on Robotics and Automation, Karlsruhe, with Computer Science," Proceedings, AAAI 2008 Spring Germany, May, 2013. Symposium Using AI to Motivate Greater Participation in CS, March, 2008, pp. 92-97, AAAI Press. [15] LeJOS NXJ website: http://www.lejos.org/nxj.php (accessed 4/11/2016)
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 9
[16] L. Valk, “The Lego Mindstorms NXT 2.0 Discovery Book: A Beginner's Guide to Building and Programming Robots,” No Starch Press, 2010.
[17] Martell, Richard F.; Lane, David M.; Emrich, Cynthia “Male-female differences: A computer simulation.” American Psychologist, Vol 51(2), Feb 1996, 157- 158.http://dx.doi.org/10.1037/0003-066X.51.2.157
[18] Eric Winsberg. 2010. “Science in the Age of Computer Simulation.” University of Chicago Press, Chicago, IL, USA.
[19] Bartholet Robert G.; Brogan David C. Reynolds, Paul F.; Carnahan Jr. Joseph C. “In Search of the Philosopher’s Stone: Simulation Composability Versus Component-Based Software Design,” Proceedings of the 2004 Fall Simulation Interoperability Workshop, Orlando, FL, September 2004.
ISBN: 1-60132-435-9, CSREA Press © 10 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
Games Programming in Computer Science Education
D. Vrajitoru1, P. Toprac2 1Department of Computer and Information Sciences, Indiana University South Bend, IN, USA 2Department of Computer Science, University of Texas at Austin, TX, USA
purpose is to help instructors of these courses design their Abstract – In this paper, we investigated the role of content assigned classes more effectively. For instance, [1] examines and processes as they relate to games and programming in what topics are appropriate for game courses, what would be post-secondary computer science courses. Our examination the best choice of language/API considering the class level, found themes that can help computer science instructors teach and various ways to find useful resources. In [2], the authors both introductory and advanced programming topics. Our survey a range of game courses and describe how digital analysis was focused primarily on the theoretical and games can support the learning process in computer science practical subject matter that is taught in game programming education. In [8], the authors discuss how content related to classes and, secondarily, in how game-based programming computer hardware can be learned by means of a digital projects and assignments can help students learn core game. The study presented in [11] illustrates the use of game computer science concepts and improve coding skills. development for teaching problem solving techniques. Our paper examines in more detail some of the aspects mentioned
Keywords: game programming, curriculum design in [2], particularly those regarding game courses in computer
science at different levels of student expertise.
1 Introduction In [4], the authors discuss how active learning as a tool Game programming has been a popular topic in to teach critical thinking and problem solving is attractive to computer science education for many years. The popularity of computer science students. The paper also touches on the game programming with computer science students is due to issue of retention of computer science majors and how active two causes. First, programmers and potential computer learning methods can improve it. Our paper also discusses the science majors are often passionate about playing games and course CSCI-B100 Tools for Computing mentioned in [4]. participating in the game culture and related media, including literature, film, conventions, live action role-playing, and so In the papers [3] and [10], the authors examine the on. Thus, they are driven by a desire to create games and be interdisciplinary nature of some of the upper-level game recognized within the gaming community. Second, the game development classes, which we will also discuss in Section 4 development industry provides significant job opportunities, of this paper. As part of the interdisciplinary nature of game which also fuels students’ interest in the field. Job development courses, managing teams is discussed in [7]. opportunities are present for those who are interested in working for established, relatively stable, game companies, as Studies can also be found on using games or other well as for those who would rather work as independent entertaining topics in introductory computer science classes, freelancers or for small entrepreneurial startups. such as Gothic novels [5], role-playing games [6], and gamification techniques in [7] and [9]. Our paper also Although game programming courses are often offered discusses the use of games in early programming classes. as electives for computer science majors, there are a large number of universities that offer entire degrees or programs in This paper is organized as follows. Section 2 examines game programming. Such programs include the Bachelor’s of introductory programming classes, as well as core course Science in Computer Game Development from DePaul following them. Section 3 discusses middle level courses with University in Chicago, IL, the Certificate of Computer specialized content in game development, while Section 4 Science in Game Development from the University of Texas takes a look at upper level courses. We finish the paper with at Austin, and the Bachelor’s of Science in Game Design & some conclusions. Development from the Rochester Institute of Technology, NY. Moreover, computer science departments offer game 2 Early Programming Classes design and development courses and programs in collaboration with departments or schools of fine arts, and Let us start by examining programming classes that take even English departments. place early in students’ computer science track, such as the CSCI-B100 Tools for Computing, taught at Indiana Several studies have examined the curriculum of game University South Bend (IUSB). Typically these are the first or programming courses based on their syllabi. The typical second programming classes taken by students.
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 11
The goal of such classes is to introduce both major and latter can be achieved both by providing lists of applications non-major students to programming and possibly attract for each data structure, and by assigning practical undecided students to computer science. These classes programming tasks that make use of the abstract data typically employ simple programming languages, such as structures that are introduced. Visual Basic or Processing, because they are easier to learn without prior experience in coding. The advantage of these For instance, two-dimensional arrays serving as tables programming languages is that they come with visual tools can be explained through arcade-style games such as PacMan that can teach basic programing concepts without requiring [13] or Sokoban [14]. In these games, the world is two students to learn the strict syntax of coding using text. Using dimensional with discrete coordinates and can be represented visual programming tools lessen cognitive load and can as a 2D array or matrix of integers. An even better approach improve motivation and learning over coding using text. would be to define an enumerated type for the stage Another technique that is often employed to improve components, containing constants for walls, spaces, food, and motivation and learning is using project-based learning. That other game elements. Then, the matrix representing the game is, students must complete practical mini-projects throughout area would use it as the base type for the cells. the semester in a lab environment under instructor supervision. A game of Breakout [15] can teach the concepts of boundary checking in data structures, as well as navigation. Game development projects can also be used in As a ball bounces against the walls, conditions of being introductory courses to improve learning and motivation, within the boundaries of the arena must be checked every because students can quickly see that basic data structures and time. In the classic version of the game, the player destroys programming concepts are necessary in these projects. The bricks by bouncing a ball against them, which is represented game development process affords immediate visual feedback as a 2D array. Breakout also teaches students the complex of progress during programming. In addition, games provide relationships between integer coordinates in the table and real an element of fun and entertainment, making it easier to coordinates in the arena, in order to display the bricks engage students in the task at hand and making them more properly. This leads to the concept of type conversion from a invested in the outcome of their programming assignments. higher precision data type to a lower precision one.
For example, a game of Pong [12] can teach beginner More complex data structures, such as stacks and programmers about variables – notably the two paddles and queues, can be somewhat abstract and difficult to grasp for the ball. Pong presents a problem requiring the solution to an the students. Card games are ideal applications for making iterative process where the ball moves in the stage area with a abstract concepts more concrete. For example, a shuffled deck given speed and direction. In order to solve the problem, can be stored in a stack or a queue, depending on its purpose students are introduced to the idea of conditionals by in the game. In the classic version of Klondike Solitaire, the checking for collisions of the ball with the stage boundaries game starts with eight “tableau” piles of cards facing down. or walls and performing a bouncing operation when this Only the top cards can be turned face up and played from occurs. each of the piles. Other cards can be placed on top of the piles in descending order and in alternating color. Thus, tableaus More advanced concepts, such as functions, can be can be represented as stacks. To win the game, all the cards introduced through many different games. For example, in a must be moved to four foundation piles by suit and in game of Tic-Tac-Toe, a function can be written to verify the ascending order. Again, cards can only be added to the winning condition. The concept of simple arrays and string foundations on top, which also means that they are best manipulation can be taught through a game of Hangman. represented as stacks. Finally, the deck of playable cards can Here, a string is needed to hold the word to be guessed. A be recycled, so that when the cards are exhausted, playing Boolean array is used in the background to mark the letters in starts over. To accomplish this, either a pair of stacks or a the word that were guessed correctly so far. queue can be used, the latter being better suited for the purpose of the class. More advanced core courses can also benefit from using games as programming projects. Games provide practical Binary trees are also challenging for students to learn, applications for data structures and object-oriented and, again, games can make this subject less abstract. For programming, and are more fun and appealing to the students. example, one can show, in a game of Tic-Tack-Toe, how the For example, game assignments can be used in courses such current state of the game can be expanded into a tree where as CSCI-C243 Data Structures taught at IUSB, which serves each branch is a possible move leading to another state. This as a prerequisite for and gateway to most of the upper- can lead to explaining how artificial intelligent (AI) agents division core and elective courses. This class teaches major could use this tree to play the game. Even though AI is data structures, including tables, trees, and graphs, and probably too early for students to implement at the time, the algorithms. It is important for students in this class to not only discussion helps to effectively introduce the concept, which learn and understand data structures but also grasp their can be built upon latter in the curriculum. pervasive importance in all areas of computer science. The
ISBN: 1-60132-435-9, CSREA Press © 12 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
Object Oriented Programming (OOP) is often taught in mechanics, dynamics, and aesthetics analysis of games. In the the second or third semester of programming courses within C490 class at IUSB, students typically must write a midterm the computer science curriculum. Developing games can help paper examining a game of their choosing from several points improve the students’ comprehension and retention of OOP. of view, such as genre, theme, rules and mechanics, reasons Game projects showcase well-structured hierarchies of for failure or success, as well as the social context of the classes, some of them with storage purposes, such as stacks game. By performing class presentations of their papers, and queues, and others with more operational purposes, such students train their communication skills while either sharing as an interface class. A game project typically contains a their enthusiasm for their favorite game or warning peers of Game Master or Manager class that oversees all the game bad decisions made by some game creators. objects, rules, and goals. This helps students understand not only the individual purpose of each class, but also the need These higher-level courses are very likely to be for an overall structure. Incidentally, the term Game Master is intensive in terms of their use of libraries or APIs. These may also used when playing role-playing games. So, students who not be entirely new concepts for the students, but they have play these types of games may intuitively understand the not worked with them extensively before. A large part of the topic better and also feel increased engagement with the instruction may be dedicated to getting students more subject. comfortable with using specialized game libraries or engines. For example, some classes may be taught in C++ or Java with 3 Medium Level Classes direct use of OpenGL. As an alternative, an API such as Flash / ActionScript may be used, or even a game engine such as In this section, we will examine courses that are taken in Unity or Unreal. The challenge in this case is to understand students’ sophomore or junior years. These are typically the tools provided by the game engine and how best to make elective courses in a general computer science undergraduate use of them in the development process. Although it takes degree program, or foundation or core courses in a degree extra effort to learn how to use theses libraries, the gain is in program specialized in game development. Examples of such being able to focus on higher-level game aspects by letting courses include the CSCI-C490 Games Programming and the libraries take care of lower level tasks. Design taught at IUSB and GAM 374 Fundamentals of Game Programming I taught at DePaul University, Chicago, IL. An important aspect of the mid-level classes is that they are programming-intensive. As mentioned previously, Students in these classes have already completed many although students have a good programming background, core courses, as well as probably rigorous algorithms and data they still need to develop and improve their coding skills by structures courses. Although instructors typically find these working on real-world projects. In lower level classes students to be capable programmers, students still need to students see programming as a goal in itself, the task to be practice and extend their coding skills. At the same time, accomplished to earn a good grade. Mid-level classes allow these courses train and hone students’ programming skills and students to move towards seeing programming as a tool to give them a solid game development experience. accomplish something specific. Students are not focused anymore on just the algorithms for their own sake, but are These game programming electives usually teach solving a complex problem that requires solving many other students fundamental concepts in game development, relevant smaller ones. algorithms, design topics, and game-specific program structures. Examples of typical game algorithms include fair Furthermore, students get to experience how much of a shuffling methods for card games, efficient randomized challenge creating a good game can be and how important content generation, and kinematics-based object movement. debugging is for the development process. Since many games Collision detection is another important topic that requires a are intended to be played over and over, any coding or design significant amount of time during the semester to cover. flaws are more likely to be revealed over time than in other Another focus is the various game loops for different types of programs that students may have written previously. Thus, games. students learn to appreciate the need for good programming practices and for extensive testing techniques. Students can Students better appreciate the importance of algorithms also better understand their instructor’s insistence on efforts when applied in concrete applications. For instance, Prim’s to improve program performance. Generally, correctness of algorithm is at the core of procedurally generated content, the program is a major goal for any coding activity, but which allows the instructor to create a connection between efficiency may seem to beginner programmers as a lower game development and graph theory. Other graph algorithms priority. When working on games, students can see first-hand have applications to games, notably path-finding algorithms how an efficient algorithm performs better for their purpose for maze-like structures. than a weaker one. Good program structure and programming practices are thus seamlessly integrated into their learning In terms of design, these courses emphasize strong objectives. program structure and object-oriented design. They also contain many topics related to game design, such as the
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 13
4 Advanced Level Classes from the team members themselves to classmates to possibly complete strangers. The instructor must also rely on peer In this section, we examine advanced courses taken by feedback from team members about themselves, each other, students who are seniors, but may be juniors. An example of and the project in order to assign grades. This feedback must such a course is CS 354T Game Development Capstone: 3D reflect not only the overall achievement of the project, but Games taught at the University of Texas at Austin. also the contribution of each team member to the effort.
The focus of these courses is game development in These kinds of courses help students transition from terms of interdisciplinary teamwork, project management, solo programmers to team members and even project and relatively complex software system development of managers. Students learn collaborative and leadership skills significant size. The teams can be between 3 and 7 students, that they will need later in the workplace. with bigger teams providing a working experience closer to that of the game industry. Oftentimes, these courses are open to students from various majors: computer science, fine arts, music, and others. The team composition reflects the variety of specialties and interests that creates a balance of the skills 5 Conclusions necessary to produce a game that approximates those in the In this paper we examined various ways in which game real world. development content can help achieve learning objectives in a computer science program as students progress through the While in the early game programming courses the curriculum. We started with beginner courses where writing instructor typically emphasize programming skills and OOP small games can make learning to code more fun and program organization, the advanced courses are used as a attractive. In more advanced early core classes, game platform for training software engineering skills. The teams programming can be used as concrete examples for many of typically work on a single project for the entire semester, the algorithms or data structures that students must learn. which requires the students to manage their time and make Medium level courses are where students learn fundamental critical decisions during the development process. Team concepts related to games while improving their communication is crucial and specialized tools, such as programming skills through challenging practical exercises. TeamSpeak and Slack, must be learned and used throughout Finally, advanced game development classes teach the semester. Source code control and sharing software, such collaboration, project management, and software engineering as GitHub, TortoiseSVN, or Perforce, are necessary even for skills. Thus, game programming can improve computer small teams. Students may apply general software science education at all levels with content that is attractive engineering concepts that they learned in another class and, in and motivating for students. addition, learn some that are specific to game development. 6 References In earlier classes, students’ efforts are concentrated on making their games work. In later classes, their assignments [1] Ian Parberry, "Challenges and Opportunities in the begin with the design process. Students must start by making Design of Game Programming Classes for a Traditional design decisions about the game they want to make, such as Computer Science Curriculum", Journal of Game Design and the genre, theme, and scope of content creation. They must Development Education, Vol. 1, pp. 1-17, 2011. choose, adjust, and justify all the game aspects, from basic mechanics to storyline. Students must design an interface and [2] U. Wolz, T. Barnes, I. Parberry, M. Wick, "Digital choose from different ways of delivering narrative text or Gaming as a Vehicle for Learning" In Proceedings of the tutorial help. They learn to pitch their game to an audience 2006 ACM Technical Symposium on Computer Science and change plans based on feedback. Moreover, students Education, pp. 394-395, Houston, TX, Mar. 1-5, 2006.. must balance the time they have with the skills they share collectively to decide how much they can accomplish in one [3] H. Bourdreaux, J. Etheridge, and A. Kumar, “Evolving semester. Interdisciplinary Collaborative Groups in a Game Development Course”; Journal of Game Design and Along the way, students learn a considerable amount of Development Education, Vol. 1, pp. 25-37, 2011. content related to the entire game development process from concept to delivery. If the class is using the agile development [4] H. Hakimzadeh, R. Adaikkalavan, and J. Wolfer, “CS0: methodology, as most do, students must deliver and present A Project Based, Active Learning Course”, International iterations of the game on a regular basis, as well as important Transaction Journals of Engineering Management and milestones for the game, including the first playable version, Applied Sciences and Technologies, alpha, beta, and final release by the end of the semester. http://www.tuengr.com/Vol 2(5), 2011. Students are confronted with feedback about their games when their games are being playtested by participants with [5] H. Bort, D. Brylow, M. University; and M. Czarnik, different levels of player expertise and different preferences, “Introducing Computing Concepts to Non-Majors: A Case
ISBN: 1-60132-435-9, CSREA Press © 14 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |
Study in Gothic Novels”, Proceedings of the Special Interest Group in Computer Science Education Conference (SIGCSE 2015), Kansas City, 2015.
[6] D. Toth and M. Kayler, “Integrating Role-Playing Games into Computer Science Courses as a Pedagogical Tool”, Proceedings of the Special Interest Group in Computer Science Education Conference (SIGCSE 2015), Kansas City, 2015.
[7] C. Latulipe, N. B. Long, C. E. Seminario, “Structuring Flipped Classes with Lightweight Teams and Gamification”, Proceedings of the Special Interest Group in Computer Science Education Conference (SIGCSE 2015), Kansas City, 2015.
[8] M. Sanchez-Elez and S. Roman, “Learning Hardware Design by Implementing Student's Video-Game on a FPGA”, Frontiers in Education: Computer Science and Computer Engineering, Las Vegas, NE, July 27-30, 2015.
[9] M. Mejias, K. Jean-Pierre, Q. Knox, E. Ricks, L. Burge, III, and A. N. Washington, “Meaningful Gamification of Computer Science Departments: Considerations and Challenges”, Frontiers in Education: Computer Science and Computer Engineering, Las Vegas, NE, July 27-30, 2015.
[10] D. Rosca, J. Kostiou, and C. Locke, “Video Games to Motivate a Multi-disciplinary Capstone Experience”, Frontiers in Education: Computer Science and Computer Engineering, Las Vegas, NE, July 27-30, 2015.
[11] E. Bachu and M. Bernard, “Visualizing Problem Solving in a Strategy Game for Teaching Programming”, Frontiers in Education: Computer Science and Computer Engineering, Las Vegas, NE, July 21-24, 2014.
[12] Pong, Atari, http://www.ponggame.org/.
[13] PacMan, Namco Bandai Games, http://www.bandainamcoent.com/game/pac-man.html.
[14] Sokoban, Thinking Rabbit, http://sokoban.info/.
[15] Breakout, Atari, www.atari.com/arcade.
ISBN: 1-60132-435-9, CSREA Press © Int'l Conf. Frontiers in Education: CS and CE | FECS'16 | 15
Innovations in Education using Gamification: A Case on Vietnamese Tertiary Institutions
Prof Avinash Shankaranarayanan1, Prof Christine Amaldas 2 1Royal Melbourne Institute of Technology (RMIT) International University 2Ritsumeikan University, Japan
Abstract - Recently, the concept of Gamification has been the idea of using game-thinking and game like mechanics to widely applied to teaching environments. Motivation in solve motivation problems and engaging audiences (students students is a common variable utilized for measuring student in our case) is not exactly new. The military has been using performance and feedback within and outside of a classroom games and simulations for hundreds (if not thousands) of environment. In this paper, the challenge is to look at years, and the U.S. and Australian military has been a pioneer alternate teaching and learning methodologies in improving in the usage of video games across geographical locations. the motivational levels of students coming from non-IT Simulation systems are now being primarily used in Australia background towards learning ICT technologies. The research defense to train top pilots of very young ages using flight focuses on two sets of student populations: test and control Sims. Hollywood has been hot on the adoption of group deployed using a pre and post-gamification phase gamification for years with movies like War Games, Call of introduced at a Vietnamese Institution. A participatory model Duty, etc. [10,11,16]. This is probably one of the reasons why of Action Research (AR) was applied as the conceptual people spend so much time on games which was queried as a framework observing pre and post-motivational levels of research question by numerous researchers in trying to students in understanding the existing motivation of students answer this inquiry. in a selected classroom using feedback instruments where the use of game components were non-existent. An online survey was also conducted obtaining regular feedback from students in both phases at the time of content delivery.
Keywords: Action Research, Content Delivery, Feedback, Gamification and Motivation in Student Populations.
1 Introduction to Gamification “In most online communities, 90% of users are lurkers who never contribute, 9% of users contribute a little, and 1% of users account for almost all the action [13]”.
Gamification could be defined as ‘the art of applying motivational or game like dynamics to retain consumers within a socially interactive domain space’ as stated by [1]. The design of gamified environments could be based on traditional business models applying game like dynamics to existing traditional markets or virtual electronic markets within a specified time frame which is controlled by the Figure 1: The game component hierarchy [4] gamifier or schematic designer. Zichermann and Cunningham [19] defines Gamification as the process of Jane McGonigal [10] tries to apply this query by labeling game-thinking and game mechanics to engage users and gamers as super-empowered hopeful individuals who exhibit solve problems. Typical examples of applying gamification in four distinctive behavioral traits [5,6,7] as shown in Figure 1. businesses includes: Airline companies using frequent flyer points; hotels and food joints utilizing loyalty programs; Urgent Optimism – the desire to act and the belief in grocery stores exercising the concept of green stamps and achieving success. vouchers. These were some of the typical Gamification mechanisms previously used in the fields of marketing Social Fabric – the ability to trust and form stronger [10,11,16]. Gamification may be a new term in this era but social bonds through game playing.
ISBN: 1-60132-435-9, CSREA Press © 16 Int'l Conf. Frontiers in Education: CS and CE | FECS'16 |