Judge students’ participation along multiple dimensions, rather than prioritizing one dimension like accurate execution of procedures, to make assignments more accessible and encourage well-rounded engagement.
Support students until they are proficient with content from the beginning of the course as subsequent content will be all the more difficult to learn without mastery of prior content, particularly in introductory CS courses.
Encourage students, especially undergraduates, to get involved with CS research and researchers to develop their interest in pursuing CS research careers.
Emphasize to students that visual programming languages like Scratch are bona fide computer programming languages.
Provide feedback on things your students can control, their hard work or their persistent effort, to reinforce that through hard work they can get smarter.
Break the habit of telling kids they’re smart, keep a running list of comments that promote a growth mindset on hand to praise things your students can control.
Create environments for beginning students where the prospect of making a mistake is not intimidating. That way, they’re less likely to get discouraged.
When learning in a playful context, students are less likely to be frustrated by difficulty or failure.
Encourage students by reminding them that they can become great at computer science through hard work, even if they’ve gotten a 1 or a score lower than they’re comfortable with on the AP test, or if they are not currently a star student.
Start and end class with a short assessment by using daily warm-ups and exit slips; this will maximize instruction time and help you track student progress, plus it will validate the students’ efforts