CSE 132 (Spring 2015)
Lab 2b: KWIC Index with GUI


This is a continuation of Lab 2a, in which you should already pass the unit test for KWIC. Here you will develop a simple GUI using WindowBuilder.

Designing your GUI

You should spend a few minutes brainstorming and thinking about the appearance of your GUI. What functionality should it provide? In design, there are rarely absolutely right or wrong approaches, but approaches can be evaluated based on their advantages and disadvantages.

Generally, design can be an iterative process in which a given approach is prototyped, evaluated, and improved.

As a point of reference, we provide a (let's go with: "straightforward") GUI just to give you an idea of what can be done straightforwardly.

I know you can do better.

Developing your GUI

OK, we can do this the hard way or the easy way. Or the medium way. Or the semi-medium-easy-hard way. Or the sort of hard with a touch of awkward-easy-difficult-challenging way.:

The hard way
You can write a bunch of swing code by hand that will instantiate the visual components you want and lay them out in the way you want to see them.

We estimate this might take you a good 15 hours of work to get something you really like. It's likely that in 7 hours of work you could get something you could turn in without too much loss of pride. However....

The easy way
Most people use design tools to design GUIs these days, so why not you? The WindowBuilder GUI Builder can help you do that, and it should take most of the hassle out of building the GUI.

Development notes

The above ideas are based on a brief excursion into GUI building. If you find better, more convenient, or clearer ways of dealing with the swing components via WindowBuilder, please share them via piazza.

Submitting your work

Commit your work as usual and make sure you demo and are recorded on below. The TAs will examine and grade your Lab 2 code and decide on contest winner(s).

Grading rubric

Use the rubric below to self assess your work on this lab. The final grade will be assigned when the TAs gather to grade the labs and choose contest winner(s).

Bare minimum: loads KWIC, gets all phrases associated with a word
B- to B+
Additional functionality but not complete
Full functionality, can add/delete words and phrases, possibly force associations between words and phrases
A to A+
Anything additional, this will ultimately be subject to TA discretion


When you done with this studio, you must be cleared by the TA to receive credit.

Features (TA, verify!): bare minimum Loads KWIC, gets all phrases associated with a word
mostly Additional functionality but not everything
everything Can add/delete words and phrases
additional stuff Can also force and drop associations
Does this merit consideration for the contest? Contest entry?
Last name WUSTL Key Propagate?
(or your numeric ID) Do not propagate
e.g. Smith j.smith
1 Copy from 1 to all others
2 Copy from 2 to all others

TA: Make sure they commit their code before you sign them out!

TA: Password:

Last modified 08:53:59 CST 25 February 2015 by Ron K. Cytron