Project Three

Design Due 10 June Program Due 15 June

Intro:

This is a race. Up till now, we have written programs whose sole criterion for success is that it works. Today, we are going to add another criterion, that it work well. I am going to give you a task, and you will be graded first of all, on whether or not you get the task accomplished. Then, extra credit will given for those programs that complete the task in the least amount of time.

Details:
You are going to write a program that is capable of sorting an array of random integers. There are several well known sorting algorithms ( if you don't want to come up with your own ). Shell sort, selection sort, bubble sort, merge sort, quick sort, and counting sort. You can come up with your own idea or use one of these. Here are some other details that might be of interest to you.

Grading Criteria
This program is worth 75 points. The largest amount of points a non compiling program can earn is 25 points. From this total, 2 points per error will be deducted until no more errors are found or there are no points left.

Style is very important. All variables should have useful names, all lines of code should be indented, and there should be comments about once every 5-10 lines. Each violation is subject to a 2 point deduction to a maximum of 26 points.

For each functionality listed above that is not completed, a maximum 8 point penalty will apply.

The design document will be worth 40 points. 20 points for style ( make yours look like mine as much as possible ) and 20 points for being mostly correct. Your design document need not match your final homework result. This is just a means of getting you thinking about your program.