Give students a set number of late homework passes so they can give themselves extensions and hold themselves accountable for deadlines.
Have students write Knock-Knock jokes in Scratch by making a conversation between sprites to motivate the introduction of broadcast blocks.
Help students build intuition about recursion in Python by comparing each recursive call to a function call, which may be more intuitive for students in introductory classes.
Ask students "do you know in advance how many times you'll need to go through the loop?" when deciding between using a for or a while loop, because this is a good rule of thumb for them to use.
Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax.
Provide consistent feedback opportunities from the very first day of the course to assist struggling students early on and prevent them from falling behind.
Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages.
Create a group of student mentors who have already completed your school’s introductory computer science courses to give current students peer role models.
Have students sort specific topics in computer science into broader categories in an activity that uses index cards to give them a big-picture understanding of concepts they are learning.
Use visual depictions of programmatic concepts, such as recursion, to improve students’ understanding of the concept and reinforce students’ intuition about the concept.
Use Python’s map function to introduce students to loops early on, because the map function is an provides an easy transition to loops.
Model your grading rubrics off of the Common Core standards to clearly communicate expectations between you and your students in meeting the Common Core standards.
Introduce the playnote block in Scratch by having students experiment with different arguments for the block and creating melodies.
Use the NJCCCS Technology standards to help scaffold K-6 graders in learning computer literacy skills.
Ask students “What is the simplest input to this problem?” when teaching recursion to help students learn to identify appropriate base cases for each argument of their function.
Teach Alice in introductory programming courses as a precursor to object-oriented programming languages, like Java, to make OOP fun and interesting for beginners to learn.
When explaining code to the class, project your code and use a tablet to draw on top of it. Ask students for debugging suggestions to make them more comfortable finding bugs and to show them that all programmers, even you, make mistakes.