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.