CS 3291 (Java with Internet Applications):
Projects
Requirements
The objective of a project for this course is the completion of
a non-trivial Java application or applet, to perform a task of
the student's choosing. Specific criteria are as follows:
- The project must be approved by me (see "Project proposal"
below).
- The project must involve writing a non-trivial amount of
Java code, which must be your own work.
The project may include code from published sources
(books, Web sites, etc.), but it must also include
a non-trivial amount of original code you wrote.
- The total work involved in the project must be consistent
with the amount of credit you expect to receive
for it. If you turn in all of the optional homework, you
should plan to spend at least 33 hours total on the project;
if you turn in none of the optional homework, you should
plan to spend at least 50 hours total on the project.
What to turn in / milestones
Project proposal
- What:
- A short description of your project, explaining the
intended function of the application/applet you
plan to write and any research you think you will
need to do in addition to designing and writing code.
(For example, if you proposed to write a miniature
Web server -- quite possible in Java -- you would
need to research the HTTP protocol.)
It is probably wisest, for this proposal, to be
conservative and define the
minimum functionality your application/applet will
provide; you can always go beyond this minimum
functionality later, if time permits.
- When:
- No later than October 14.
- Contribution to total project grade:
- 5%
- Remarks:
- These proposals will be returned as soon as feasible, either
approved as is or with suggestions for changes.
Interim progress report
- What:
- A 5-minute oral presentation describing the status
of your project.
You do not need to prepare a formal presentation,
but you should plan to talk in an organized manner
for 5 minutes, using the whiteboard and/or the
classroom computer setup and/or transparencies.
- When:
- In class, November 9.
- Contribution to total project grade:
- 5%
Final oral presentation
- What:
- An oral presentation, up to 15 minutes, about your project.
In this presentation, you should:
- Demonstrate your application or applet, using the
classroom computer setup.
- Briefly discuss its design.
- Briefly discuss any non-Java topics you had to
research (e.g., to write a mini-Web server you
would have to research the HTTP protocol).
- Briefly discuss any unusual problems you
encountered during development.
- When:
- Either during the time slot
reserved for this course's final exam (8:30am to 11:30am
December 17), or during a class period.
By default, all presentations will be during the
final-exam time slot.
Let me know as soon as possible if you would prefer to
do your presentation during one of the class meetings.
- Contribution to total project grade:
- 20%.
Final written report
- What:
- A brief report (no more than 5 pages should be required)
describing your project's goals and outcome.
This should be an expanded version of your oral
presentation, with a description of your application/applet
in place of the demo.
It should include bibliographic references as appropriate.
(For example, if you researched the HTTP protocol,
you should say where.)
- When:
- Due November 30; accepted through December 14.
- Contribution to total project grade:
- 20%
Application/applet source code
- What:
- Complete working source code (.java and/or .html files)
for your application/applet, in
a machine-readable form that will allow me
to compile and execute it.
You could do any of the following:
- Make the code accessible via the Web and give me a URL.
- E-mail me the code.
- Put the code on a diskette.
Talk to me if none of these will work for you.
Your code should be readable and well-documented.
- When:
- Due November 30; accepted through December 14.
- Contribution to total project grade:
- 50%.