- Program Correctness (75%):

- The binarySearch function correctly
locates keys that are in the middle of the
data set and returns the appropriate
index.
- The binarySearch function correctly returns -1 if a key
is not in the data set
- The binarySearch function correctly handles the following
boundary condition cases:

- The requested key is the first key in the data set
- The requested key is the last key in the data set
- The requested key is less than any key in the data set
- The requested key is greater than any key in the data set

- Commenting (10%): See the commenting
information
on the course's lab web page for advice on how to comment your programs,

- Program Style (15%): Are the programs well-organized and do they
solve the problem in the most straightforward, efficient way possible?

## Grading Guide for Optional Quicksort

- Program Correctness (20 points)

- The quicksort program correctly sorts an arbitrary array of
numbers
- The quicksort program correctly handles the following unusual
cases:

- The array has a single number
- The array starts in sorted ascending order
- The array starts in sorted descending order

- Commenting and Program Organization (5 points): Is the function well
commented and well-organized?