Have students analyze the effects of changing pieces of a loop to improve their understanding of loop structure. Share Have students analyze the effects of changing pieces of a loop to improve their understanding of loop structure. with FacebookShare Have students analyze the effects of changing pieces of a loop to improve their understanding of loop structure. with Twitter
Misconception: Students don’t understand that the right side of an assignment statement is executed before the assignment. They think that variables store unresolved equations. Share Misconception: Students don’t understand that the right side of an assignment statement is executed before the assignment. They think that variables store unresolved equations. with FacebookShare Misconception: Students don’t understand that the right side of an assignment statement is executed before the assignment. They think that variables store unresolved equations. with Twitter
Show students the visual representation of recursion in the Modern Family title sequence for a fun way to introduce them to this concept. Share Show students the visual representation of recursion in the Modern Family title sequence for a fun way to introduce them to this concept. with FacebookShare Show students the visual representation of recursion in the Modern Family title sequence for a fun way to introduce them to this concept. with Twitter
Have students use lollipop sticks or toothpicks to represent each statement call in an N-ary recursive algorithm. Share Have students use lollipop sticks or toothpicks to represent each statement call in an N-ary recursive algorithm. with FacebookShare Have students use lollipop sticks or toothpicks to represent each statement call in an N-ary recursive algorithm. with Twitter
Use constructive and well-formed examples, like Quicksort, to teach recursion so that students have a strong model for building their own solutions. Share Use constructive and well-formed examples, like Quicksort, to teach recursion so that students have a strong model for building their own solutions. with FacebookShare Use constructive and well-formed examples, like Quicksort, to teach recursion so that students have a strong model for building their own solutions. with Twitter
Show students multiple examples of iteration in Scratch to help them understand and recognize more abstract programming patterns. Share Show students multiple examples of iteration in Scratch to help them understand and recognize more abstract programming patterns. with FacebookShare Show students multiple examples of iteration in Scratch to help them understand and recognize more abstract programming patterns. with Twitter
Misconception: Students confuse static and final variables in Java. Share Misconception: Students confuse static and final variables in Java. with FacebookShare Misconception: Students confuse static and final variables in Java. with Twitter
Create assignments that are isomorphic to in-class examples so students have to put more thought into writing their homework code. Share Create assignments that are isomorphic to in-class examples so students have to put more thought into writing their homework code. with FacebookShare Create assignments that are isomorphic to in-class examples so students have to put more thought into writing their homework code. with Twitter
Misconception: Students have trouble understanding the difference between checked and unchecked exceptions in Java. Share Misconception: Students have trouble understanding the difference between checked and unchecked exceptions in Java. with FacebookShare Misconception: Students have trouble understanding the difference between checked and unchecked exceptions in Java. with Twitter
Misconception: Students have trouble distinguishing between instance variables and parameters in Java. Share Misconception: Students have trouble distinguishing between instance variables and parameters in Java. with FacebookShare Misconception: Students have trouble distinguishing between instance variables and parameters in Java. with Twitter
Use dice to introduce instantiable classes in Java because it’s easier for novice students to create classes based on a familiar object. Share Use dice to introduce instantiable classes in Java because it’s easier for novice students to create classes based on a familiar object. with FacebookShare Use dice to introduce instantiable classes in Java because it’s easier for novice students to create classes based on a familiar object. with Twitter
Demonstrate manipulating primitives with operators before manipulating them with methods so students can understand the basics of primitives before using them in a more complicated way. Share Demonstrate manipulating primitives with operators before manipulating them with methods so students can understand the basics of primitives before using them in a more complicated way. with FacebookShare Demonstrate manipulating primitives with operators before manipulating them with methods so students can understand the basics of primitives before using them in a more complicated way. with Twitter
Misconception: Students who first learn object-oriented programming in Python don’t realize they need to explicitly define instance variables in Java because this is done implicitly in Python. Share Misconception: Students who first learn object-oriented programming in Python don’t realize they need to explicitly define instance variables in Java because this is done implicitly in Python. with FacebookShare Misconception: Students who first learn object-oriented programming in Python don’t realize they need to explicitly define instance variables in Java because this is done implicitly in Python. with Twitter
Misconception: Students get confused with object-oriented programming in Python because function declarations explicitly take self as an argument, but function calls don’t use self as argument. Share Misconception: Students get confused with object-oriented programming in Python because function declarations explicitly take self as an argument, but function calls don’t use self as argument. with FacebookShare Misconception: Students get confused with object-oriented programming in Python because function declarations explicitly take self as an argument, but function calls don’t use self as argument. with Twitter
Give students tips and resources to help them shift from one programming language to another. Share Give students tips and resources to help them shift from one programming language to another. with FacebookShare Give students tips and resources to help them shift from one programming language to another. with Twitter
Encourage students to replace variables with values when tracing through code to reduce the necessary cognitive load. Share Encourage students to replace variables with values when tracing through code to reduce the necessary cognitive load. with FacebookShare Encourage students to replace variables with values when tracing through code to reduce the necessary cognitive load. with Twitter
Discuss and explore the difference between additive (sequential) and multiplicative (nested) loop structures to give students practice reasoning about loops. Share Discuss and explore the difference between additive (sequential) and multiplicative (nested) loop structures to give students practice reasoning about loops. with FacebookShare Discuss and explore the difference between additive (sequential) and multiplicative (nested) loop structures to give students practice reasoning about loops. with Twitter
Have students pay close attention to loop bounds when tracing through code to help them identify and avoid off-by-one errors caused this way. Share Have students pay close attention to loop bounds when tracing through code to help them identify and avoid off-by-one errors caused this way. with FacebookShare Have students pay close attention to loop bounds when tracing through code to help them identify and avoid off-by-one errors caused this way. with Twitter
Have students practice looping through an array in as many ways as possible, such as forwards and backwards, to increase their comfort with array looping. Share Have students practice looping through an array in as many ways as possible, such as forwards and backwards, to increase their comfort with array looping. with FacebookShare Have students practice looping through an array in as many ways as possible, such as forwards and backwards, to increase their comfort with array looping. with Twitter
Compare objects in Java to cloud-hosted documents, such as Google Docs, for a relatable analogy to explain object references with. Share Compare objects in Java to cloud-hosted documents, such as Google Docs, for a relatable analogy to explain object references with. with FacebookShare Compare objects in Java to cloud-hosted documents, such as Google Docs, for a relatable analogy to explain object references with. with Twitter