- Gained and demonstrated an understanding of many fundamental concepts in the study of algorithms (including but not limited to sorting, searching, traversing tress and graphs, recursion, and dynamic programming) and their accompanying data structures
- Gained and demonstrated an understanding of asymptotics and their utility
- Gained and demonstrated an understanding of the techniques developing, analyzing, and proving correct different kinds of algorithms
- Learned that developing the algorithms (and the software that is their implementation) is only half the battle, debugging and testing are critical skills for a talented professional, and skills that will be valuable.
- Gained and demonstrated an understanding that the chasm between programs that work once and programs that work every time is ridiculously huge, and that their asymptotic runtime can be similarly (and also ridiculously) huge.
- Enhanced my continuing education skills. Capable problem solvers never stop learning.