Emphasize to students that visual programming languages like Scratch are bona fide computer programming languages.
Start the day with students pair programming and then split them up; it makes later collaboration natural and reduces frustration.
Motivate students by having them explore projects created by their peers and then provide feedback on peer projects.
Demo Scratch projects can motivate and inspire students; there are interactive examples on the Scratch website, or you can create some yourself based on the topics you plan to teach!
When designing early CS courses, use tools with familiar interfaces, like programs with drag and drop components.
Teach the concept of a variable’s scope in Scratch by explaining the difference between “For this sprite only” and “For all sprites.”
Use the "'build your own block'" feature in Scratch 2.0 to teach "bottom-up" or "top-down" processes for breaking up problems.
Encourage students to use Create Your Own Block to store procedures in Scratch to help ease debugging.
Suggest that students use the “when green flag clicked” block when creating clones in Scratch to avoid exponential cloning.