Use a visual proof to demonstrate that the better strategy for resizing arrays is doubling the size to make it easier for students to understand. Share Use a visual proof to demonstrate that the better strategy for resizing arrays is doubling the size to make it easier for students to understand. with FacebookShare Use a visual proof to demonstrate that the better strategy for resizing arrays is doubling the size to make it easier for students to understand. with Twitter
Often, intuitive examples trump overly-technical description for introductions to tricky concepts such as Big-O runtime. Share Often, intuitive examples trump overly-technical description for introductions to tricky concepts such as Big-O runtime. with FacebookShare Often, intuitive examples trump overly-technical description for introductions to tricky concepts such as Big-O runtime. with Twitter
Use graphs, visualizations, and examples to help make seemingly ‘ill-defined’ topics like Big-O feel more concrete. Share Use graphs, visualizations, and examples to help make seemingly ‘ill-defined’ topics like Big-O feel more concrete. with FacebookShare Use graphs, visualizations, and examples to help make seemingly ‘ill-defined’ topics like Big-O feel more concrete. with Twitter
To help students formalize their knowledge of data structures, act out these abstract ideas as a class. Share To help students formalize their knowledge of data structures, act out these abstract ideas as a class. with FacebookShare To help students formalize their knowledge of data structures, act out these abstract ideas as a class. with Twitter
Analogize stacks and interrupts using a story in which a person is frequently interrupted in the course of performing everyday tasks. Share Analogize stacks and interrupts using a story in which a person is frequently interrupted in the course of performing everyday tasks. with FacebookShare Analogize stacks and interrupts using a story in which a person is frequently interrupted in the course of performing everyday tasks. with Twitter
Justify the reason that Java Strings are immutable by showing how Strings might be packed together in the heap to help students resolve incomplete understandings in their mental model. Share Justify the reason that Java Strings are immutable by showing how Strings might be packed together in the heap to help students resolve incomplete understandings in their mental model. with FacebookShare Justify the reason that Java Strings are immutable by showing how Strings might be packed together in the heap to help students resolve incomplete understandings in their mental model. with Twitter
Use different kinds of balls (e.g., football, baseball, basketball, small rubber ball) to introduce inheritance hierarchies visually. Share Use different kinds of balls (e.g., football, baseball, basketball, small rubber ball) to introduce inheritance hierarchies visually. with FacebookShare Use different kinds of balls (e.g., football, baseball, basketball, small rubber ball) to introduce inheritance hierarchies visually. with Twitter
Use the Barrel of Monkeys toy as a visual aid to explain linked lists. Share Use the Barrel of Monkeys toy as a visual aid to explain linked lists. with FacebookShare Use the Barrel of Monkeys toy as a visual aid to explain linked lists. with Twitter
Use Problets.org to help students practice programming basics in C++, Java, C#, or Visual Basic Share Use Problets.org to help students practice programming basics in C++, Java, C#, or Visual Basic with FacebookShare Use Problets.org to help students practice programming basics in C++, Java, C#, or Visual Basic with Twitter
In anticipation of a relatively large project, assign smaller projects that include the programming concepts necessary for the large project. Share In anticipation of a relatively large project, assign smaller projects that include the programming concepts necessary for the large project. with FacebookShare In anticipation of a relatively large project, assign smaller projects that include the programming concepts necessary for the large project. with Twitter
Create a word counter assignment to help students understand the importance of Big-O. Share Create a word counter assignment to help students understand the importance of Big-O. with FacebookShare Create a word counter assignment to help students understand the importance of Big-O. with Twitter
Require students to refactor their code while keeping the output of their program exactly the same in order to challenge them to solve problems using a variety of strategies. Share Require students to refactor their code while keeping the output of their program exactly the same in order to challenge them to solve problems using a variety of strategies. with FacebookShare Require students to refactor their code while keeping the output of their program exactly the same in order to challenge them to solve problems using a variety of strategies. with Twitter
Use Car as an example of an interface because students agree on the general behaviors of a car but can only come up with specific instantiations of cars, which provides students with a strong mental model for interface relationships. Share Use Car as an example of an interface because students agree on the general behaviors of a car but can only come up with specific instantiations of cars, which provides students with a strong mental model for interface relationships. with FacebookShare Use Car as an example of an interface because students agree on the general behaviors of a car but can only come up with specific instantiations of cars, which provides students with a strong mental model for interface relationships. with Twitter
Use Clock as an example of an abstract class because ALL clocks have the same mechanism for keeping time, a necessary property for an Abstract Class, to provide students with a strong real-world mental model for abstract classes. Share Use Clock as an example of an abstract class because ALL clocks have the same mechanism for keeping time, a necessary property for an Abstract Class, to provide students with a strong real-world mental model for abstract classes. with FacebookShare Use Clock as an example of an abstract class because ALL clocks have the same mechanism for keeping time, a necessary property for an Abstract Class, to provide students with a strong real-world mental model for abstract classes. with Twitter
Have students act out diagrams they create of the stack and heap to extend this common drawing exercise and help them strengthen their mental models. Share Have students act out diagrams they create of the stack and heap to extend this common drawing exercise and help them strengthen their mental models. with FacebookShare Have students act out diagrams they create of the stack and heap to extend this common drawing exercise and help them strengthen their mental models. with Twitter
Force students to explore inheritance and the Java APIs for ArrayList by writing code that HAS-A ArrayList or IS-A ArrayList. Share Force students to explore inheritance and the Java APIs for ArrayList by writing code that HAS-A ArrayList or IS-A ArrayList. with FacebookShare Force students to explore inheritance and the Java APIs for ArrayList by writing code that HAS-A ArrayList or IS-A ArrayList. with Twitter
Misconception: In Java, students don’t realize that methods are inherited, but constructors are not. Share Misconception: In Java, students don’t realize that methods are inherited, but constructors are not. with FacebookShare Misconception: In Java, students don’t realize that methods are inherited, but constructors are not. with Twitter
Use a toddler’s shape sorter as a way of introducing Class Creation and Inheritance. Share Use a toddler’s shape sorter as a way of introducing Class Creation and Inheritance. with FacebookShare Use a toddler’s shape sorter as a way of introducing Class Creation and Inheritance. with Twitter
Have students write methods that perform tasks of a standard music player in Java to give them practice manipulating data structures in a familiar context. Share Have students write methods that perform tasks of a standard music player in Java to give them practice manipulating data structures in a familiar context. with FacebookShare Have students write methods that perform tasks of a standard music player in Java to give them practice manipulating data structures in a familiar context. with Twitter
Have students design an anagram solver in Prolog or Java to introduce recursive backtracking. Share Have students design an anagram solver in Prolog or Java to introduce recursive backtracking. with FacebookShare Have students design an anagram solver in Prolog or Java to introduce recursive backtracking. with Twitter