Serious CS
Serious CS
net/publication/234815949
CITATIONS READS
10 451
2 authors:
All content following this page was uploaded by Katrin Becker on 14 April 2016.
ABSTRACT
There has been significant recent interest in computer games in University and College
curricula as a way to teach early computer science, to attract more students into the program, to
teach advanced concepts, and to help lend vocational weight to a curriculum. In this article we
discuss several ways that games can contribute to an undergraduate CS program, and illustrate
specific ways that the use of games has influenced learning, the students, the faculty, and the
institution where these courses have been implemented.
1. INTRODUCTION
Courses and programs related to computer games and video game programming and
design have existed for a decade or so, but they have attracted widespread attention only
relatively recently. Many institutions still view games as academically marginal, and many IT
policy statements still expressly forbid students from playing, storing, or installing any sort of
games on their university accounts. When a course on games programming/design is proposed
for a university program, there can be a significant degree of opposition from faculty. However,
the synergistic effects of integrating a large number of diverse computer science topics/concepts
into one framework, the inclusion of pertinent portions from Fine Arts disciplines, the software
engineering practice that accrues from the group effort to build a non-trivial game, and the
potential positive recruiting effect on enrollment deficits are strong positive arguments that are
being recognized by administrators and teachers. It is true that a game programming course does
not teach a significant new set of computing skills that cannot be taught in more traditional
graphics, algorithms, and data structures classes, yet a game is a complex piece of software that
combines advanced concepts from a wide variety of areas within CS, and the study of game
programming and development allows each individual component to be placed in a very
practical context. In addition, students appear to be strongly motivated by the subject material,
and spend a great deal of time working on their assignments.
This paper will describe three specific examples of game use in the undergraduate CS
curriculum and their impact on the students, faculty, and school. When used as assignments in
first year there is evidence that students work harder and perform better. The design and
implementation of a senior CS course in game programming, the capstone course of a
concentration in game development, will be described, along with some observed results. The
incorporation of arts disciplines into the CS program, along with the other two courses
incorporating games has led to a successful research program in game technology at the authors’
institution. This program often uses undergraduate students as key players, doing programming,
design, acting as subjects, and co-authoring research papers.
There are indications that two thirds or more of all freshmen in computer science became
interested in CS through video games. Current wisdom implies that learning is most effective
when we build on what the learner already knows, and using situations with which they are
familiar [3, 9]. Students understand games far better than they understand employee records
keeping, or ‘widget’ manufacturing, both of which are sources of typical freshman programming
problems. The authors have been using classic arcade games as assignments in the first year
since 1998 with great success because students understand the problem, classic games make use
of older and simple technology, and they are recognizable cultural objects for that generation [2].
In 2002 an opportunity arose that permitted us to measure the effect that game
assignments have on the students. A last minute change of policy caused two first year (CS102)
classes to diverge in their assignments sets, one set being game based to some extent and the
other set being a fairly standard set in the behaviorist tradition. The assignments were handed in
using an on-line system, so all of the source code was accessible. Both classes used Java.
Standard software engineering complexity metrics were used to determine how complex the
student solutions were, and to compare this between the two distinct assignment sets, which were
in fact two concurrent lecture sections. There appears to be very little previous work [4] that
involves a complexity analysis of assignments in the way that was done here, namely, the use of
perceived effort as a measure of success. Assuming that the assignment grades in both classes are
more or less equivalent, as determined by review of the assignments by experienced teachers, the
assignments that involved the largest amount of work or effort should be an indicator of how
much was learned [8, 15].
Conclusion: In all cases the game assignments are more complex and require more
effort than the other assignments, and this is amplified when only the two game assignments are
considered. Our observation was that the students were quite willing to spend the extra effort
required by the more complex game assignments. Following up on the students in successive
courses showed a tendency for the students who did the game assignments to get slightly higher
GPAs in second year courses, including theory. The students in the game group achieved an
average grade 0.7 higher than did the behaviorist group in the successor programming class.
Grades are computed on a 4-point scale, so this would represent an 18% improvement. This
improvement deteriorates with time if the instructional methods are not continued. Taking the
successor course 4 months later reduces the improvement to 0.1 from 0.7, or 2.5%. Improvement
is higher for the 'A' students [12]
The author’s institution has offered a capstone course on computer game programming
since January, 2000. This course is a regularly timetabled fourth year class, taught in the Winter
term (second semester). This course has been designed and is taught largely by staff from a
successful professional game development company - Radical Entertainment of Vancouver BC.
For practical reasons of time and distance, all of the lectures are provided during one single
week, 7 hours per day, at the beginning of January before regular classes begin. Thus all
essential lecture material is complete before the students begin their project.
Students were organized into groups of five, each responsible for creating one game. A
driving or racing game was used for several reasons. First, it is representative in terms of
graphics, sound, and play. Next, the graphics can be simple while maintaining playability.
There’s no need for hard to render objects like trees and animals, or for character animation.
Finally, in spite of those simplifying aspects, a driving game involves challenging physics, and is
sufficiently complex for a single semester. The high concept design of the game was created in
the first week of class when the industry professionals were present. Then regular weekly lab
meetings were used as the venue for discussions, tutorials, and just in time instruction.
Development of the game mimics a real game development cycle, complete with the usual
design documents and publisher site visits for demos. The game they create becomes part of their
professional portfolio. Student assessment of the course as a whole is consistently positive, with
numerical values between 6.1 and 6.9 on a 7 point scale. They more pleased overall with this
course than with others, spending time on their work voluntarily. One or two students find jobs
each year based on this course, and many are still in the game industry. Discussions with the
Faculty of Science Recruitment Officer have revealed that about 30% of students admitted to CS
during his four year tenure came to our school because of the game course and./or program.
Many of the final products were quite sophisticated. MiniMayhem for example is a
combat driving game where cars are equipped
with missiles and mines, which can be picked
up by driving through a rotating floating cube
(see Figure 1). Game play consists of
attempting to destroy your opponents which
consist of three cars controlled very effectively
by the game’s AI module. The setting looks
like the floor of a family room. Cars are 1-2
inches high, and the floor is littered with toys,
books, and Lego blocks which serve as both
obstacles and places to hide. There is a very
modern sound track, good sound effects, and multiple camera positions. One of its strong points
is that allows the player to adjust things like the friction on surfaces and the vehicle acceleration.
One of the game’s builders was hired by a Vancouver game developer upon graduation.
Although many computer science departments still describe their courses, and therefore
their entire programs, as a simple list of topics to be covered in spite of the fact that the
Computing Curricula specifies objectives and outcomes for each topic [1, 5, 7]. It is now widely
acknowledged that content standards are less desirable than performance standards for
describing learning goals [17]. This course includes descriptive objectives for real-time
rendering, simulation, animation, human/computer interfaces, artificial intelligence, software
design, real-time systems, information retrieval, parallel and distributed programming,
audio/signal processing, networking, and elements of algorithm analysis [16]. A complete list of
the objectives and outcomes can be found in [14], but an example is:
Upon completion of the course, the student should be able to explain what real-time scheduling algorithms do, and how
they enable the response time requirements of real-time systems to be achieved; demonstrate an understanding of their
design and implementation issues.
Due to the variety and distinct natures intrinsic with the artistic experience and media,
computer science has not traditionally been a cooperative or understanding partner of the artist.
Although a significant fraction of computer scientists either draw or play an instrument they
appear to prefer processing numerical data to creating drawings and music. Effective joint efforts
between artists and computer scientists require a comprehension of the opportunities and
problems in both sets of disciplines, and video game projects offer a unique opportunity to
present the students with a relevant situated learning experience.
Our practical experience has been that music students are easier to attract into game
collaborations than are art or drama students. We have had music students involved in three
different groups, each time with success. The music students perform and compose new music
for the game. They are often registered in a project course in composition in the music
department, and are not members of the game class per se. This kind of collaboration between
departments rarely requires external approval, and so can be arranged by the instructors
themselves.
One of the courses taught was a joint CS/Drama effort that included students from the
resident campus as well as students from Carleton University. The off-campus students worked
on a similar project in tandem with the resident ones, and the two groups remained in touch
through teleconferences. We were also affiliated with the Banff Centre through the New Media
Institute, who provided information, facilities, and seminars for the students [11, 13]. The project
involved the design and development of computer games to teach high school physics cpncepts
to remote rural communities online. The result was a role-playing game (RPG) that could be
extended to cover the entire high school physics curriculum by using multiple levels.
Providing opportunities for computer science students to work with artists at a relatively
early stage in their careers will create a new kind of graduate: one possessing an amalgam of the
skill sets and an appreciation of the working styles from both fields. Working together on a large
multimedia project like a game gives them an understanding of how the two distinct groups can
work together effectively.
5. CONCLUSIONS
Our experience with using games in various ways and at different points in the program
has brought several things to light. First, using games as part of a CS curriculum offers
recruitment potential for students - roughly 1/3 of our first year class has been attracted by the
game courses and concentration is quite significant. Next, game assignments can not only be
successfully completed by first year students, but that they result in significantly more effort on
the part of the students, and a residual superior performance in successive courses. The capstone
game course has facilitated a significant degree of undergraduate participation in research, has
added to research funding to, and has increased the number of publications coming from the
digital media research group. Collaborations with Fine Arts has resulted in closer understanding
between the groups, productive research connections, and game related jobs and teaching
collaborations, allowing interested students to study music with a goal of building video games.
There are additional impacts of the use of games that have not been discussed in detail
due to space considerations. The media is very interested in games from many perspectives, and
both television and newspapers come to the games class demos each spring. The resulting
publicity for the institution is inexpensive and invariably very positive. We showcase games that
the students create in recruiting efforts and at open house events. Our university president and
vice president have enjoyed playing the driving games. Finally, we have many former students
that are now working in the industry, both as game developers and for third party support
software developers.
7.0 REFERENCES
1. Computing Curricula 2001: Final Report of the Joint ACM/IEEE-CS Task Force on Computer Science
Education. Roberts, E. and Engel, G. eds., IEEE Computer Press, Los Alamitos, CA, 2001 retrieved from:
http://www.acm.org/sigsce/cc2001 on
2. Becker, K. and Parker, J.R., All I Ever Needed to Know About Programming, I Learned From Re-writing Classic
Arcade Games. in Future Play, The International Conference on the Future of Game Design and
Technology, (Michigan State University, East Lansing, Michigan, 2005).
3. Bruner, J.S. Toward a theory of instruction. Harvard University Press, Cambridge, Mass., 1966.
4. Dobing, B. and Erbach, D., A comparison of business and game projects for the intermediate programming
classes. in 16 Annual Conference of the International Academy for Information Management, (New
Orleans, LA., 2001), 287-296.
5. Gronlund, N.E. How to write and use instructional objectives. Merrill, Upper Saddle River, N.J., 2000.
6. Halstead, M.H. Elements of software science. Elsevier, New York, 1977.
7. Kieran-Greenbush, S. Goals, Objectives & Educational Outcomes, Columbia University, 2000 retrieved from:
http://www.columbia.edu/itc/tc/TU4819/4831-010/course-materials/goals-objectives/Goal-Objectives-ed-
outcomes-v95/ on April 20, 2006
8. Kirkpatrick, D.L. Techniques for evaluating training programs. Training and Development Journal. 178-192.
9. Lave, J. and Wenger, E. Situated learning : legitimate peripheral participation. Cambridge University Press,
Cambridge [England] ; New York, 1991.
10. McCabe, T.J. Complexity measure. IEEE Transactions on Software Engineering, 2 (4). 308-320.
11. Parker, J.R., Games and Animation: Collaborations Between the Arts and Computer Science. in 5th International
Conference on Information Technology: Coding and Computing, IT Education, Curriculum & Assessment
Track, (Las Vegas, USA, 2004).
12. Parker, J.R. and Becker, K., Measuring effectiveness of constructivist and behaviourist assignments in CS102. in
8th annual conference on Innovation and technology in computer science education, (Thessaloniki, Greece,
2003), ACM Press New York, NY, USA, 40 - 44.
13. Parker, J.R., Becker, K. and McCullough, D., Computer Science and the Arts: Some Multi-Disciplinary Teaching
Collaborations. in 8th annual conference on Innovation and technology in computer science education,
(Thessaloniki, Greece, 2003), ACM Press New York, NY, USA, 40 - 44.
14. Parker, J.R., Loose, K.W. and Verheyde, N., Objectives and Outcomes of a Senior Course in Computer Game
Programming. in Western Canadian Conference on Computing Education (WCCCE), (Mt. Royal College,
Calgary, Alberta, Canada, 2006).
15. Romer, R. Making Quality Count in Undergraduate Education, Denver Education Commission of the States,
1995 retrieved
16. Sánchez-Crespo Dalmau, D. Core techniques and algorithms in game programming. New Riders Education,
Indianapolis, Ind., 2004.
17. Wiggins, G.P. and McTighe, J. Understanding by design. Association for Supervision and Curriculum
Development, Alexandria, Va., 1998.