One of the interesting points Amy Ko makes in her presentation to Microsoft (CS education in higher education) is that “Most faculty have little insight into who is struggling most into their class, because the ones that struggle are most silent.” She goes on to suggest that took could help make struggle visible at scale.
In the high school classroom most teaches try to be aware of what students are doing and notice who is struggling but it’s hard. Students are very good at hiding the fact that they are struggling. Many just don’t want to admit, especially in front of their peers, that they are having trouble in a class. Teaching online makes noticing struggle even harder!
So what sort of tools would be helpful? That’s what I have been thinking about for a bit.
What are the indications of struggle? Idleness in the IDE? Maybe but sometimes students are very active but not making progress. They add stuff, try it, delete it, and try something else. The “lest throw stuff against the wall and see what sticks method.” So to much activity or to little activity? These are both things an educational IDE could track.
What about syntax errors? This is a tough one because sometimes a single character off will generate a great many errors. I have managed to see error lists move from over 100 to 2 or three after changing one line of code. So maybe look at specific errors? We probably need some research on this.
Number of builds? Some people write a lot of code before doing a build while others run a build after every little change. Seems like an unreliable metric.
Total time spent in the IDE? Maybe although how does the automated system know if the amount of time is due to struggle or to an advanced student adding far more than what is required?
As a teacher, one thing I would like to know is that errors are the most common in a class. That would help me adjust how I teach certain things.
If only students would talk to us!
All in all I love the idea of tools to help teachers see who is struggling and what they are struggling with. I just don’t feel like I have a good handle on what metrics would be really helpful. Commercial IDEs are never going to care about these things though. Might make a good PhD project for some CS education researcher though.
Dr. Ko suggests that one way industry could help is by “should be supporting the hiring of CS education faculty and the creation of CS education classes to prepare effective CS teachers for K-12 and higher education classrooms.” We still have a lot more questions than answers in terms of teaching computer science.