Have students sign a “Computer Use Agreement” before giving them access to machines to hold them accountable for using computers responsibly.
Assign each student in a pair programming partnership to the role of 'driver' or 'navigator' to allow students to start working together without having to negotiate roles.
When pair programming in class, set a timer for when students should switch roles of driver and navigator. When the timer goes off, have students stand up, switch chairs, and give each other high fives.
Perform role-play skits to show both positive and negative pair-programming dynamics so that students have memorable and easy to reference examples when providing constructive criticism to other students.
Ask students with raised hands if they’ve discussed their question with their partner before helping them because this encourages students to teach each other and helps make sure more of the students’ questions get answered.
Assign projects that involve multimedia creation. It inspires students to spend extra time on assignments to make them “cool.”
Require that students ask two other students for help with their bug before asking you to encourage cooperation and to help them make progress learning debugging skills.
Tell students they should only give instructions when helping other students - rather than demonstrating with the keyboard and mouse - because showing instead of telling other students can cause a variety of problems.
Show the class different ways nations choose their next monarch to illustrate pre-order and level order traversals as students visualize tree traversal methods.
Have students instantiate personal hall pass objects when they wish to leave the classroom to help them learn that the values passed to a constructor have to match the number, type, and order of the arguments in the method signature.
Give commands to an imaginary person sitting in an empty desk to model what happens when you give commands to an object that hasn’t been instantiated to help students understand null pointer exceptions.
Use Potato Head Toys to teach classes, objects, methods, and properties so that students develop hands on experience with abstract topics.
Use some of the following real world constructs to help beginning students form better understandings of abstract object-oriented principles.
Show a storyboarding video clip from Pixar’s Toy Story to show students that storyboarding is a real world activity and that storyboarding is vital in some careers.
Use the playful phrasing “bracket thief” when students get a common Java error for forgetting to use a closing bracket to remind students of this error in a non-threatening way.
Remind students to account for corner cases while debugging because these edge cases are a frequent source of bugs and are often overlooked.
Use short video lessons for middle school age students to keep their attention on the content because students struggle to focus on demos at the board at this age.
Start by having students transpose code from one loop type to the other when teaching all the different conditionals for the AP CS A exam.
Misconception: The update in the index in a for loop (i.e., the third part of the for loop control statement) happens after the all the steps inside of the loop have happened.