Create hands-on, meaningful, and relevant projects where students produce artifacts that require rigorous CS content-knowledge and software engineering skills.
Ensure a meaningful introductory CS learning experience for each student by creating differentiated expansions for assignments while providing the same starting points.
Connect students with a wide variety of STEAM professionals to bring authenticity and additional input to students’ CS classroom experience.
Setup pair programming assignments intentionally using the following checklist so that students have the tools, environment, and space they need to succeed
Provide students with practice opportunities to develop the verbal communication skills needed for successful pair programming to ensure that students gain the most out of these activities.
Transition from one language to another closely related language to help students develop understanding of key abstract ideas programming languages concepts.
Create pain points for material you want to introduce that motivate the need for abstraction and programming language features so that students realize the need for concepts before you introduce them.
Connect class work to the CS industry by incorporating these five big picture professional skills in your class objectives.