Predicting Performance in an Introductory Programming Course by Logging and Analyzing Student Programming Behavior | Synapse