Organize an activity where students make phone calls to their classmates with the goal of summing the numbers 1 through 6 in order to demonstrate recursion. Share Organize an activity where students make phone calls to their classmates with the goal of summing the numbers 1 through 6 in order to demonstrate recursion. with FacebookShare Organize an activity where students make phone calls to their classmates with the goal of summing the numbers 1 through 6 in order to demonstrate recursion. 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
Remind students to spend lots of time carefully reading the free-response questions on the AP CS A exam to prepare them for this portion of the exam. Share Remind students to spend lots of time carefully reading the free-response questions on the AP CS A exam to prepare them for this portion of the exam. with FacebookShare Remind students to spend lots of time carefully reading the free-response questions on the AP CS A exam to prepare them for this portion of the exam. 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
Provide students with an algorithm which is written in everyday language and have students write pseudocode in order to help them practice the process of translating the ideas in their heads into code. Share Provide students with an algorithm which is written in everyday language and have students write pseudocode in order to help them practice the process of translating the ideas in their heads into code. with FacebookShare Provide students with an algorithm which is written in everyday language and have students write pseudocode in order to help them practice the process of translating the ideas in their heads into code. 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
Teach students how to find built-in Java methods in the Javadocs documentation so they can are prepared to use this skill on the AP CS exam. Share Teach students how to find built-in Java methods in the Javadocs documentation so they can are prepared to use this skill on the AP CS exam. with FacebookShare Teach students how to find built-in Java methods in the Javadocs documentation so they can are prepared to use this skill on the AP CS exam. 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
Misconception: When students trace through recursive code, they have trouble figuring out if operations are done before or after the recursive call. Share Misconception: When students trace through recursive code, they have trouble figuring out if operations are done before or after the recursive call. with FacebookShare Misconception: When students trace through recursive code, they have trouble figuring out if operations are done before or after the recursive call. with Twitter
Have students label a string’s index values to help them understand how to use Java’s substring method. Share Have students label a string’s index values to help them understand how to use Java’s substring method. with FacebookShare Have students label a string’s index values to help them understand how to use Java’s substring method. with Twitter
Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own Share Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own with FacebookShare Choose an appropriate IDE that fits course goals. For AP CS, use an IDE that doesn’t autofill to give students more practice writing code on their own with Twitter
Highlight key differences between math, CS, and engineering to give students context for why CS is a distinct field in itself. Let students know that you don’t necessarily have to excel in one field to excel in the others. Share Highlight key differences between math, CS, and engineering to give students context for why CS is a distinct field in itself. Let students know that you don’t necessarily have to excel in one field to excel in the others. with FacebookShare Highlight key differences between math, CS, and engineering to give students context for why CS is a distinct field in itself. Let students know that you don’t necessarily have to excel in one field to excel in the others. with Twitter
Take extra time to encourage beginner students to learn more about CS, by (1) promoting AP CS and (2) using a final project for students already taking AP CS Share Take extra time to encourage beginner students to learn more about CS, by (1) promoting AP CS and (2) using a final project for students already taking AP CS with FacebookShare Take extra time to encourage beginner students to learn more about CS, by (1) promoting AP CS and (2) using a final project for students already taking AP CS with Twitter
When advertising your course, make it clear that any students “willing to do the work” are “wanted in the course,” and use titles like “Be a software engineer” or “Be an innovator” for your course or course modules. Share When advertising your course, make it clear that any students “willing to do the work” are “wanted in the course,” and use titles like “Be a software engineer” or “Be an innovator” for your course or course modules. with FacebookShare When advertising your course, make it clear that any students “willing to do the work” are “wanted in the course,” and use titles like “Be a software engineer” or “Be an innovator” for your course or course modules. with Twitter
Team up with teachers of lower grades to ensure that your students are sufficiently prepared for the rigor of more advanced classes. Share Team up with teachers of lower grades to ensure that your students are sufficiently prepared for the rigor of more advanced classes. with FacebookShare Team up with teachers of lower grades to ensure that your students are sufficiently prepared for the rigor of more advanced classes. with Twitter
Introduce a new concept by having students modify existing, well-defined programs before writing programs from scratch. Share Introduce a new concept by having students modify existing, well-defined programs before writing programs from scratch. with FacebookShare Introduce a new concept by having students modify existing, well-defined programs before writing programs from scratch. with Twitter
Explain inheritance using an “is-a” relationship and composition using a “has-a” relationship. Share Explain inheritance using an “is-a” relationship and composition using a “has-a” relationship. with FacebookShare Explain inheritance using an “is-a” relationship and composition using a “has-a” relationship. with Twitter