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