Using learning analytics to assess students' behavior in open-ended programming tasks | Synapse