Active Learning in Computer Science

This post was originally published at It’s reproduced below without any changes in content.

Active Learning is an already popular concept, and a lot of instructors are familiar with it. However, there were very few times I have taken a Computer Science (CS) class that was not based only on lectures. Why is that?

Back in 1996, McConnell [1] explored the effects and usefulness of active learning in CS. In this work, the author proposes the same question as above, and the answer to that is “because there is a perception that active learning has higher risks.” Furthermore, McConnell claims that perhaps the biggest fear for instructors is that students might steer the discussion away from the scheduled material, something that the instructor had not planned to go over.

Going Against the Initial Perception

But why is this such a bad thing? If students feel compelled to ask questions about a subject that was not included at first, we should be able to take a couple of minutes to address those topics. Considering, of course, that those are at least somewhat related to the class. Additionally, more often than not, when one student asks questions, it is probably helping to address issues that many of their peers also have.

Add this to the fact that these students are new to the material, so they are still trying to relate new content to their previous knowledge [2] – which makes it easier to understand and to recall in the future. Since their previous knowledge comes from different classes, they might want to make these links to some slightly off-topic concepts, which can take a little from the class time but will help them in the long run.

Does Active Learning Actually Help Students?

More recently, in 2014, Freeman et al. [3] explored if simply lecturing was the most effective method to maximize learning and course performance in STEM (Science, Technology, Engineering, and Mathematics). Among the key results, the one that caught my attention the most was the fact that “students in classes with traditional lecturing were 1.5 times more likely to fail than were students in classes with active learning.”

A CS-Specific Case Study

In another study, Liao et al. [4] analyzed the applicability of an active learning activity called Jigsaw, in an upper-division Introduction to Computer Architecture course. In this activity, students learn parts of the material in small groups, and then these different groups are mixed so that there is one person that learned each piece in a new group.

For instance, the instructor split three instruction types of the MIPS Instruction Set Architecture (R-, I-, and J-type), and then formed groups of 3 students where each group was assigned only one of these types. After discussing the assigned instruction type in the small groups, students rearranged. Now, groups were formed in a way where there was one student that knew R-, I-, and J-type instructions in each group. This allowed them to discuss all three types and learn all the planned material for that lecture.

The authors applied this kind of activity throughout the term. Although this kind of course is somewhat advanced (and students tend to struggle a bit), by using Jigsaw activities, the authors observed higher levels of student engagement, which reflected on the end of term survey where 72% of the responses indicated that these activities boosted learning, and 75% of the respondents acknowledged that they were more engaged in learning.

So, if you are a CS instructor, now that you know about the effectiveness of such techniques, how are you going to make use of active learning in your classroom?


  1. J. J. McConnell, “Active learning and its use in computer science,” ACMSIGCSE Bulletin, vol. 28, no. SI, pp. 52–54, 1996.

  2. M. T. Owens and K. D. Tanner, “Teaching as brain changing: exploring connections between neuroscience and innovative teaching,” CBE—Life Sciences Education, vol. 16, no. 2, p. fe2, 2017.

  3. S. Freeman, S. L. Eddy, M. McDonough, M. K. Smith, N. Okoroafor, H. Jordt, and M. P. Wenderoth, “Active learning increases student performance in science, engineering, and mathematics.” Proceedings of the National Academy of Sciences, vol. 111, no. 23, pp. 8410–8415, 2014.

  4. S. N. Liao, W. G. Griswold, and L. Porter, “Classroom experience report on jigsaw learning,” in Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2018, (New York, NY, USA), pp. 302–307, ACM, 2018.

Matthew Mahavongtrakul edited this post on June 6th, 2019.

Caio Batista de Melo
Caio Batista de Melo
Assistant Teaching Professor

My research interests include reliable systems, self-adaptation, and emergent behavior detection/resoning. However, my passion is teaching :)