Have students write short computer science poems for extra credit to encourage them to show what they’ve learned in a new way. Share Have students write short computer science poems for extra credit to encourage them to show what they’ve learned in a new way. with FacebookShare Have students write short computer science poems for extra credit to encourage them to show what they’ve learned in a new way. with Twitter
Use the "PB&J" sandwich activity to introduce important components of algorithms. Share Use the "PB&J" sandwich activity to introduce important components of algorithms. with FacebookShare Use the "PB&J" sandwich activity to introduce important components of algorithms. with Twitter
Approach local store owners to see if they would like a website built by your class. Share Approach local store owners to see if they would like a website built by your class. with FacebookShare Approach local store owners to see if they would like a website built by your class. with Twitter
Use treasure hunts as a way to motivate linux commands. Share Use treasure hunts as a way to motivate linux commands. with FacebookShare Use treasure hunts as a way to motivate linux commands. with Twitter
Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts. Share Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts. with FacebookShare Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts. with Twitter
Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question. Share Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question. with FacebookShare Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question. with Twitter
Emphasize general problem solving skills over ones only applicable to the task at hand. Share Emphasize general problem solving skills over ones only applicable to the task at hand. with FacebookShare Emphasize general problem solving skills over ones only applicable to the task at hand. with Twitter
Explain inheritance using an “is-a” relationship and composition using a “has-a” relationship. Share Explain inheritance using an “is-a” relationship and composition using a “has-a” relationship. with FacebookShare Explain inheritance using an “is-a” relationship and composition using a “has-a” relationship. with Twitter
To show that algorithm design is difficult, have students write algorithms, exchange their work, and then attempt to execute each others instructions. Share To show that algorithm design is difficult, have students write algorithms, exchange their work, and then attempt to execute each others instructions. with FacebookShare To show that algorithm design is difficult, have students write algorithms, exchange their work, and then attempt to execute each others instructions. with Twitter
To introduce recursion, try reading The Cat in the Hat Comes Back, or “Martin and the Dragon,” to make the topic more engaging. Share To introduce recursion, try reading The Cat in the Hat Comes Back, or “Martin and the Dragon,” to make the topic more engaging. with FacebookShare To introduce recursion, try reading The Cat in the Hat Comes Back, or “Martin and the Dragon,” to make the topic more engaging. with Twitter
Explain recursion with the example of determining your row in a stadium by asking the row in front of your what row it is… asking until you get to the first row, the base case. Share Explain recursion with the example of determining your row in a stadium by asking the row in front of your what row it is… asking until you get to the first row, the base case. with FacebookShare Explain recursion with the example of determining your row in a stadium by asking the row in front of your what row it is… asking until you get to the first row, the base case. with Twitter
Have students work in small groups to solve logic puzzles so they develop algorithmic thinking and good problem-solving habits. Share Have students work in small groups to solve logic puzzles so they develop algorithmic thinking and good problem-solving habits. with FacebookShare Have students work in small groups to solve logic puzzles so they develop algorithmic thinking and good problem-solving habits. with Twitter
Demonstrate swapping variables' values by swapping the contents of two cups full of liquid; you need a third cup to swap the liquids just like you need a third, temporary, variable to swap the values. Share Demonstrate swapping variables' values by swapping the contents of two cups full of liquid; you need a third cup to swap the liquids just like you need a third, temporary, variable to swap the values. with FacebookShare Demonstrate swapping variables' values by swapping the contents of two cups full of liquid; you need a third cup to swap the liquids just like you need a third, temporary, variable to swap the values. with Twitter
Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way. Share Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way. with FacebookShare Use examples that have nothing to do with computers to introduce new CS concepts in an accessible way. with Twitter
To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes. Share To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes. with FacebookShare To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes. with Twitter
Have some students pretend to be robots while other students program them to complete simple tasks to practice debugging and to emphasize the importance of coding precisely. Share Have some students pretend to be robots while other students program them to complete simple tasks to practice debugging and to emphasize the importance of coding precisely. with FacebookShare Have some students pretend to be robots while other students program them to complete simple tasks to practice debugging and to emphasize the importance of coding precisely. with Twitter
Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. Share Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. with FacebookShare Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. with Twitter
Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades. Share Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades. with FacebookShare Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades. with Twitter
Because high-school students are interested in driving, transportation is a great model for introducing class hierarchies and interfaces. Share Because high-school students are interested in driving, transportation is a great model for introducing class hierarchies and interfaces. with FacebookShare Because high-school students are interested in driving, transportation is a great model for introducing class hierarchies and interfaces. with Twitter
Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. Share Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. with FacebookShare Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. with Twitter