Projects


Overview

There will be exactly 4 projects. Each project will be based on the previous project(s), except the first one. These projects are primarily designed to help you to strengthen your concurrent and network programming skills as well as to give you a chance to practice software development as a team. Each project will introduce you new concepts in concurrent and network programming. In the last project, you will develop a real application that requires the most effort and the skills that you have acquired from earlier projects.

General Instructions

Your project report title page should have the following on it:

  • the class prefix and number,
  • the date,
  • your printed names (for all team members),
  • your signatures (for all team members),
  • the assignment number

Every report should include these sections:

  • project description - what it is you are doing
  • theory - what is supposed to be going on
  • materials and methods - describe what you used to do the project (including software and hardware, code you wrote, etc.)
  • experiment documentation - state exactly what you did and when (details sufficient that you or anyone else could exactly reproduce the experiment and get the same results, in so much as that is possible). This should include any testing with documentation of test cases.
  • observations and results - if an experiment, what did you see?
  • discussion - interpret and explain your observations and relate to theory
Project Submission

There is a directory called "/cise/class/cop5615/Fall99/submissions/" that should be accessible from any CISE machines (Solaris, IRIX and so on). You might even be able to access it from Windows NT machines in E309. Under this directory, each one of you will have your own, private directory to be used only for project submissions. Only you, the owner of this private directory, Dr.Nemo and the TAs will be able to access it. The name of your project submission directory will be your CISE login name plus your last name in the form

    your_CISE_login_name + "-" + your_last_name.
For example, "/cise/class/cop5615/Fall99/submissions/nemo-newman" if your login name is "nemo" and your lastname is "Newman".

Please do *not* develop your project in that directory or use it for any purposes other than the project submissions. If you do, we will not have enough space for the entire class; if, by any chances, your violation of this policy prevents some other student from being able to submit his/her project before the due date, you will be penalized for causing this inconvenience to your friends. Please be very considerate to your friends. Note that you may, and are encouraged to, use this private directory to store your most recent version of the project. This way, if you forget to submit your project before the deadline, you will have the latest version submitted automatically.

As long as the deadline is not passed, you will have access (reading/writing) to that directory. You can make any necessary changes that you want. Once the deadline is passed, the directory will not be accessible (reading/writing) for a brief period. This will allow us to collect all submitted projects. You will be able to access your directory to submit your late project once we have collected all projects from the project submission directory.

Development Tools

All projects will be developed in Java. The version of Java that we will use is JDK 1.2.2 (on Windows 95/98/NT or Solaris). The current Linux port (JDK 1.2 pre 2) is still buggy especially the network part. We recommend that you use either Windows or Solaris for the time being.

Resources

  • The directory called "/cise/class/cop5615/Fall99/projX/" for project X, where X=1,2,3,4, will contain additional info on each project and an FAQ.
  • Bruce Eckel, Thinking in Java, 1/e, Prentice Hall, 1998, 1152 pp., ISBN 0-13-659723-8, $39.95
  • The Java Tutorial (Sun) - You will find a good tutorial on Java here.
  • Thinking in Java, 2nd Edition - A great online book on Java.
  • Gamelan - Lots of Java related stuff.
  • alphaWorks (IBM) - Lots of cool programming stuff (Java, C/C++, Smalltalk).

If you have anything to share about projects and Java programming in general, please feel free to submit it to COP 5615 TAs. We'll post it right here in this section.