Have pairs of students aim to achieve the same patterns on Battleship boards to teach them the precision necessary for algorithmic design.
Include college seniors in intro courses by having them write blog posts reviewing interesting developments in information technology to engage intro CS 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.
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.
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.
Run a pair programming contest in Python to motivate, challenge, and boost students’ self-confidence.
Provide more than one solution when explaining how to solve a problem to the class to emphasize that there is never just one way to do things.
Incorporate student presentations into your class as a form of assessment so that students develop their public speaking skills.
Moderate a group discussion with teams that have trouble working together to resolve disagreements and encourage collaboration in a constructive way.
Encourage students to ask questions about homework assignments in class, because other students may be struggling with the same question.
Encourage students to use the buddy system when attending a CS conference with a large group to ensure all students are accounted for.
Group students with similar attitudes toward collaboration together for pair-programming exercises so that both students get the most of the experience.
Rotate elbow partners so students get the opportunity to work with many classmates, which helps create community and trust in the classroom.
Invite research teams from local universities to motivate your students by presenting their research.
Assign students specific roles that rotate frequently when they are working in groups to promote interdependence and ensure that each student gets practice in each role.
Put open-ended questions at the end of a set of group discussion questions so groups have a lot to discuss.
Use Piazza to provide an anonymous Q&A forum where both students and instructors can answer questions.