presented at event SIGCSE '15: The 46th ACM Technical Symposium on Computer Science Education Conference