Teach students how the xy-coordinate system works before having them use motion blocks in Scratch so they don’t get confused by positive and negative numbers.
Introduce young students to degrees, decimals, and percentages so that they can use turn and sound blocks in Scratch.
Have students create a digital story in Scratch about an interesting scientific phenomenon as a final project to teach them both computer programming and science literacy.
To engage a wider range of students in intro courses, be sure to highlight the real-world context and applications of CS.
Establish a gallery of current and past projects to motivate students and to build community as students get to show off their work.
Emphasize that computer science teaches a way of thinking that can be used in careers in the tech industry and beyond.
Compare AND/OR gates to series and parallel circuits, respectively, to connect electrical engineering and computer programming.
Highlight key differences between math, CS, and engineering to give students context for why CS is a distinct field in itself. Let students know that you don’t necessarily have to excel in one field to excel in the others.
Invite guest speakers to introduce students to the varied professions and people in computer science, especially to encourage girls to see themselves taking up STEM careers.
To appeal to students, assign interdisciplinary projects that allow them to combine programming with work from subjects that interest them.
Have students write end-of-unit reflections to review material, monitor their learning, and integrate writing into your CS course.
To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes.
Teach hierarchical task analysis using Requirement Cards to sort through 100 requirements engineers have created for a robot cleaning up a nuclear disaster.
Give students a caesar cipher to reveal a picture or message in order to teach how characters can be treated as numbers and to reinforce string manipulation.
Bring in real stories about software, specifically games, sometimes going wrong! It is important for students to learn that development usually takes more than just a day and there is no ultimately correct solution.
Give students assignments where students have to make their computational results understandable to their customer, an important skill for industry computation across fields.
Have students design projects based on content from their other courses, and have them brainstorm how the code they write might be useful in a variety of fields. This broadens their understanding of CS’s many applications.