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.

By Dr. Kai Dupe • October 12, 2026
I have spent much of my career in technology learning, teaching, and staying current.
By Dr. Kai Dupe • September 18, 2026
A mentor gives you advice. A sponsor creates opportunities.
By Dr. Kai Dupe • August 20, 2026
Representation alone will not solve the persistent racial disparities in computing.
By Dr. Kai Dupe • July 28, 2026
The truth is that most software applications exist to manage information.
By Dr. Kai Dupe • July 1, 2026
Artificial intelligence has become the newest member of nearly every software development team.
By Dr. Kai Dupe • June 17, 2026
The true promise of computing is not found in the machines we build, but in the human potential we unlock when knowledge becomes accessible to everyone.
By Dr. Kai Dupe • June 3, 2026
One of the reasons I value the MCT program so highly is that it represents more than technical knowledge.
By Dr. Kai Dupe • May 22, 2026
Software engineering is not simply coding.
By Dr. Kai Dupe • May 15, 2026
Companies often promote the idea that technical skill alone determines success.
By Dr. Kai Dupe • May 3, 2026
Hackathons also strengthen teamwork and communication skills.