three of the first four programming
courses to be in C++ and created game-oriented examples and exercises. The
game focus helps motivate students,
getting them excited about programming. For Fall 2008, results showed
a 28% increase in the number of students with letter grade A in the games-oriented CS- 101 Introduction to the
Fundamentals of Programming and
for Spring 2009 a 49% increase (http://
gamepipe.usc.edu/~zyda/GamePipe/
Ghyam-Final-MS-Study-2009.pdf). Further analysis of the results is underway to determine whether they reflect
superior skills, superior understanding of programming, superior motivation, or some other cause;
Replaced EE with CS. We replaced
four electrical-engineering courses
on circuit design with computer-sci-ence-focused EE-352 Computer Organization & Architecture and parallel-programming-focused EE-452 Game
Hardware Architecture. The removed
courses represent an older style of
computer-science-degree program.
We felt it more important that students learn how computer architectures affect programming rather than
how to make such architectures. We
also felt that parallel programming
was highly relevant to both the multithreaded nature of modern game development and multicore processors;
Added EE. We added EE-450 Introduction to Computer Networks as a
degree requirement. Networking is
offered as an elective in the regular
computer science curriculum. Because games need networking, all our
students take it;
Cut compiler courses. We eliminated
the two compiler courses taken by regular computer science students. ACM
eliminated compilers as a requirement from the CS core in 1979. The
USC Computer Science Department
uses the two courses as large program-ming-project capstone courses, so we
felt we would rather have our students
build games. The replacement for the
games curriculum is the two-semester CS-491A/B Final Game Projects
course. An interesting result is that
the Computer Science Department
is weighing whether to allow general
computer science students to take the
Final Game Projects course instead of
the compiler sequence; and
We felt that parallel
programming was
highly relevant to
the multithreaded
nature of modern
game development
and multicore
processors.
No foreign languages. General education requirements for the bachelor’s degree in computer science
(games) are approximately the same
as for USC’s regular computer science degree. The degree lacks a four-course foreign-language requirement
as in all other USC College degrees,
an accident of planning rather than a
recommendation.
When we began planning the degree, the dean of engineering said,
“I don’t want a weak degree.” So we
made these changes to the computer
science component of the program
and are confident we offer an academically strong and industry-viable
undergraduate degree.
For the games-side of the bachelor’s degree, we replaced 42 units of
electives from the general computer
science degree with a full course in
game development. Hence, the degree
looks more like a double major than a
specialization. We also have a set of
courses on game engineering, game
design, and game cross-disciplinary.
Game engineering covers video-game programming, parallel programming on consoles and graphics
processing units, and programming
game engines, all of which are
straightforward software-development courses and all important for
game development.
For game design, we send our
students to a three-course Game Design Workshop sequence in the USC
School of Cinematic Arts Interactive
Media Program. Engineers are immersed in gameplay design as taught
by master game designers. The first
course in the sequence—CTIN-488
Game Design Workshop—teaches
students how to prototype gameplay
using cardboard and hand-drawn art;
they basically build board games. We
get an interesting response from the
engineers we send there. Some rave
about it, saying it’s the best thing
they’ve ever taken. Some hate it, feeling frustrated they cannot immediately code-up a game. Some hate the
first few weeks but in the end come
back and say it was a great course.
Ultimately, the students who understand the importance of the course
and express satisfaction end up with
great internships/jobs in the game
industry. It’s where we see the future