Browse All Tips
Displaying 1  20 of 124


Show students examples of unreachable code to help them reason about how conditionals are executed.

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 objectoriented programming and decomposing complex programs.

Have students write many small, simple classes in Java to scaffold their learning of the basics of objectoriented programming.

Have students create a Burrito class in Java to practice objectoriented programming using an object they are familiar with.

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.

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.

Write an exception inside of a loop, then outside of a loop when livecoding so that students learn the effects of placement on exceptions.
Share Write an exception inside of a loop, then outside of a loop when livecoding 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 livecoding 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.

Misconception: Students have trouble distinguishing between instance variables and parameters in Java.

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 objectoriented 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 objectoriented 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 objectoriented 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 objectoriented 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 objectoriented 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 objectoriented 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.

Encourage students to replace variables with values when tracing through code to reduce the necessary cognitive load.

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