Introduce a new concept by having students modify existing, well-defined programs before writing programs from scratch.
Team up with teachers of lower grades to ensure that your students are sufficiently prepared for the rigor of more advanced classes.
When advertising your course, make it clear that any students “willing to do the work” are “wanted in the course,” and use titles like “Be a software engineer” or “Be an innovator” for your course or course modules.
Take extra time to encourage beginner students to learn more about CS, by (1) promoting AP CS and (2) using a final project for students already taking AP CS
Highlight key differences between math, CS, and engineering to give students context for why CS is a distinct field in itself. Let students know that you don’t necessarily have to excel in one field to excel in the others.
Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own