I have often assumed that the challenge of teaching CS was a matter of limited experience and significant complexity.
- Experience: almost all students come in without ever learning anything about computer science, whereas every other high school class is a continuation of a subject the student has been learning about for 8 years prior.
- Complexity: CS is very deeply grounded in abstract problem-solving which are 2 very challenging skills.
In “Computer Science is Different! Educational Psychology Experiments Do not Reliably Replicate in Programming Domain” by Morrison, she reports on her research and studies that demonstrate learning CS is different not just difficult.
“What is it about learning to program that is different from learning how to solve problems in geometry or physics…?”
That’s a great question, and unfortunately it is only posed, and not yet answered. So, here are a couple of my thoughts:
- High school Math/Physics problems have a single correct answer.
- The steps high school students are taught to follow in Math/Physics are very regimented.
- Math/Physics at the high school level have a very limited number of universally taught tools/formulas/laws with which to use.
Any high school cs teacher will recognize that these are contrary to the characteristics of the problems we challenge our students with.
Additional comments about the research paper:
- I appreciate this quote: “… cognitive load in programming is high due [to] the intrinsic nature of the material. Students have to keep in mind: variables, their roles, their own process in problem-solving, and the process of the computer…” (emphasis added)
- Several years ago my district’s professional development revolved around the Multiple Intelligences Theory. It would have been nice to have explored more about the “Modality Study” the author discussed during that time.
- Morrison mentions exploring “…whether students see code segments as text or diagrams.” I suspect it is neither exclusively one or the other for all students, and may change with development.
2 thoughts on “Maybe Teaching CS Isn’t Just Hard…”
Hits the spot on some things I’ve been thinking about! I have had that feeling that something is different about learning in CS, but I couldn’t put my finger on it. I am glad to see there is at least a tiny bit of research out there. The link you have to Morrison’s article (which I will have to either buy or get an ACM or SIGCSE membership, but I should do that anyway), has sent me down the rabbit hole. I have found her dissertation online, as well as other articles discussing these types of challenges. More to read!
Click to access MORRISON-DISSERTATION-2016.pdf
Morrison Article called “Learning Loops”
Guzdial Article on “Learning CS Is Different”
Thanks for including Mark Guzdial’s link. I hoped to revisit this topic later, in particular in response to his writing.
Join me down the rabbit hole… I would recommend ACM/SIGCSE membership to any fellow CS teacher (after joining CSTA). Access to the Digital Library is awesome, their email cs news alerts are interesting, and it’s always great to see what is happening in the field of cs beyond the classroom.
Briana Morrison has at least 7 other write-ups published from 2014-2018. Some of these probably provide more details to the data she referenced in the (rather short) writing I responded to, which, was selected mostly by ignorant randomness.