Suggestions

  • The project should be:
    • of real value, such as:
      • Fun things: Games, animations
      • Useful things: Simulations, editors, scientific visualizations
      • Resume items: Novel Web service
    • substantial
      • approximately 5K - 10K lines of code
      • approximately 25 key concepts: the idea is to have many classes, so the object-oriented design and analysis is non-trivial.  There is no need for the project to be algorithmically complex.
      • intuitive user interface
  • Choose something that:
    • has many concepts (that map into classes), but that is algorithmically simple.  The emphasis is on a clear object-oriented design that is as simple as it can be, given the complexity of the interacting concepts you are modeling.
    • is extensible and collapsible.
  • Open source contributions are great:
    • Apache James (Java mail enterprise server): A spam filter plug-in
    • A new Ant task or set of related Ant tasks
    • Ant script management GUI (including an undo capability)
    • An Eclipse plug-in
  • Here is a list of project suggestions compiled, as far as I know, by Anurag Acharya in the Spring quarter of 1998, which may have been modified by Mike Costanzo.
  • For netgames, I suggest that you look at 2 commercial sites for ideas (simplifications of these games, for example):
  • Other applications of possible interest include:
    • business/database
    • media
    • scientific
    • engineering
    • mathematical
    • computer science
  • Here is some brief project descriptions from Winter 2005
    • Networked games
      • 3D Networked Shooter
      • Texas Hold'em Poker
      • Casino, but different than other casinos
      • Sim City style game
      • 3D Space Game
      • Monopoly Parody
    • Service
      • EJB based CDDB Server
      • PIMP, the J2EE Personal Information Management Program
      • GOLD Replacement
      • DeC++ File Sharing Client