Misconception: Students who are familiar with writing code in block-based languages like Scratch still need support transitioning to text-based languages like Java.
Ask student teams to design a controller for a coffee machine in Java to practice design modification.
Ask students “Do we need a loop here?” to help them determine the appropriate loop to use without having to know the proper syntax to write that loop.
Encourage students to master one programming language before moving on to new languages to make sure they have a complete understanding of at least one language.
Use linked carabiners to introduce the structure of linked lists and help students visualize the concept.
Create a physical model of Java objects and references in order to demonstrate situations where multiple references point to the same object in a way that’s easier for students to comprehend.
Use Monopoly, explaining that the game is a class, to demonstrate Java classes and objects in a familiar and interactive way.
Create a handout that translates code in Scratch to code in Logo in order to show students that they are capable of writing text-based code because they already program in Scratch.
Be on the lookout for loop syntax that belongs to another language when students are learning multiple languages because they sometimes confuse syntax and create hard to spot bugs.
Challenge students to place the fewest number of ice cream vans on a map of a town while maximizing ice cream availability to introduce the brute-force method in an accessible way.
Compare loops to climbing a flight of stairs to give students a model for how for loops work in real life.
Ask each student to bring in their favorite YouTube video that explains a certain computer science topic to give the class a variety of different explanations for the same concept.
Have students use Android devices with App Inventor to ease the process of viewing their app on a device; this provides them with meaningful motivation.
Have students color maps using the fewest number of colors while ensuring that bordering countries are different colors to expose them to optimization problems.
Have some students act as robots while their peers give them instructions to teach students how to interact with and think like machines.
Organize an activity in which one student gives other students precise instructions for how to draw a certain picture to teach students how a computer executes code.
Use the think-pair-share method of brainstorming to help students get the most out of class discussions.
Explicitly state ground rules for classroom and lab behavior to ensure all students feel comfortable and to discourage certain students from dominating discourse.