Have students color maps using the fewest number of colors while ensuring that bordering countries are different colors to expose them to optimization problems. Share Have students color maps using the fewest number of colors while ensuring that bordering countries are different colors to expose them to optimization problems. with FacebookShare Have students color maps using the fewest number of colors while ensuring that bordering countries are different colors to expose them to optimization problems. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
Compare loops to climbing a flight of stairs to give students a model for how for loops work in real life. Share Compare loops to climbing a flight of stairs to give students a model for how for loops work in real life. with FacebookShare Compare loops to climbing a flight of stairs to give students a model for how for loops work in real life. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
Misconception: Students think that an interface in Java is the same thing as a user interface. Share Misconception: Students think that an interface in Java is the same thing as a user interface. with FacebookShare Misconception: Students think that an interface in Java is the same thing as a user interface. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
Use Monopoly, explaining that the game is a class, to demonstrate Java classes and objects in a familiar and interactive way. Share Use Monopoly, explaining that the game is a class, to demonstrate Java classes and objects in a familiar and interactive way. with FacebookShare Use Monopoly, explaining that the game is a class, to demonstrate Java classes and objects in a familiar and interactive way. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
Use linked carabiners to introduce the structure of linked lists and help students visualize the concept. Share Use linked carabiners to introduce the structure of linked lists and help students visualize the concept. with FacebookShare Use linked carabiners to introduce the structure of linked lists and help students visualize the concept. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
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. Share 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. with FacebookShare 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. with Twitter
Ask student teams to design a controller for a coffee machine in Java to practice design modification. Share Ask student teams to design a controller for a coffee machine in Java to practice design modification. with FacebookShare Ask student teams to design a controller for a coffee machine in Java to practice design modification. with Twitter
Misconception: Students who are familiar with writing code in block-based languages like Scratch still need support transitioning to text-based languages like Java. Share Misconception: Students who are familiar with writing code in block-based languages like Scratch still need support transitioning to text-based languages like Java. with FacebookShare Misconception: Students who are familiar with writing code in block-based languages like Scratch still need support transitioning to text-based languages like Java. with Twitter
Use Dixie cups with numbers written on the bottom to demonstrate sorting arrays and heap operations in a tangible, physical way. Share Use Dixie cups with numbers written on the bottom to demonstrate sorting arrays and heap operations in a tangible, physical way. with FacebookShare Use Dixie cups with numbers written on the bottom to demonstrate sorting arrays and heap operations in a tangible, physical way. with Twitter
Misconception: Students think you can use the “item (any) of (list)” block in Snap! and Scratch to check for every item in a list, but this block actually returns a random item. Share Misconception: Students think you can use the “item (any) of (list)” block in Snap! and Scratch to check for every item in a list, but this block actually returns a random item. with FacebookShare Misconception: Students think you can use the “item (any) of (list)” block in Snap! and Scratch to check for every item in a list, but this block actually returns a random item. with Twitter
Have students write a game of Hangman in Python in which the computer cheats by changing its secret word to give students practice using dictionaries. Share Have students write a game of Hangman in Python in which the computer cheats by changing its secret word to give students practice using dictionaries. with FacebookShare Have students write a game of Hangman in Python in which the computer cheats by changing its secret word to give students practice using dictionaries. with Twitter
Have students implement simple filters on sound objects so they can parse strings of notes into recognizable melodies to get practice manipulating strings. Share Have students implement simple filters on sound objects so they can parse strings of notes into recognizable melodies to get practice manipulating strings. with FacebookShare Have students implement simple filters on sound objects so they can parse strings of notes into recognizable melodies to get practice manipulating strings. with Twitter
As a final project, have students create a generic side-scrolling game in Java so they can creatively showcase their object-oriented programming abilities. Share As a final project, have students create a generic side-scrolling game in Java so they can creatively showcase their object-oriented programming abilities. with FacebookShare As a final project, have students create a generic side-scrolling game in Java so they can creatively showcase their object-oriented programming abilities. with Twitter