Feb. 28 note: changes made to project description in italic

Six archaeologists set out to eat an elephant called Eclipse

a.k.a. EE 564 midterm project: Comprehending Eclipse Design (30%, Feb. 14 to Mar. 12)

part 1: exploration (10%)

Recover the design of certain eclipse features. Below are some candidates that you may choose from:

part 2: feature evolution (10%)

Eclipse has gone through several major and minor revisions. Now that you have recovered the design for the features you chose, download early versions and compare how the design has been changed since then.

part 3: design evaluation (5%)

The evaluation is open ended. For example, you may look at classes that are data abstractions and type hierarchies, or how exceptions are used. Are they used according to the principles we learned in class? You may also evaluate the quality of the JavaDoc from the standpoint of specifications and suggest ways of improvements.

Notes:
(1) Since it is likely to be time consuming to explore others' code, it is critical to work with me, as soon as possible, to choose the specific eclipse feature(s) that you want to study. Email me your choice by Monday, Feb. 19.
(2) You are strongly encouraged to discuss with me any problem you encounter in the process so that I can appreciate the nature of your problem (and consequently, evaluate your work fairly) and offer timely assistance or advice.
(3) The success of parts 2 and 3 depend on that of part 1. In other words, if you failed on part 1, you would not succeed on parts 2 and 3.

Deliverables:

1. Presentation (5%, Mar. 5, 25 minutes each, with 20 for presentation and 5 for discussions)
    The goal of this presentation is to provide me with an opportunity to assess your work so that you can address any potential issue before turning in your final report.

Patty  11:00-11:24
Tao   11:25-11:49
Mike 11:50-12:14
Chandan 12:15-12:39
Dave 12:40-1:05

2. Final report (due Mar. 12 in class)
In addition to the above three parts, your report should also include
(1) a list of packages and classes that you have read and a simple statistics of the lines of code for the classes.
(2) for the design you explored, the classes and interfaces (seeds) that a newcomer would/should look at first to investigate the design.
(3) a brief summary of lessons learnt from this project: what works well and what does not.

Evaluation

Your final mark will be based on efforts (relative to your peers, based on my judgment) and insights.