- Come to recognize how you solve problems
- Come to trust and rely on your classmates
- Learn to wrestle with a difficult problem instead of waiting for someone else to show you the answer
- Practice articulating code
- Learn to think algorithmically
- Begin to understand optimization and efficiency
- Learn to write (and love) unit tests
- Show my understanding of each sort with a deck of cards
- I had to be able to pseudocode or whiteboard during the eval on any given sort
- Have a fully tested suite that pushed my computer to the limit before the test timed out