This document summarizes a study that analyzed programming behaviors and problem solving paths of students in an introductory Java programming course. The study tracked programming snapshots over time to identify common patterns and concepts used. At a global level, it found that students progressed incrementally on easy exercises but struggled more on harder ones. At an individual level, it classified patterns like "builder", "massager", and "reducer" based on conceptual changes between snapshots. The most common patterns were forms of incremental building. Future work could look at generalizing the patterns to other datasets and relating behaviors to individual traits.