Three Evidence-Based Practices for Teaching Computer Science

Dr. Kai Dupe • May 21, 2024

Teaching computer science (CS) effectively requires more than just a deep understanding of the content.

The demand for computer science education has skyrocketed in recent years, driven by the increasing integration of technology into every aspect of our lives. However, teaching computer science (CS) effectively requires more than just a deep understanding of the content. It also involves employing evidence-based practices that enhance student learning and engagement. Here are three of the best evidence-based practices for teaching computer science:


1. Active Learning


Active learning is a student-centered approach that involves engaging students in activities that require them to actively process and apply information. Research has shown that active learning significantly improves student understanding and retention of material compared to traditional lecture-based instruction.


In the context of computer science, active learning can take many forms. For example, instructors can use pair programming, where two students work together at one computer to complete coding tasks. This practice not only helps students learn from each other but also improves their problem-solving skills and coding abilities. Another effective strategy is the use of coding exercises during class, where students write code to solve problems and receive immediate feedback from the instructor or automated systems.


2. Project-Based Learning


Project-based learning (PBL) is an instructional method where students learn by actively engaging in real-world and meaningful projects. This approach aligns well with the practical nature of computer science, where students often need to apply theoretical knowledge to build functional systems.


Incorporating PBL in computer science education involves assigning projects that reflect real-world challenges, such as developing a mobile app, creating a website, or programming a simple game. These projects not only enhance technical skills but also foster critical thinking, creativity, and collaboration. Research indicates that PBL helps students develop a deeper understanding of the subject matter and improves their ability to transfer skills to new contexts.


3. Scaffolding and Differentiation


Scaffolding involves providing students with temporary support structures to help them achieve higher levels of understanding and skill development than they would on their own. Differentiation tailors instruction to meet the diverse needs of students.


In computer science, scaffolding can be implemented through step-by-step instructions, guided practice, and the use of templates or starter code. As students become more proficient, these supports can be gradually removed, encouraging independent problem-solving. Differentiation might involve offering varied levels of challenges within the same assignment or providing alternative resources and activities for students with different skill levels.


Research supports the effectiveness of scaffolding and differentiation in helping all students succeed in computer science, from beginners to advanced learners. These strategies ensure that students do not feel overwhelmed and are more likely to stay engaged and motivated.


Conclusion


Employing evidence-based practices such as active learning, project-based learning, and scaffolding with differentiation can significantly enhance the effectiveness of computer science education. These methods not only improve student engagement and understanding but also equip them with the skills needed to thrive in a technology-driven world. By integrating these practices, educators can create a more inclusive and dynamic learning environment that prepares students for the challenges and opportunities of the digital age.


By Dr. Kai Dupe • November 3, 2026
For generations, Black Americans were denied equal educational opportunities through legally enforced segregation and discriminatory practices.
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.