CS 195 Honors Seminar in Computer Science, Spring 2009

Register for this class as 198:195.

Flow Image 1 Game Mechanic

This class is about the design of video games, and their relation to computer science

Experimental gameplay in video games has experienced a renaissance in the past few years. In this course, we will explore the concept of meaningful play and its relation to video game design through essays, talks and game design vocabularies, as well as a number of practical examples. Taken as a whole, these pieces will allow us to build a better understanding of what makes games fun, and how interesting game mechanics and systems can be developed and iteratively improved by means of rapid prototyping and playtesting. From a technical point of view, video games encompass many fields of computer science, such as computer graphics, information visualization, human-computer interaction, artificial intelligence, software engineering and data structures. And even though this course is not primarily about these technical details, we will discuss how video games incorporate these technologies to form an interactive and unique medium in its own right.

It's primarily for frosh and sophomores

But really, it's for anyone who wants to understand what computer science is and how to get the most out of a Rutgers CS education. It's particularly designed for students who are interested in external link: the new Honors track in computer science, and who want to see what they have to learn and do to get involved in cutting-edge research with department faculty, in topics such as computer graphics, computer vision, video game design, machine learning, software engineering and robotics. We expect you to have gotten A's in the coursework that you bring to the table, and to have some interest in computing and video game design that you hope to build on over the semester.

Although this is not a programming or problem-solving class, we will be experimenting with some very simple game prototypes in Java, for which code will be provided. Extensive programming capabilities will not be necessary, since we will develop the subset of required Java and OpenGL skills throughout the course. Ideally though, this class will provide an overview of interesting problems which can be solved through means of computer science methods. And to quote from a previous lecturer of this course, the most powerful thing this class can do is allow you to see the problems, programs and processes, the algorithms and data structures at play in everyday life.

The basic requirement is to read some essays and play some games, week by week during the semester, and think about how these games succeed or fail on their promises

We will discuss in class, but also make use of a wiki - or collaborative hypertext web space - that serves to document our thinking, our debates, the lessons we've learned and our conclusions about the ideas and the results of experimental game design. In other words, grades are entirely based on class participation, but that participation can take a variety of forms: speaking up in class, shaping debate, putting out initial ideas, linking ideas together, or editing contributions into a coherent whole. We are a learning community in which all those skills are valued and important, but we define community by participation. Don't expect to squeak by silently.

Register by special permission only

To register, you need communicate why you want to take the class. I'm teaching this class for fun, so I'll do my best to make it fun to sign up and participate in the class, but I can only work with what you give: to do well in this class, you have to be ready to put yourself on the line and take charge of your own learning, and that starts even before the first day.

Further Information



Game Discussion Wiki