Homework 8
Final Programs
In this assignment, you get to choose from a selection of programs. You are only required to do one of the following, but you may choose to complete a second program, and this second submission will be graded and can replace the grade on your lowest prior assignment.
Picture Project II
This assignment continues where the last picture project left off. You will again create a collage, but the set of picture manipulations to be added to your MyPicture class are move complex. The full description of this assignment may be found here.
Steganography Application
Steganography is the process of hiding a message in a Picture. (The same kind of thing could be done in an Audio file as well.) In this assignment you will create an application that allows a user to perform such an insertion or to perform the reverse, in order to retrieve a message already embedded in a Picture. The full description of this assignment may be found here.
The Performance of Sorting
For this assignment, you will implement at least three sorting algorithms. You may implement additional sorting algorithms for additional credit. The three that we have discussed in detail include the Bubble Sort, the Selection Sort, and the Insertion Sort. In addition to implementing the algorithms as class methods in an application, and allowing the user to select which file to use as input (in the form we have been using since our ReadArray example), and which sorting algorithm to use, you must make time measurements of your sorting algorithms. These will be used to collect a set of timed runs for various size input files and to use Excel or other means to graph the results.
Links to various size input files: input100.txt, input1000.txt, input10000.txt, and input100000.txt, input500000.txt.
Other Projects
You are welcome to define your own project if you wish. Your idea must be approved by myself. One idea occurred to me during the FASt Talk on Wednesday: Dr. Feil talked about a game named "Lights Out". Implementing this game in Java would be appropriate to your skill level, and you could use the Picture library to build a board and to use filled rectangles and filled circles to represent the locations on the 5x5 board.
Turn-in
Remember that all programs are expected to be well-commented, well-structured with appropriate use of methods to package sets of instructions, and to be readable.
Programs will be turned in by copying the Java source file to the Assignment Inbox area of the Shared Workspaces under the Instructor/Class-Section for this course. Please create a folder named Program8 and place your source files within that folder.
If you are submitting a second application to replace an earlier grade, create a folder named Replace in the Assignment Inbox and place your submission there.
