Welcome to Software Engineering in Java at Olin College, Spring 2011.


Allen Downey and Mark Sheldon.  


The class meets Tuesday and Friday from 9am to 10:40 in AC318.
Here is the class mailing list.


  • Intermediate Java programming: if you know Java already, great.  If you know another language, you will have a chance to pick up Java.
  • Design patterns: solutions to recurring software challenges.
  • Software engineering tools including Eclipse, Subversion, JUnit and JavaDoc.
  • Software engineering practice, including pair programming and agile development.
  • Frameworks for distributed computing, including Google's AppEngine for web applications and Hadoop for parallel computation.


We will be using Head First Java and Head First Design Patterns.  If you already know Java, you might not need Head First Java, or you might prefer a different Java book.

These books exceed the 500-page limit I suggested in my Textbook Manifesto, but they have a lot of pictures, so I am cutting them some slack.  Also, they are reasonably priced.


This is an experimental course, so we will be making some things up as we go along.  But there will probably be:
  • Homework
  • Quizzes
  • Exams: Feb 15, Mar 29, finals week.
  • Project
We will start the semester with a warm-up project, and then the major project will be a search engine that includes a web front end, a back end with a database, an indexer that uses Hadoop MapReduce , and a code parser of some kind.
Subpages (1): Review