CSE503 Assignment #1 (Spring 2000)

This assignment is due on Monday April 24, 2000.

  1. A flexible Java applet clock can be found at http://www.geocities.com/SiliconValley/Way/6645/javaclock.html.  Study the source code (this shouldn't be too hard even if you don't have experience with Java).
    1. (30 points) In roughly a page of text, critique the design of this applet with respect to its use of information hiding: for example, what changes were anticipated and what secrets were hidden?
    2. (50 points) Identify the different aspects (in the aspect-oriented programming sense) of the code (for instance, thread code is one aspect). Using highlighters or some similar mechanism, actually mark up a hardcopy of the source code that separates the code in these different aspects.
    3. (10 points) Determine the rough percentages of code that comprise each of these aspects.
    4. (50 points) Download AspectJ (http://aspectj.org); see if you can use AspectJ to separate any of these aspects out for this applet. If you cannot, describe with some care why you couldn't.
  2. (40 points) The paper by Walter Tichy that I handed out focused on issues in evaluating research.  In no more than a page, provide a clear discussion of what are effective ways of evaluating the benefits and costs of a software design technique (such as information hiding, open implementation, design patterns, etc.).