comp150-cis - collaborative development of interactive software systems

COMP150-04 - Spring 2009
Lectures/Labs: MW 6:00-7:15 - Halligan Hall 122

Instructor: Alexandre R.J. François (
Office: Halligan Hall E011
Office hours: MW 5:00-6:00 or by appointment


An Ant's Life at SIGGRAPH (posted 06/02 - updated 06/26, 07/24 and 09/04)
An Ant's Life was one of four finalists in the SIGGRAPH 2009 Research Challenge competition.
[press release]

course description


This courses addresses the collaborative design and implementation of interactive software systems. The course centers on a class-wide project, typically an interactive game. The lectures inform the project design and development process. Topics include design and human factors, project management, collaboration, software architecture, graphics, networking. The course emphasizes creativity, teamwork and hands-on experience.

Prerequisites: COMP 11 and COMP 15, or consent of instructor.

No required textbook, see resources section for some recommended books and other useful material.


The collaborative class-wide project is the central element of the course. Specifics will be determined in the course of the class, based on interest and skills represented in the team. The final software system delivery will likely be of the level of a technical demonstration rather than a fully developed game. However, particular emphasis will be placed on the design and development process, including documentation.


Individual assignments related to project will help prepare for the project, and pace the early stages of design and development. Expect between 5 and 10 assignments over the semester.


Note that the participation grade is assigned individually, the assignment grades are assigned individually or per team, the project grade is collective (meaning everyone gets the same project grade).

academic integrity

Presenting someone else's ideas or work as your own is a violation of academic integrity, is absolutely unacceptable, and may result in severe disciplinary action for all parties involved. See the Academic Integrity booklet from the Dean of Students' office.

spring 2009 schedule

Always in motion is the future. -- Yoda

Wednesday January 14:
Welcome, course overview

Monday January 19:
Martin Luther King Day (no class)

Wednesday January 21:
Introduction - interactive systems [pdf]
Project ideas (I)

Monday January 26:
Team organization, collaboration tools [pdf]
Project ideas (II) [wiki]

Wednesday January 28:
The Software Architecture for Immersipresence framework [pdf]

Last day for AS&E students to add classes

Monday February 2:
Elements of design [pdf]
Project ideas (III)

Wednesday February 4:
Elements of design [pdf]
Project ideas (IV)

Monday February 9:
Programming with MFSM
Project ideas - convergence

Wednesday February 11:
Project planning
Project lock-in deadline

Monday February 16:
President's Day (no class)

Wednesday February 18:
Project Design
Team assignments

Last day for AS&E students (except first-year undergraduates) to drop courses without record of enrollment
Last day for all undergraduates (including first years) to select pass/fail Option

Thursday February 19 (Monday schedule due to President's day):
Project Design
Preliminary timeline

Monday February 23:
Project software requirements and design

Wednesday February 25:
Project software requirements and design

Last day for AS&E students to make up incomplete grades from Fall 2008

Monday March 2:
Snowstorm - campus closed - no class

Wednesday March 4:
Project software architecture

Monday March 9:
Project coding experiments

Wednesday March 11:
Project code shell
Project coding experiments

Spring Break

Monday March 23:
Project coding

Wednesday March 25:
Project coding

Monday March 30:
Project coding

Wednesday April 1:
Project coding: first critical integration milestone

Last date for undergraduate first years to drop courses without record of enrollment

Monday April 6:
Project coding

Wednesday April 8:
Project coding

Monday April 13:
Project coding

Wednesday April 15:
Project coding: second critical integration milestone

Monday April 20:
Patriot's Day (no class)

Wednesday April 22:
Project finishing touches and PR material preparation
Post-Mortem analysis/discussion

Monday April 27:
No class (CS Graduate/Alumni Year End Dinner)

Classes end
Last day for AS&E undergraduates to withdraw from courses and receive a grade of W

Material for website and submission to competition

no final exam

lecture notes

Introduction - interactive systems [pdf]
Teamwork [pdf]
The Software Architecture for Immersipresence framework [pdf]
Elements of design [pdf]


An Ant's Life

In this first person interactive game, collectively designed and prototyped by the 13 students in the class, the players experience the world as members of an ant colony, from hatching through successive life stages in and around the nest. The interface maps the ant’s dominant senses - smell, taste and touch - to a first-person interactive audiovisual display, conveying localized and qualitative perception. Textures and color characterize the tactile and chemical properties of world elements such as terrain, rocks, bits of food and other ants. The game takes place in a fully accessible and interactive simulation of the colony and its environment, populated by other ants and critters. In order to progress in the game, the player must ensure her immediate well-being, interact with her sister ants, and fulfill the tasks that characterize the roles she undertakes as her life develops. [website]


suggested/recommended readings

John P. Flynt and Omar Salem, Software Engineering for Game Developers, Muska & Lipman, 2004.

Donald A. Norman, The Design of Everyday Things, Basic Books, 2002.

(Rouse, 2001) Richard Rouse III, Game Design - Theory and Practice, Wordware Publishing, 2001.

Terry Winograd, Bringing Design to Software, Addison Wesley, 1996.

similar courses

Courses that followed a similar class-wide project format:

CS201G: Principles of Software Development - Games, USC, Spring 2007 [website]
Project: Crosswinds [website]
Press: Games Students Play, and Make by Linda Davis, Viterbi News, June 7, 2007 [link]

CS599: Integrated Media Systems, USC, Fall 2002 [website]
Project: 3D Soccer [website]

arjf © 2008-2009