Cognitive Load in CS1

One of the great pleasures that I have had as a conference attendee was hearing John Sweller talk about cognitive load theory at the 2016 SIGCSE conference in Memphis, TN. Most of the keynote speakers at SIGCSE are interesting, but this is a person whose work I had read about in my courses at Michigan State. During his talk, he spoke about how the CS education community should consider framing some of their questions about how students learn to program computers using his model for information acquisition given various types of load that comes from the learning environment.

I spent some time getting well acquainted with Dr. Sweller’s work, and then set out to try and frame some instructional techniques in the context of cognitive load theory. I have always believed that the most significant role of an education researcher is to help communicate important ideas to the practicing teacher. I relied on my personal teaching history, and the practices of some of the great teachers that I had worked with in my time as the K-12 Outreach Coordinator for Purdue University’s Department of Computer Science to create some narratives. Then I worked on a paper for the official education journal of the ACM, which is known as ACM Inroads.

The resulting paper turned out really well, and I’m excited that people will be able to read it. Feel free to share it with your friends who teach computer science! It may help them think about how they can reach more students, and do so with a mind towards the challenges that individual students face when trying to learn multiple challenging ideas simultaneously.

Sands, P. (2019). Addressing cognitive load in the computer science classroom. ACM Inroads, 10(1), 44-51. doi: 10.1145/3210577