CS735/CS835
Programming Assignment 4
(proposal due via e-mail on Wed Nov 14 - no late proposals allowed)
(final submission due Sun Dec 9)


This assignment is student-designed. Solve a problem you are interested in, by writing a parallel or distributed program. Run the program on multiple processors. Evaluate the performance of the program.

You can use Java threads, Java RMI, another programming language or library that we studied in class (POSIX threads, MPI, PM2, Hyperion, JavaSpaces), or a language or library that you learn about on your own. In the latter case you might want to coordinate this assignment with what you choose to do for your Literature Survey project.

The problem can be anything that you are interested in. It might be something that you learned about in another class or from a job. (Students who are concurrently taking Computer Graphics might want to talk to Prof. Bergeron about possibilities, including the possibility of combining assignments from the two courses.) If you don't have any ideas, then talk to me and I will make some suggestions.

You must send me a proposal via e-mail for what you plan to do no later than Wednesday November 14. The proposal should describe the problem to be solved, what language/library you will use, what hardware you will use, and what you hope to learn by doing the assignment.

The proposal should also include a description of goals for the final submission. These goals must be very concrete and must include explicit criteria for measuring your success at accomplishing the goals. The goals should be specified in terms of awarding points for subgoals accomplished. The success criteria should be objective and clearly defined. Usually this will mean that some component of your project will be coded, tested and evaluated. This evaluation step is important. Be sure to give some thought as to how you will be evaluating the results of your program. Also consider how the quality of that evaluation should be judged.

You are encouraged to talk to me prior to submitting your proposal. However, everyone must submit a proposal, even if you have already obtained my verbal approval.

The final submission should be electronic using the "submit" mechanism that we used for the other assignments. As before, place your findings in the "flat" Ascii file named FINAL-REPORT. (Please no files in Postscript, PDF, Microsoft WORD, etc.) Also document in this report the basic design of your program and clearly indicate what level (which proposal goals) of the assignment you have obtained. Of course, also submit your source code.

Submitting your assignment: To receive full credit for the assignment, you must turn in your files prior to 8am on Monday December 10. Late submissions will be accepted at the penalty of 5 points per day up to one week late. To turn in this assignment, type (on lava.cs.unh.edu)

   ~cs735/bin/submit prog4 FINAL-REPORT 

NOTE: You must submit your assignment for grading from lava.cs.unh.edu.

Submissions can be checked using ~cs735/bin/scheck. For example, to check your assignment:

    ~cs735/bin/scheck prog4
The scheck program can only be executed on lava.cs.unh.edu.

Remember: as always you are expected to do your own work on this assignment.

Also: you should adequately document and structure your programs.

And: take care with the writing of your report. Use complete sentences, proper punctuation, etc. Use a spell checker. Most importantly, allocate some time for writing your report. Review and revise as necessary.


Last modified on September 4, 2001.

Comments and questions should be directed to pjh@cs.unh.edu