Avoid using x and y as variable names to prevent students from confusing variable assignments with mathematical expressions. Share Avoid using x and y as variable names to prevent students from confusing variable assignments with mathematical expressions. with FacebookShare Avoid using x and y as variable names to prevent students from confusing variable assignments with mathematical expressions. with Twitter
Introduce object states early when teaching object-oriented programming. Share Introduce object states early when teaching object-oriented programming. with FacebookShare Introduce object states early when teaching object-oriented programming. with Twitter
Be explicit about what direction references point when teaching about objects and references. Share Be explicit about what direction references point when teaching about objects and references. with FacebookShare Be explicit about what direction references point when teaching about objects and references. 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
Ensure that your courses have clear expectations about prerequisite knowledge so all students are well-equipped for class material. Share Ensure that your courses have clear expectations about prerequisite knowledge so all students are well-equipped for class material. with FacebookShare Ensure that your courses have clear expectations about prerequisite knowledge so all students are well-equipped for class material. with Twitter
Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own Share Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own with FacebookShare Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own with Twitter
When teaching introductory courses, teach students to use “top-down thinking” and “bottom-up implementation.” Share When teaching introductory courses, teach students to use “top-down thinking” and “bottom-up implementation.” with FacebookShare When teaching introductory courses, teach students to use “top-down thinking” and “bottom-up implementation.” 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
Start the day with students pair programming and then split them up; it makes later collaboration natural and reduces frustration. Share Start the day with students pair programming and then split them up; it makes later collaboration natural and reduces frustration. with FacebookShare Start the day with students pair programming and then split them up; it makes later collaboration natural and reduces frustration. 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
Before moving onto arrays, make sure students feel really confident about loops. Share Before moving onto arrays, make sure students feel really confident about loops. with FacebookShare Before moving onto arrays, make sure students feel really confident about loops. with Twitter
Introduce “base-case” and “smaller-caller” as a helpful way for students to remember the different parts of recursion. Share Introduce “base-case” and “smaller-caller” as a helpful way for students to remember the different parts of recursion. with FacebookShare Introduce “base-case” and “smaller-caller” as a helpful way for students to remember the different parts of recursion. with Twitter
When tracing through code in Java, use different colors for code that is executed in a main method versus in a class method. Share When tracing through code in Java, use different colors for code that is executed in a main method versus in a class method. with FacebookShare When tracing through code in Java, use different colors for code that is executed in a main method versus in a class method. with Twitter
When you write a function, like (foo x), students don’t realize you can put a variable with a name OTHER than x in there, or an actual number. Share When you write a function, like (foo x), students don’t realize you can put a variable with a name OTHER than x in there, or an actual number. with FacebookShare When you write a function, like (foo x), students don’t realize you can put a variable with a name OTHER than x in there, or an actual number. with Twitter
To avoid frustrating students, give them definitions of common terms and ways of fixing common error messages in advance. Share To avoid frustrating students, give them definitions of common terms and ways of fixing common error messages in advance. with FacebookShare To avoid frustrating students, give them definitions of common terms and ways of fixing common error messages in advance. 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
DrJava, the Java interpreter, gives students an interactive environment to practice testing strategies in. Share DrJava, the Java interpreter, gives students an interactive environment to practice testing strategies in. with FacebookShare DrJava, the Java interpreter, gives students an interactive environment to practice testing strategies in. 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
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
When learning in a playful context, students are less likely to be frustrated by difficulty or failure. Share When learning in a playful context, students are less likely to be frustrated by difficulty or failure. with FacebookShare When learning in a playful context, students are less likely to be frustrated by difficulty or failure. with Twitter