Misconception: Students often have off by 1 errors when working with loops, which can result from mixing up > and >= as well as forgetting that arrays start at index 0. Share Misconception: Students often have off by 1 errors when working with loops, which can result from mixing up > and >= as well as forgetting that arrays start at index 0. with FacebookShare Misconception: Students often have off by 1 errors when working with loops, which can result from mixing up > and >= as well as forgetting that arrays start at index 0. with Twitter

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

Use PEZ ® dispensers to demonstrate the push, pop, and peek methods for stacks to provide a clear and accessible illustration of these methods. Share Use PEZ ® dispensers to demonstrate the push, pop, and peek methods for stacks to provide a clear and accessible illustration of these methods. with FacebookShare Use PEZ ® dispensers to demonstrate the push, pop, and peek methods for stacks to provide a clear and accessible illustration of these methods. with Twitter

Use patternCoder to help students move from conceptual model classes to code by selecting class relationships that reflect the system they want to create in Java. Share Use patternCoder to help students move from conceptual model classes to code by selecting class relationships that reflect the system they want to create in Java. with FacebookShare Use patternCoder to help students move from conceptual model classes to code by selecting class relationships that reflect the system they want to create in Java. 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

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

Misconception: Students think that arrays start at 1 instead of 0. Share Misconception: Students think that arrays start at 1 instead of 0. with FacebookShare Misconception: Students think that arrays start at 1 instead of 0. with Twitter

Use an activity that introduces minimal spanning trees by having students determine the minimum number of roads to pave between houses. Share Use an activity that introduces minimal spanning trees by having students determine the minimum number of roads to pave between houses. with FacebookShare Use an activity that introduces minimal spanning trees by having students determine the minimum number of roads to pave between houses. 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

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

Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. Share Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. with FacebookShare Have students reason about optimization by creating a program that’ll make an 80 minute playlist for a party. with Twitter

When teaching arrays, have students complete the Four Rotations problems in pairs. Share When teaching arrays, have students complete the Four Rotations problems in pairs. with FacebookShare When teaching arrays, have students complete the Four Rotations problems in pairs. with Twitter

Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades. Share Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades. with FacebookShare Teach ArrayLists for the AP CS A exam by having students uncover interesting information from your past students’ grades. with Twitter

Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. Share Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. with FacebookShare Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze. 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

Give students a caesar cipher to reveal a picture or message in order to teach how characters can be treated as numbers and to reinforce string manipulation. Share Give students a caesar cipher to reveal a picture or message in order to teach how characters can be treated as numbers and to reinforce string manipulation. with FacebookShare Give students a caesar cipher to reveal a picture or message in order to teach how characters can be treated as numbers and to reinforce string manipulation. with Twitter

Misconception: Students have difficulty using the correct data types in Java because their go-to data type is int most of the time. Share Misconception: Students have difficulty using the correct data types in Java because their go-to data type is int most of the time. with FacebookShare Misconception: Students have difficulty using the correct data types in Java because their go-to data type is int most of the time. with Twitter

Explain that arrays work like a dresser of clothing to help students understand this abstract data structure by relating it to structures they know. Share Explain that arrays work like a dresser of clothing to help students understand this abstract data structure by relating it to structures they know. with FacebookShare Explain that arrays work like a dresser of clothing to help students understand this abstract data structure by relating it to structures they know. with Twitter

Provide specific ways to get additional practice on material (e.g., Linked lists) because teachers often underestimate the amount of practice students need to solidify course concepts. Share Provide specific ways to get additional practice on material (e.g., Linked lists) because teachers often underestimate the amount of practice students need to solidify course concepts. with FacebookShare Provide specific ways to get additional practice on material (e.g., Linked lists) because teachers often underestimate the amount of practice students need to solidify course concepts. with Twitter