Misconception: Students create a new instance variable when they only need a local variable. Share Misconception: Students create a new instance variable when they only need a local variable. with FacebookShare Misconception: Students create a new instance variable when they only need a local variable. with Twitter
Show students examples of unreachable code to help them reason about how conditionals are executed. Share Show students examples of unreachable code to help them reason about how conditionals are executed. with FacebookShare Show students examples of unreachable code to help them reason about how conditionals are executed. with Twitter
Use SRec, a recursion visualization tool, in your introductory Java courses to help students conceptualize the recursive algorithms they write. Share Use SRec, a recursion visualization tool, in your introductory Java courses to help students conceptualize the recursive algorithms they write. with FacebookShare Use SRec, a recursion visualization tool, in your introductory Java courses to help students conceptualize the recursive algorithms they write. with Twitter
Have students create a game of Tetris in Java to work on object-oriented programming and decomposing complex programs. Share Have students create a game of Tetris in Java to work on object-oriented programming and decomposing complex programs. with FacebookShare Have students create a game of Tetris in Java to work on object-oriented programming and decomposing complex programs. with Twitter
Have students write many small, simple classes in Java to scaffold their learning of the basics of object-oriented programming. Share Have students write many small, simple classes in Java to scaffold their learning of the basics of object-oriented programming. with FacebookShare Have students write many small, simple classes in Java to scaffold their learning of the basics of object-oriented programming. with Twitter
Have students create a Burrito class in Java to practice object-oriented programming using an object they are familiar with. Share Have students create a Burrito class in Java to practice object-oriented programming using an object they are familiar with. with FacebookShare Have students create a Burrito class in Java to practice object-oriented programming using an object they are familiar with. with Twitter
Have students write a program that constructs an n x n Magic Square in Java so they gain practice working with bounds in 2D arrays. Share Have students write a program that constructs an n x n Magic Square in Java so they gain practice working with bounds in 2D arrays. with FacebookShare Have students write a program that constructs an n x n Magic Square in Java so they gain practice working with bounds in 2D arrays. with Twitter
Have students translate between Java Array and ArrayList to highlight the differences between the two. Share Have students translate between Java Array and ArrayList to highlight the differences between the two. with FacebookShare Have students translate between Java Array and ArrayList to highlight the differences between the two. with Twitter
Misconception: When students use the division operator during declaration or assignment of a Double in Java, like double x = a/b, they forget about integer division, which can result in rounding errors. Share Misconception: When students use the division operator during declaration or assignment of a Double in Java, like double x = a/b, they forget about integer division, which can result in rounding errors. with FacebookShare Misconception: When students use the division operator during declaration or assignment of a Double in Java, like double x = a/b, they forget about integer division, which can result in rounding errors. 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
Write an exception inside of a loop, then outside of a loop when live-coding so that students learn the effects of placement on exceptions. Share Write an exception inside of a loop, then outside of a loop when live-coding so that students learn the effects of placement on exceptions. with FacebookShare Write an exception inside of a loop, then outside of a loop when live-coding so that students learn the effects of placement on exceptions. 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