Create hands-on, meaningful, and relevant projects where students produce artifacts that require rigorous CS content-knowledge and software engineering skills.


  • Assign activities that make students proud of their work; assignments that produce artifacts that connect to the real-world.


  • Demonstrating skills they learn through meaningful projects increases confidence.
  • Current and relevant lessons increase the likeliness of student engagement.
  • Big picture CS reasoning skills are crucial for everyone because CS pervades every industry.


  • Design structured projects or thematic assignments that build off of student interest (games, movies, music, etc.). These allow students to express themselves while working on tough problems.
    • Require students to plan, build, test (often with peer feedback), and reflect on the projects they create.

Note from the CS Teaching Tips Team: You can look at this tip for more information on which five professional development skills to include in the objectives of all your CS courses.