These students gain valuable programming expertise by making a playable Rubik's Cube. They use logic to plan the project by creating diagrams that dissect a task and organize its parts into a hierarchy, and they learn both bottom-up and top-down design. They build levels of subprocedures and superprocedures and can debug programs!

Playable Rubik's Cube for iPad and iPhone

indexing each of the total 54 cells on a whiteboard

debugging with an iPad simulator

each cell is a rhombus

cells rendered in squares and parallelograms