ProgSnap2 is a proposed specification for datasets containing programming process data—i.e., data captured from programming activity (typically in an educational setting.) The specification is not complete, but is approaching a point where data can be exported and analyses can be performed. See the Current draft section below.

ProgSnap2 was created by the members of the SPLICE Small Code Snapshots working group. The group leaders are Kelly Rivers and David Hovemeyer.

Get involved!

Please join us! If you have

  1. captured programming process data that you would be interested in sharing,
  2. ideas for interesting analyses to perform on captured programming process data,
  3. ideas for CS education research projects that would benefit from data collected from multiple institutions/contexts

or any combination of the above, then we would like to work with you! The first step is to contact David Hovemeyer to ask for access to our Google group and shared Google drive folder.


We presented an update on the working group's activities at the 2019 SIGCSE workshop. We had two presentations:

Current Draft

Specification version 6, 31 Jul 2019 (Alpha status)

Previous drafts

Specification version 5, 17 Apr 2019 (Alpha status)

Specification version 4, 29 Mar 2019 (Alpha status)

Draft specification, 22 Mar 2019

Draft specification, 25 Feb 2019

Main specification, 17 Jan 2019

Code representation specification, 17 Jan 2019


ProgSnap2 borrows heavily from the DATASTAND Group Notes document created by John Stamper, Stephen Edwards, Andrew Petersen, Thomas Price, and Ian Utting at ICER 2017.