Stretch your students to help them improve their skills by asking them what they are most struggling with and making them do that regularly.
Have students complete a weekly log about what they accomplished this week, what they hope to accomplish next week, and what might hold them back from accomplishing these things.
Publicize positions for undergraduate research through formal channels so that they’re accessible to a wider variety of students.
Have your research students maintain a weekly blog so they can share what they complete each week and serve as an example for other, curious students.
Make all students say “I don’t understand” out loud, in front of the class to show them that nothing bad will happen to help them feel more comfortable saying something when they don’t understand something in the future.
Create a program where local high school students come to your elementary school to teach younger students computer science in order to give your students relatable role models.
Encourage students to modify and break provided code as a way to better understand the code and its underlying concepts.
Teach students to use a system of inquiry, testing, and refining to debug their code, develop better coding habits, and deal with their frustration.
Have students decompose problems in a more structured way by acting as project managers who need to build teams (of methods and classes) and divide the work amongst them in a clearly organized manner.
Have students explain their problem and ask questions about it to an inanimate object when debugging so they have a clearer idea of what the problem is before asking for help.
Show students how to use StackOverflow appropriately to establish standards for using internet resources in your classroom and beyond.
Have each student contribute test cases to a class-wide testing suite for assignments in order to get students thinking about edge cases and improving their implementations.
Provide copies of the reading from the correct version of the textbook or assignments for different versions to ensure all students have access to the correct materials.
Ask students what tools and skills they’d need to write a long research paper in another language using a quill pen to begin a discussion on what learning is like in an Intro CS course.
Have students keep a “bug collection” in a journal so they can more easily recognize and eliminate bugs in the future.
Use a visual proof to demonstrate that the better strategy for resizing arrays is doubling the size to make it easier for students to understand.
Use an auto-grading tool to provide students with instant feedback on their programs and allow them to resubmit multiple times before the deadline so they can learn to find problems with and debug their code.
Organize an activity where students make phone calls to their classmates with the goal of summing the numbers 1 through 6 in order to demonstrate recursion.