This is a historic announcement for the 2010 Computer Games Class. It was the first time I taught the class.

Course Announcement for Spring 2010:

CS679: Computer Games Technology

Mike Gleicher
2:30-3:45 MWF (note: there will not be 3 lectures per week. the extra class meeting time is scheduled so that students have a free time in their schedule for project group meetings)
CS559 or consent of the instructor (see below)
Intended Audience
students who are interested in how computer games work, how the technologies behind computer games (like high performance graphics and rich internet applications) may be applied to other things, and/or want the experience of working on a non-trivial project as a group from design through testing.

The best place to get an idea of what this course will be like is to look at the web pages from previous years: 2008, 2007. Some things will change (I really do try to adapt the class to student interest).


In general, this is a class about the software that goes into making games. Its about how computer games work and how to build them. Its not about how to play them, or why people play them, or …

This class is not focused on game design: we will spend some time discussing design (what makes a good game), since we need to understand games in order to really know how to make them (and to make good ones ourselves).

This class is an experiment. There are many things a class on “Game Technologies” could mean. There are many different “technologies” involved in interactive systems and games and many different ways to teach people about it. The idea here is to pick some of the software technologies that are used in interactive applications and games and some of the ways to learn about them, and see how they work out in a class setting.

During this class, we’ll pick topics related to games that are some combination of:

  • Things that people in the games industry have told me they think are valuable for students to learn in a class like this.
  • CS topics that I think are important for computer games.
  • Things that we are interested in learning more about (yes, I mean we as in you (the students in the class) and I).
  • While this class is not “graphics 2”, there will be an emphasis on graphics and animation techniques that apply to interactive things like games.
  • Projects that seem to be fun an interesting to do as part of a class like this.

If it sounds like I’m making this up as I go along, then you’ve read correctly.

A big part of this class is its project orientation: you will work on a pretty significant project as part of a team. You’ll get to see a project go from the initial design stages all of the way through testing. Experience working as part of a team and following through on projects is something that is valuable (for example if you’re looking for a job).

According to the Course Catalog:

Survey of software technology important to computer games and other forms of interactive technology. Real-time image generation, managing complex geometric models, creating virtual characters, simulating physical phenomenon, networking technology for distributed virtual environments.

Who can take it?

The official prerequisite is CS559 (Computer Graphics) - but I am open to the idea that some people have learned equivalent material on their own, so if you’re “self-taught” you should contact me. Having taken a graphics class is useful because many of the “technologies” we discuss are graphics related (animation, shaders, …).

If you really want to take this class, but have no graphics experience, please come talk to me. We might be able to work something out.

If you’re an art/design/education/… student who has a strong interest in game technology, we might be able to accomodate you. CS679 is targeted towards CS students who are experienced programmers - but if you have different (but relevant) skills, we might be able to adapt the class for you. You might need to sign up under a different number. Please contact Prof. Gleicher to discuss it.