Undergraduate computing classes typically deliver content through passive lectures and require students to write code from scratch. However, students do not always pay attention in lecture and writing code from scratch can be overwhelming for novice students. Students report feeling frustrated when they cannot figure out what is wrong with their code or wait hours to get help from instructional staff. Students from groups that have been historically marginalized are more at risk of failure in introductory courses since they tend to have less prior programming experience. How can we help students succeed in programming courses, especially those without prior programming experience?
Research on active learning in STEM has shown it improves learning, motivation, and pass rates over traditional lecture. In active learning students construct knowledge through discussion, problem solving, role play, and other methods. A meta-analysis found that students in traditional lecture STEM classes were 1.5 times more likely to fail than those in active-learning classrooms.3 Active learning is particularly effective for students from historically marginalized groups. While there are many types of active learning, in this column I focus on four types: interactive ebooks; Peer Instruction (PI); mixed-up code (Parsons) problems and Process Oriented Guided Inquiry Learning (POGIL).