Project Description

We all like pretty pictures. They are attractive and shiny and are excellent for showing people all the great work you can do. Fractals are doubly cool: they are pretty pictures that you can use to show off your 133t skillz. Plus, there is geeky, but kinda cool, music about it. As a gentle introduction to developing large scale systems, you will be developing a GUI system that can create, color, zoom around, and save fractals. Your program will need to include at least 3 different fractals:

Project Overview

To make this process easier, I have broken this project down into smaller, easier to complete milestones. Each team will complete the project iteratively milestone-by-milestone (this project is being implemented, in effect, using a poor facsimile of agile methods). While these milestones break up the work into more digestible pieces, it is important to remember the project continues until the end of the term. While writing code that works only for the current milestone may be quicker in the short-term, it will be much faster to think ahead and develop general solutions to the problems.

As you will be working in teams on this project, there are a few ground rules needed to help keep the teams flowing smoothly. All team members must contribute to each milestone and be responsible for all the work the team submits in each milestone (submissions will need to include signed statements to this effect). All team members will ordinarily receive the same grade for a milestone, any member who does not contribute substantially to a milestone risks receiving a grade of 0. To insure that everyone can contribute equally, teams cannot use outside tools to help develop their projects (e.g., a GUI building plug-in) unless they receive explicit permission from the instructor.

Example & Assignments