Use programming spreadsheet functions as an introduction to programming to give students a simple but powerful mechanism for writing basic programs.
Have students write out test cases and their prediction for what their code will do in class before running it to teach them the practice of analyzing their code first.
Have students write a program that generates a collage of images and/or sounds. This will help them practice image manipulation and function decomposition.
Create a programmatic contract, a document that states students will break an assignment into smaller components, for a large programming project to give students experience with modular design.
Emphasize the importance of developing a consistent naming schema, especially for booleans, as a part of good style.
Pick a student to live-code during class to show other students that their peers have many of the same strengths and weaknesses that they do when coding.
Have students put their workspace on a USB drive or external hard drive so that they can continue to work on their assignments on any device in any location.
Trace through nested conditionals with students because nesting makes it difficult for them to track which lines of code get executed when.
Use the Online Python Tutor tool to trace through code and help students visualize what the code is doing.
Use Parson’s Puzzles to help students engage with a concept without writing code or experiencing frustrating syntax errors.