CSE 341 -- Assignment 5 -- Java Project
Project proposal due Nov 4.
Project electronic turnin due before lecture Nov 13.
Project report due in lecture Nov 16.
Write a cool java applet or standalone application, of your choosing. A
short written project proposal is due November 4 in class.
You may do your projects individually, or in groups of two or three.
If you are in a group, just turn in one proposal with all your names on it.
Proportionately more work will be expected from groups than individuals,
and more from a group of three than a group of two.
Your project must be written in Java. You may use any system you
wish; however, you must be able to demo your project in the NT lab.
Your project must take advantages of the special facilities provided by
Java. It may either be a standalone application, or an applet.
You should use good, object-oriented style in your program. This will
be considered when your project is evaluated.
The code should be primarily your own. If you base your code on existing
code (there are tons of applets out there), make sure you document this in
your project report.
Project Turnin
Proposal -- due Nov 4th
Turn in your project proposal in class on Nov. 4th. Your proposal
should be a relatively complete description of what your final
application will be.
Project -- due Nov 13th
The electronic turnin deadline for your project
is 10 minutes before the beginning of class on Nov 13th (that is
1:20pm). You will submit your project as normal:
turnin -v -c cse341 MyProject.java ...
Project Report -- due Nov 16th
On Nov 16th in class, you should turn in a report describing what your
project actually does. Describe how, if at all, it differs from your
proposal. Discuss the system design, in particular the classes you
implemented, their behaviors, and how they relate to each other. In this
discussion you should give reasons for your design decisions. Also mention
any existing Java code you built on.
Project Demos -- week of Nov 16th
You will have the opportunity to sign up for a project demo. A signup
sheet will be passed out in lecture on Nov 13th and you can pick a 10
minute time slot to demo your program.
Project Ideas
Here are a few suggestions for projects -- you can also do something quite
different of your own choosing.
- A WWW site navigator. This would display the links and allow
navigation. You don't need to produce Netscape Navigator or Internet
Explorer -- but some simpler functionality should be quite possible. (See
the Spring
1997 Java Project assignment for some suggestions on how to start on
this.)
- A web crawler of some sort. The WebWorm assignment was the kernel of a
web crawler -- rather than just printing out links, you could load the
linked pages, scan them for more links, and so forth. This could then be
used as data for some further analysis and display. For example, you could
draw a site graph for the web pages for a site. Or you could gather and
display statistics about link frequency, word count, or the like. A timely
project would be a web crawler that does some analysis of political web
sites for the upcoming elections. For example, how often do the different
sites link to sites on related issues? Do they ever link to the
opposition's site? How many occurrences of "motherhood and apple pie"
phrases, or of voter hot button phrases, are there in the different sites?
(If someone wants to get into this I have some friends in the Political
Science Department and we can get some suggestions of interesting things to
look for.)
- A game, either as an applet or a standalone application. An applet
would probably be more fun because then you could put it on your web page.
Various of the games in the text could form the basis for this, or you
could pick another game. (Alan would like to have a Red Dwarf theme
pinball game in particular.)
- A multiplayer game, allowing internet play.
- A really cool project from a previous quarter was a Logo interpreter
applet.
- Another cool project was a 3d maze exploration game.
- An algorithm animation applet - maybe one that brings your favorite
CSE326 data structures to life. Or a hardware animation applet for 378 fans.