Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question.
Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts.
When designing CS courses for total novices, integrate activities based on students’ pre-existing interests to engage them.
Ask students what they like about programming—it lets you know what to focus on so that students remain interested.
Model the software engineering process by having students design games or other projects for an audience. This helps students gain valuable, hands-on experience and make connections to real world applications.