Compare variables to gym scoreboards to help students understand them and how they can be used in a game.
Examples in intro textbooks can be boring; create your own examples to match your students’ interests.
Be careful when using coin flips and gambling in examples to avoid offending students with moral objections to gambling.
Have students think through the steps of a racquetball simulation to help them create problem solving strategies.
Lay out your course day by day when creating curriculum to better understand the time you have with you students and how best to use it.
Help students identify strategies for splitting their attention between their code and their robots to help them monitor their code’s effects.
Misconception: In C-based languages, students don’t know when to use and not use pointer derefrences (*) and reference-operators (&).
Include on tests questions taken from earlier assignments and labs to mitigate the fact that you can’t grade every assignment.
Explicitly discuss the lack of bounds-checking in C-based courses to avoid student confusion when using strings and arrays.
Include statements about accommodating students with disabilities in your syllabus and on your website to make it easily available.
Use Communications of the Association for Computing Machinery as a source for current CS news to help students understand the cultural importance of the field.
Have students write short response papers that synthesize assigned readings and discussion questions to facilitate in-depth conversations in class.
Use the framework “just right” to encourage students to take on challenges and create projects at their skill level.
Prototype Makey Makey, a simple invention kit for the classroom that helps students turn everyday items into keyboard buttons, to bring Scratch programming projects into the real world and engage your students.
Provide a framework for talking about controversial topics, like ethical dilemmas, to help direct heated discussions remain productive and in-depth.