My program can automatically scramble the Cube:
And generate Cubes of varying sizes:
Here is my most updated program. Currently I have a cube that is somewhat manipulatable by mouse and an interface that allows the user to adjust the size of the cube, randomize the cube, and solve the cube.
Documents:
Narrative
Proposal
Pre-Proposal
Presentation