Assignments Discussion Group Course Advertisement Lecture Blog Design Patterns SVN Server Flex

91.411 Software Engineering I is being offered this spring, after a 1.5 year hiatus. The course will focus on the principles of software engineering with a project-based approach. This semester, we will collaborate with a Theater Design course and a school for disabled children, who will be clients for our software products. We will build Rich Internet Applications (RIAs) using Adobe Flex.

In addition to conceiving and carrying out original software projects, we will discuss fundamental principles of software design, with reference to the IEEE's Software Engineering Body of Knowledge. Readings include Fred Brooks' landmark "The Mythical Man-Month."

We will use contemporary technology in the class, including Adobe's Flex 3.0 (an object-oriented language similar to Java, but with easier to use media manipulation capabilities, and a strong client-server data exchange model), source code control, bug tracking, and unit testing.

We will have two collaborations during the class. First, we will work with the Theatrical Design course (59.386), developing software "toys" that allow students to experiment with virtual sets, lighting, costumes, and/or sound. Then, we will work 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 May; instead of a final, we will all meet at the school for a game faire.

To summarize, in this class you will:

  • use Flex to create significant software projects that will be used by liberal arts undergrads and disabled children.
  • 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?).
  • use industry-standard development and source code management tools.

The class meets MWF at 11:30 am. Please join us! To sign up, use the ISIS course ID 17638.

Fred Martin