MAS964 Problem Set 1

Implementation of MAS964 Problem Set 1, a simple Java viewer/parser. This code is really only my second Java program, so a lot of the idiom here is pretty ugly. But I think it runs right. Robustness of the parser was not a major goal.

0. I took this course because I've always been interested in design but have had very little experience with actually producing things. I want to bring a little bit of aesthetics into my boring world. I'm particularly interested in how computer programming languages can expand graphic design into new directions. Some folks whose work I've liked are Marius Watz and Sawad Brooks.

1. I have a solution to the main problem. It consists of several source files.

NelsonP1Normal.java
The applet itself - puts the components down in a GridBagLayout.
NelsonP1Canvas.java
An abstract superclass for a canvas that does most of the work of parsing the representation and rendering it.
NelsonP1CanvasNormal.java
A subclass of NelsonP1Canvas that implements the particular personality of rendering.

2. I also have a vaguely creative interpretation of the format. It's only 59 lines of code different from the normal solution. I ran out of time before I got too inventive. The main interesting thing for me was thinking about how the interfaces of the NelsonP1Canvas class parameterize the design space.

NelsonP1Crazy.java
The applet itself (same as the normal one, just instantiates a different canvas class).
NelsonP1CanvasCrazy.java
A different subclass of NelsonP1Canvas, implementing an alternate rendering personality.

Some data files

ps1.dat
Original input file.
ps1b.dat
Alternate input file.
pretty.dat
Input file that looks pretty with my second renderer.

Nelson Minar <nelson@media.mit.edu>
Last modified: Tue Feb 11 04:36:26 EST 1997