From Engaging Computing Group

91.411/Software Engineering I is being offered this fall, after a 1-year hiatus. This semester, we will be developing Java-based interactive games for children with multiple disabilities.

In addition to conceiving and developing your own game, we will discuss fundamental principles of software design. Readings include Fred Brooks' timeless "The Mythical Man-Month" (if you don't already know, try to figure out what that means!) and the brand-new study by Scott Rosenberg, "Dreaming in Code."

We will be collaborating with the Kennedy Day School at St. Franciscan's Hospital (in Brighton, MA). Children at this school have long-term motor and/or cognitive disabilities. Some kids can only press one button, using a switch panel mounted near their head. Other kids might be able to actuate more buttons, but can't press them exactly when they want to. Try to think of games that would be fun but achievable for someone with these disabilities!

We'll be learning lots more about the kids as we undertake the game designs. You will have an opportunity to meet the kids in December; instead of a final, we will all meet at the school for a game faire.

We will use contemporary technology in the class, including Java 1.5, Ant (an automated build tool, similar to makefile), JUnit (a testing framework) and source-code control.

If you don't know Java, don't worry! We have a special arrangement to use the new "iJava" web-based, interactive learning system developed by Robert Moll at UMass Amherst.

To summarize, in this class you will:

use Java to create a significant software project (an interactive game) that will be used by disabled children at St. Franciscan's hospital.

understand and personally relate to key principles of software engineering and design processes (e.g., what is the "factory" design pattern; what is the second-system effect?).