Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages. Share Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages. with FacebookShare Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages. with Twitter
Split students into groups responsible for programming different tasks in Java to create a Set game, this will allow them to learn to distributed work in environments that mirror industry. Share Split students into groups responsible for programming different tasks in Java to create a Set game, this will allow them to learn to distributed work in environments that mirror industry. with FacebookShare Split students into groups responsible for programming different tasks in Java to create a Set game, this will allow them to learn to distributed work in environments that mirror industry. with Twitter
Ask students to consider which objects in the room are computers to further their understanding of what computing is. Use the phrasing "What different Computers do you see". Share Ask students to consider which objects in the room are computers to further their understanding of what computing is. Use the phrasing "What different Computers do you see". with FacebookShare Ask students to consider which objects in the room are computers to further their understanding of what computing is. Use the phrasing "What different Computers do you see". with Twitter
Combat stereotypes about computer science and computer scientists. This shows students that, regardless of their personality or other hobbies outside of CS, they could become computer scientists too! Share Combat stereotypes about computer science and computer scientists. This shows students that, regardless of their personality or other hobbies outside of CS, they could become computer scientists too! with FacebookShare Combat stereotypes about computer science and computer scientists. This shows students that, regardless of their personality or other hobbies outside of CS, they could become computer scientists too! with Twitter
Ensure young CS students check their functions with a variety of inputs, as well as with edge cases. Share Ensure young CS students check their functions with a variety of inputs, as well as with edge cases. with FacebookShare Ensure young CS students check their functions with a variety of inputs, as well as with edge cases. with Twitter
Remind students that variable assignment occurs in the order assignments are given. This avoids the misconception that changing one value affects other variables assigned before it. Share Remind students that variable assignment occurs in the order assignments are given. This avoids the misconception that changing one value affects other variables assigned before it. with FacebookShare Remind students that variable assignment occurs in the order assignments are given. This avoids the misconception that changing one value affects other variables assigned before it. with Twitter
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
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