Assignment 5 -- Java Project 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.