Recent Changes - Search:
ECG Home

GitHub

People

Publications

Calendar

Projects

Fall 2017

Older Courses

Spring 2017

Fall 2016

Spring 2016

Fall 2015

Spring 2015

Fall 2014

Spring 2014

Fall 2013

Spring 2013

Fall 2012

Spring 2012

Fall 2011

Spring 2011

Fall 2010

Spring 2010

Fall 2009

Spring 2009

Fall 2008

Spring 2008

Fall 2007

HOWTOs

edit SideBar

SoftwareEngineeringFall2007

SoftwareEngineeringFall2007.SoftwareEngineeringFall2007 History

Hide minor edits - Show changes to markup

Changed lines 6-12 from:

Announcements

  • FRED IS BACK FROM JAPAN! We will have class on Dec 12!
  • Please post your latest game prototypes and be prepared to describe changes you will make before our visit to the Kennedy School next week.

to:
Deleted line 5:
Changed lines 8-9 from:
  • 2:30 to 4:30 Dec 6 Sustainability Showcase
to:
  • FRED IS BACK FROM JAPAN! We will have class on Dec 12!
  • Please post your latest game prototypes and be prepared to describe changes you will make before our visit to the Kennedy School next week.
Added lines 12-14:
Changed line 6 from:
to:
Changed line 6 from:
to:
Changed line 1 from:

Assignments Discussion Group Prototypes\\

to:
Changed lines 4-5 from:
to:
November 02, 2007, at 02:03 PM by 129.63.16.169 -
Changed line 1 from:

Assignments Discussion Group \\

to:

Assignments Discussion Group Prototypes\\

Changed line 7 from:
  • Assignment 11 is posted. Due Wednesday. If you didnt do it, do it for friday. Dont worry, its easy.
to:
  • 2:30 to 4:30 Dec 6 Sustainability Showcase
Changed line 7 from:
to:
  • Assignment 11 is posted. Due Wednesday. If you didnt do it, do it for friday. Dont worry, its easy.
Changed line 7 from:
to:
Changed lines 7-11 from:
  • Assignment 5 is posted.
  • Register for Software Design Best Practices by September 12!! Please use UMass Lowell Computer Science as the company name. There is an option for a free expo pass -- choose it :-) FYI, the main page for the conference is http://sdexpo.com.
  • Join the new Google Group for the class -- scroll to bottom of this page for info.
to:
September 18, 2007, at 11:53 PM by Jonah Choquette -
Changed lines 7-8 from:
to:
Changed lines 3-4 from:

Lecture Blog Game Links [Game Taxonomy]]

to:
Changed line 1 from:
to:

Assignments Discussion Group \\

Changed lines 3-4 from:

LectureBlog GameLinks Discussion Group

to:

Lecture Blog Game Links [Game Taxonomy]]

Changed lines 51-52 from:

There will be other readings, including essays published on the web and material photocopied from out-of-print books. The latter will be handed out in class. The current reading assignment is always here.

to:

There will be other readings, including essays published on the web and material photocopied from out-of-print books. The latter will be handed out in class. The current reading assignment is always here.

Changed lines 3-4 from:

LectureBlog GameLinks SWEng Discussion Group

to:

LectureBlog GameLinks Discussion Group

September 14, 2007, at 01:10 AM by Fred Martin - unlinked separate reading and implementation assignment pages
Changed line 1 from:
to:
Changed lines 3-4 from:

LectureBlog GameLinks Google Group

to:

LectureBlog GameLinks SWEng Discussion Group

Changed lines 7-8 from:
to:
Changed lines 3-4 from:
to:

LectureBlog GameLinks Google Group

September 13, 2007, at 12:56 AM by Fred Martin - added GameLinks
Changed lines 3-4 from:
to:
Changed lines 7-8 from:
to:
September 09, 2007, at 05:32 PM by Fred Martin - added SD and Group announce
Added lines 5-12:

Announcements

  • Register for Software Design Best Practices by September 12!! Please use UMass Lowell Computer Science as the company name. There is an option for a free expo pass -- choose it :-) FYI, the main page for the conference is http://sdexpo.com.
  • Join the new Google Group for the class -- scroll to bottom of this page for info.

September 09, 2007, at 05:16 PM by Fred Martin - added Google Group
Added lines 78-112:

Discussion Group / E-Mail List

We will use Google Groups for class conversation and announcements. Please join this group. I'd advise setting it to send email to you directly.

(:html:) <table style="border:1px solid #aa0033; font-size:small" align=center>

  <tr>
    <td rowspan=3>
     <img src="http://groups.google.com/groups/img/groups_medium.gifGoogle Groups">
    </td>
    <td colspan=2 align=center><b>Subscribe to 91411-f07</b></td>
  </tr>
  <form action="http://groups.google.com/group/91411-f07/boxsubscribe">
  <tr> 
    <td>Email: <input type=text name=email></td>
    <td>
      <table 
       style="background-color:#ffcc33;padding:2px;border:2px outset #ffcc33;">
      <tr>
        <td>
         <input type=submit name="sub" value="Request">
        </td>
      </tr>
      </table>
    </td>
  </tr>
   </form>
  <tr><td colspan=2 align=center>
   <a href="http://groups.google.com/group/91411-f07">Browse Archives</a> at <a href="http://groups.google.com/">groups.google.com</a>
  </td></tr>

</table> (:htmlend:)

The group address is 91411-f07@googlegroups.com. You have to be a member to send to the list.

September 05, 2007, at 12:06 AM by Fred Martin - added goal, removed textual emails
Changed lines 6-9 from:

Prof. Fred Martin
fredm@cs.uml.edu
Olsen 208
\\

to:
Prof. Fred MartinTA: Joel Michel
Added line 14:
September 04, 2007, at 11:59 PM by Fred Martin - added schedule info to deliverables
Changed lines 48-54 from:
  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading. The purpose of this assignment is to bring everyone up to speed with writing Java code, using build and source code management tools, and also working through particular implementation issues (e.g., sound, threading) before the main project.
  2. Accessible game concept video presentation. This is a 3- to 5-minute long movie (e.g., Quicktime, MPG, or DVD video) that demonstrates your game concept. You will probably wish to build a prototype of your game (using Game Maker) and record the game play. The main purpose of this video is to present the concept to the faculty and staff at the Kennedy Day School for feedback before you go off and implement the game.
  3. Prototype implementation of your game. This is a half-way there implementation of your game, which will be used by children at the Kennedy Day School. The idea is that you should have a significant deliverable before the end of the semester, which requires that you make choices about what's most important, and have an opportunity to have user feedback help focus the final work.
  4. Final implementation of your game. This implementation will be due during finals week. This is an opportunity to refactor your code using design patterns you have learned in class. We will also do in-class reviews of code and UML block diagrams of your internal designs. You will personally visit the Kennedy Day school and see students using your game.
  5. Game documentation. This includes having your code on the course source code control server, and turning in specific documentation on the game's design.
  6. Reading reflections. Short, 1-page essays on the assigned readings will be a regular event.
to:
  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading. The purpose of this assignment is to bring everyone up to speed with writing Java code, using build and source code management tools, and also working through particular implementation issues (e.g., sound, threading) before the main project. 3 weeks.
  2. Accessible game concept video presentation. This is a 3- to 5-minute long movie (e.g., Quicktime, MPG, or DVD video) that demonstrates your game concept. You will probably wish to build a prototype of your game (using Game Maker) and record the game play. The main purpose of this video is to present the concept to the faculty and staff at the Kennedy Day School for feedback before you go off and implement the game. 3 weeks.
  3. Prototype implementation of your game. This is a partial implementation of your game in which you will make sure core functionality is operational. This release will be used by children at the Kennedy Day School while you work on a final version. This deliverable requires that you make choices about what's most important, and provides an opportunity to have user feedback to help focus the final work. 4 weeks.
  4. Final implementation of your game. This implementation will be due during finals week. This is an opportunity to refactor your code using design patterns you have learned in class. We will also do in-class reviews of code and UML block diagrams of your internal designs. You will personally visit the Kennedy Day school and see students using your game. 4 weeks.
  5. Game documentation. This includes having your code on the course source code control server, and turning in specific documentation on the game's design. Each are due 1 week before game releases.
  6. Reading reflections. Short, 1-page essays on the assigned readings will be a regular event. Weekly.
  7. Mid-term. Precise placement in semester TBD.
Changed lines 73-75 from:
to:

We will use a course Wiki for each team to post its game releases.

September 04, 2007, at 11:47 PM by Fred Martin - added collaboration, grade breakdowns, build tech
Changed line 51 from:
  1. Final implementation of your game. This implementation will be due during finals week. You will personally visit the Kennedy Day school and see students using your game.
to:
  1. Final implementation of your game. This implementation will be due during finals week. This is an opportunity to refactor your code using design patterns you have learned in class. We will also do in-class reviews of code and UML block diagrams of your internal designs. You will personally visit the Kennedy Day school and see students using your game.
Added lines 55-66:

Build Technology

You are free to use your choice of development tools. I will probably demonstrate most stuff typing at the Unix console. Most people seem to like Eclipse.

There will be a CVS or SVN server set up for course use. Instruction on using this will be made available. By the 3rd week all code should live on the server.

Collaboration

Some work will be done individually and other work will be done in pairs.

For project work, teams will be responsible for conceiving work in such a fashion that each person is responsible for a separable portion of the project. A clear division of work, with an API between each person's portion, will be spec'ed out before substantial implementation is undertaken. Students will be responsible for implementing their portion of work as originally agreed. If the design changes dramatically, so that the original definition is no longer applicable, this should be documented and reported as soon as it become apparent.

Added lines 69-77:

The following schedule will be used in determining course grades:

20%Accessible game concept presentation
20%Prototype game implementation + associated documentation
20%Final game implementation + associated documentation
20%Reading reflections + class participation
20%Midterm examination
Changed lines 38-39 from:
This is a landmark book on software engineering, written by a person who was part of the IBM System/360 mainframe project in the 1960s. It was updated 20 years later. The book gets more and more relevant as the years pass, because its core thesis remains true, even as technology advances: adding more people to a late software project makes it even later!!This is a recent study of the design process of Mitch Kapor's Chandler Project, an open-source personal information management system. It's a modern take on what makes software development hard.
to:
This is a landmark book on software engineering. It was written in 1975, but it's based on the experiences of lead designer of the IBM System/360 mainframe project in the 1960s. It was updated 20 years later. The book gets more and more relevant as the years pass, because its core thesis remains true, even as technology advances: adding more people to a late software project makes it even later!!This is a recent study of the design process of Mitch Kapor's Chandler Project, an open-source personal information management system. It's a modern take on what makes software development hard.
September 03, 2007, at 01:54 PM by Fred Martin - moved nav links to top; added iJava link
Added lines 1-3:
Deleted lines 14-17:
September 03, 2007, at 01:49 PM by Fred Martin - added explanation to proof-of-concept applet
Changed line 50 from:
  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading.
to:
  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading. The purpose of this assignment is to bring everyone up to speed with writing Java code, using build and source code management tools, and also working through particular implementation issues (e.g., sound, threading) before the main project.
September 03, 2007, at 01:46 PM by Fred Martin - added unassigned readings page
Changed lines 14-15 from:
to:
Changed lines 29-30 from:

On the other hand you have courses that are more representative of life in the unstructured real-world, where every project is indeed different. As described by Diane Pozefsky in her Software Engineering Laboratory at UNC, this course is a ’faculty-coached team project.“ Student teams in this type of class might each have a different client and be working with wholly different software technologies.

to:

On the other hand you have courses that are more representative of life in the unstructured real-world, where every project is indeed different. As described by Diane Pozefsky in her Software Engineering Laboratory at UNC, this course is a “faculty-coached team project.” Student teams in this type of class might each have a different client and be working with wholly different software technologies.

Changed lines 29-30 from:

On the other hand you have courses that are more representative of life in the unstructured real-world, where every project is indeed different. As described by Diane Pozefsky in her Software Engineering Laboratory at UNC, this course is a ’faculty-coached team project.“ Student teams in this type of class might each have a different client and be working with wholly different software technologies.

to:

On the other hand you have courses that are more representative of life in the unstructured real-world, where every project is indeed different. As described by Diane Pozefsky in her Software Engineering Laboratory at UNC, this course is a ’faculty-coached team project.“ Student teams in this type of class might each have a different client and be working with wholly different software technologies.

September 03, 2007, at 04:24 AM by Fred Martin - added discussion of types of SWEng courses
Added lines 26-32:

A Bit More...

To generalize, there are two types of software engineering classes: one in which everyone builds the same thing, and one in which everyone builds something different. The former is good because it lets instructors focus in on specific and particular theoretical material. Instructors know exactly what problems you will be encountering as you write code, because they have created the design challenges expressly to expose certain ideas! A great example of this type of class is MIT's course 6.170, Laboratory in Software Engineering.

On the other hand you have courses that are more representative of life in the unstructured real-world, where every project is indeed different. As described by Diane Pozefsky in her Software Engineering Laboratory at UNC, this course is a ’faculty-coached team project.“ Student teams in this type of class might each have a different client and be working with wholly different software technologies.

Here, we will take a middle ground. Primarily, we will have project implementation as the heart of the class. But we will all be working on the same sort of project (videogames for children with multiple disabilities), and we will all be using the same technologies (e.g., Java 1.5).

Changed lines 33-34 from:

There will be other readings, including essays published on the web and material photocopied from out-of-print books. The latter will be handed out in class.

to:

There will be other readings, including essays published on the web and material photocopied from out-of-print books. The latter will be handed out in class. The current reading assignment is always here.

September 03, 2007, at 04:10 AM by Fred Martin - revised reading description a bit
Changed lines 27-28 from:

We will use two required books and an assortment of readings that will not require purchase. The required books are ordered and available at the UML North Bookstore. Please buy them there to make sure you have them right away:

to:

We will use two required books. They are ordered and available now at the UML North Bookstore. Please buy them there to make sure you have them right away:

Added lines 33-34:

There will be other readings, including essays published on the web and material photocopied from out-of-print books. The latter will be handed out in class.

September 03, 2007, at 03:43 AM by Fred Martin - started grading section
Changed lines 47-48 from:
to:

Grading

This course does not have an objective external standard (i.e., curriculum) with respect to which student performance will be measured. Instead, I expect that students will enter the course with different backgrounds and abilities, and I am interested in seeing how you challenge yourself and grow rather than where you end up.

September 03, 2007, at 03:39 AM by Fred Martin - finished overview section for now
Changed lines 20-23 from:

From a technical perspective, we will discuss requirements elicitation, agile design, the role of documentation,

to:

From a technical perspective, we will:

  • Discuss requirements elicitation, agile design, the role of documentation, design patterns, test-driven development, the second-system effect, and the role of community / peer-pressure in sotware design.
  • Use the Java 1.5 release and create game applets that can be played by anyone with a web browser and internet connection, employing multi-threaded, event-based programming.
  • Work with source code control and JUnit test frameworks.
September 03, 2007, at 03:07 AM by Fred Martin - working on overview section
Changed lines 16-17 from:

In this

to:

In this course, we will learn about software engineering by creating a significant piece of software—video games that are playable and enjoyable for children with multiple disabilities. We will learn how to design software by reading case studies of large software design projects, considering theory of well-designed software, and reflecting on the design process as our own projects are underway.

To help in framing the challenge of creating software for children with multiple disabilities, we will be visited by Bonnie Paulino, Principal at the Kennedy Day School at the St. Franciscan's Hospital in Brighton, MA. Bonnie has been using computer technology with disabled children for more than 25 years and is a caring expert in the field. Your videogame programs will be used by students at her school.

From a technical perspective, we will discuss requirements elicitation, agile design, the role of documentation,

Changed lines 42-45 from:
to:
  1. Game documentation. This includes having your code on the course source code control server, and turning in specific documentation on the game's design.
  2. Reading reflections. Short, 1-page essays on the assigned readings will be a regular event.
September 03, 2007, at 02:50 AM by Fred Martin - added deliverables
Changed lines 12-14 from:
to:
Changed lines 32-34 from:
  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading.
  2. Accessible game concept video presentation. This is a 3- to 5-minute long movie (e.g., Quicktime, MPG, or DVD video) that demonstrates your game concept. You will probably wish to build a prototype of your game (using Game Maker) and record the game play. The main purpose of this video is to present the concept to the faculty and staff at the Kennedy Day School for feedback before you go off and implement the game.
to:
  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading.
  2. Accessible game concept video presentation. This is a 3- to 5-minute long movie (e.g., Quicktime, MPG, or DVD video) that demonstrates your game concept. You will probably wish to build a prototype of your game (using Game Maker) and record the game play. The main purpose of this video is to present the concept to the faculty and staff at the Kennedy Day School for feedback before you go off and implement the game.
  3. Prototype implementation of your game. This is a half-way there implementation of your game, which will be used by children at the Kennedy Day School. The idea is that you should have a significant deliverable before the end of the semester, which requires that you make choices about what's most important, and have an opportunity to have user feedback help focus the final work.
  4. Final implementation of your game. This implementation will be due during finals week. You will personally visit the Kennedy Day school and see students using your game.
September 03, 2007, at 02:46 AM by Fred Martin - working on deliverables section
Added lines 15-17:

Overview

In this

Changed lines 25-34 from:
to:

Deliverables

This is a project-driven course with a reading component. Discussion, writings, and other reflections on the readings will illuminate your design process as you are engaged in your own software development.

Therefore the projects themselves and the readings/reflections are both important.

The specific deliverables you will be responsible for are:

  1. Game tech proof-of-concept Java applet. This must run in a browser window using a Java 1.5 JRE, and demonstrate use of motion, sounds, keyboard input, and threading.
  2. Accessible game concept video presentation. This is a 3- to 5-minute long movie (e.g., Quicktime, MPG, or DVD video) that demonstrates your game concept. You will probably wish to build a prototype of your game (using Game Maker) and record the game play. The main purpose of this video is to present the concept to the faculty and staff at the Kennedy Day School for feedback before you go off and implement the game.
September 03, 2007, at 02:28 AM by Fred Martin - finished table of books
Changed line 18 from:
to:
Changed lines 20-22 from:
to:
This is a landmark book on software engineering, written by a person who was part of the IBM System/360 mainframe project in the 1960s. It was updated 20 years later. The book gets more and more relevant as the years pass, because its core thesis remains true, even as technology advances: adding more people to a late software project makes it even later!!This is a recent study of the design process of Mitch Kapor's Chandler Project, an open-source personal information management system. It's a modern take on what makes software development hard.
September 03, 2007, at 02:22 AM by Fred Martin - got table of books
Changed lines 16-22 from:

We will use two required books and an assortment of readings that will not require purchase.

The texts are ordered and available at the UML North Bookstore. Please buy them there to make sure you have them right away:

The Mythical Man-Month, 20th Anniversary Edition (1995)
Frederick P. Brooks
Dreaming in Code (2007) \\\
to:

We will use two required books and an assortment of readings that will not require purchase. The required books are ordered and available at the UML North Bookstore. Please buy them there to make sure you have them right away:

The Mythical Man-Month, 20th Anniversary Edition (1995)
Frederick P. Brooks
Dreaming in Code (2007)
Scott Rosenberg
Changed line 21 from:
The Mythical Man-Month, 20th Anniversary Edition (1995) \\ Frederick P. Brooks \\ \
to:
The Mythical Man-Month, 20th Anniversary Edition (1995)
Frederick P. Brooks
\
Changed lines 21-23 from:
The Mythical Man-Month, 20th Anniversary Edition (1995)

Frederick P. Brooks

\
to:
The Mythical Man-Month, 20th Anniversary Edition (1995) \\ Frederick P. Brooks \\ \
Changed line 23 from:

mythical.jpg || \

to:

| \
Changed lines 13-27 from:
to:

Reading Assignments

Required Books

We will use two required books and an assortment of readings that will not require purchase.

The texts are ordered and available at the UML North Bookstore. Please buy them there to make sure you have them right away:

The Mythical Man-Month, 20th Anniversary Edition (1995)

Frederick P. Brooks

mythical.jpg
Dreaming in Code (2007)

Changed lines 10-11 from:
to:


Changed line 7 from:
to:

\\

Changed lines 4-10 from:

Prof. Fred Martin fredm@cs.uml.edu Olsen 208

MWF, 9:30 am - 10:20 am location TBA

to:

Prof. Fred Martin
fredm@cs.uml.edu
Olsen 208
MWF, 9:30 am - 10:20 am
location TBA

Changed lines 4-12 from:

This is a place-holder.

to:

Prof. Fred Martin fredm@cs.uml.edu Olsen 208

MWF, 9:30 am - 10:20 am location TBA

Course Advertisement

Added lines 1-4:

91.411 Software Engineering

Fall 2007

This is a place-holder.

Edit - History - Print - Recent Changes - Search
Page last modified on January 30, 2008, at 02:44 AM