Teaching for Success in Computer Science: Research-Backed Strategies
Dr. Kai Dupe • December 15, 2025
Computer science has often been portrayed as a field where only a select few can succeed.

Computer science has often been portrayed as a field where only a select few can succeed. Yet decades of research in computer science education suggest something far more encouraging: student success in computing is strongly influenced by how we teach, how students are supported, and how learning environments are designed. When instruction aligns with research-based practices, student learning and persistence increase across experience levels.
One of the most consistent findings across STEM education is the effectiveness of active learning. A large meta-analysis by Freeman et al. found that students in active-learning environments performed better and were significantly less likely to fail than students in traditional lecture-only courses (Freeman et al., 2014: https://www.pnas.org/doi/10.1073/pnas.1319030111). In computer science, active learning includes structured labs, guided coding exercises, peer discussion, and opportunities for students to reason through problems. Programming is a skill developed through practice, iteration, and feedback—not passive observation.
Research also emphasizes the role of self-efficacy, or students’ belief in their ability to succeed. Albert Bandura’s foundational work shows that confidence influences persistence, motivation, and academic performance (Bandura, 1997: https://www.uky.edu/~eushe2/Bandura/BanEncy.html). In computing, studies indicate that students who believe success comes from effort and effective strategies—rather than innate talent—are more likely to continue in the major (Lewis et al., 2016: https://dl.acm.org/doi/10.1145/2839509.2844593). Early, well-scaffolded successes and explicit normalization of struggle, particularly around debugging, help reinforce this belief.
Collaborative learning further supports student success. Research on peer instruction and pair programming demonstrates improvements in conceptual understanding and student engagement, especially in introductory computer science courses (Porter et al., 2013: https://dl.acm.org/doi/10.1145/2445196.2445248). Working with peers helps students articulate their thinking, learn from alternative approaches, and develop communication skills central to professional computing practice.
From a cognitive perspective, worked examples and scaffolding are especially effective for novice programmers. Cognitive Load Theory shows that learners benefit from studying annotated or partially solved examples before tackling problems independently (Sweller, 1988: https://link.springer.com/article/10.1007/BF00375144). As students gain expertise, these supports can be gradually removed.
Finally, real-world and challenge-based projects increase motivation by helping students see computing as relevant and impactful. When students understand why their code matters, they engage more deeply and persist longer.
The message from the research is clear and hopeful: computer science students thrive when instruction is intentional, supportive, and evidence-based.










