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
Use a diagram with variable-value pairs for each call of a recursive function to help students see the change of control flow as calls are made and completed. Share Use a diagram with variable-value pairs for each call of a recursive function to help students see the change of control flow as calls are made and completed. with FacebookShare Use a diagram with variable-value pairs for each call of a recursive function to help students see the change of control flow as calls are made and completed. with Twitter
Encourage students to write the inside of the loop before the loop syntax to help students recognize the conditions necessary for iteration. Share Encourage students to write the inside of the loop before the loop syntax to help students recognize the conditions necessary for iteration. with FacebookShare Encourage students to write the inside of the loop before the loop syntax to help students recognize the conditions necessary for iteration. with Twitter
Direct students struggling with loops to write on paper what should happen, then have them determine the start, end, and update values. Share Direct students struggling with loops to write on paper what should happen, then have them determine the start, end, and update values. with FacebookShare Direct students struggling with loops to write on paper what should happen, then have them determine the start, end, and update values. with Twitter
Encourage students to step away from buggy code and think about the big picture as a part of the debugging process. Share Encourage students to step away from buggy code and think about the big picture as a part of the debugging process. with FacebookShare Encourage students to step away from buggy code and think about the big picture as a part of the debugging process. 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
Use treasure hunts as a way to motivate linux commands. Share Use treasure hunts as a way to motivate linux commands. with FacebookShare Use treasure hunts as a way to motivate linux commands. with Twitter
When presenting abstract concepts, have students close their eyes and visualize the concepts as they are described. Then, have them draw what they saw. Share When presenting abstract concepts, have students close their eyes and visualize the concepts as they are described. Then, have them draw what they saw. with FacebookShare When presenting abstract concepts, have students close their eyes and visualize the concepts as they are described. Then, have them draw what they saw. with Twitter
Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts. Share Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts. with FacebookShare Use analogies to real-life things or events in order to provide students with a more concrete picture of abstract concepts. with Twitter
Use a simple IDE to avoid distracting from the actual material; using a complex IDE/programming environment can be overwhelming to students. Share Use a simple IDE to avoid distracting from the actual material; using a complex IDE/programming environment can be overwhelming to students. with FacebookShare Use a simple IDE to avoid distracting from the actual material; using a complex IDE/programming environment can be overwhelming to students. with Twitter
In assignments, make sure to include examples of or references to code that is essential for a program, but that students are not responsible for writing. Share In assignments, make sure to include examples of or references to code that is essential for a program, but that students are not responsible for writing. with FacebookShare In assignments, make sure to include examples of or references to code that is essential for a program, but that students are not responsible for writing. with Twitter
Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question. Share Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question. with FacebookShare Compare a program to a military dictatorship to emphasize that correctly-formed computer program instructions are followed literally and without question. with Twitter
Do not have students write code for common algorithms. Instead, incorporate common algorithms into your class in novel course-specific variants Share Do not have students write code for common algorithms. Instead, incorporate common algorithms into your class in novel course-specific variants with FacebookShare Do not have students write code for common algorithms. Instead, incorporate common algorithms into your class in novel course-specific variants with Twitter
Students often get stuck because they start working on a problem without thinking about what they need to know and do in order to get a working solution. Share Students often get stuck because they start working on a problem without thinking about what they need to know and do in order to get a working solution. with FacebookShare Students often get stuck because they start working on a problem without thinking about what they need to know and do in order to get a working solution. with Twitter
Remind students about steps of the problem-solving process as they develop algorithms to solve programming problems. Share Remind students about steps of the problem-solving process as they develop algorithms to solve programming problems. with FacebookShare Remind students about steps of the problem-solving process as they develop algorithms to solve programming problems. with Twitter
Emphasize that students should know which HTML tags are self-contained to make writing and debugging code easier. Share Emphasize that students should know which HTML tags are self-contained to make writing and debugging code easier. with FacebookShare Emphasize that students should know which HTML tags are self-contained to make writing and debugging code easier. with Twitter
When creating websites, many misconceptions students have arise from not fully understanding CSS, Cascading Style Sheets. Share When creating websites, many misconceptions students have arise from not fully understanding CSS, Cascading Style Sheets. with FacebookShare When creating websites, many misconceptions students have arise from not fully understanding CSS, Cascading Style Sheets. with Twitter
When teaching Web Development, look for a textbook with good examples, not just good explanations. Share When teaching Web Development, look for a textbook with good examples, not just good explanations. with FacebookShare When teaching Web Development, look for a textbook with good examples, not just good explanations. with Twitter
When developing for the web, have students run their code in multiple browsers to ensure compatibility. Share When developing for the web, have students run their code in multiple browsers to ensure compatibility. with FacebookShare When developing for the web, have students run their code in multiple browsers to ensure compatibility. with Twitter
Teach students that running tests cannot prove that a code works. It can, however, prove that code is not working. Share Teach students that running tests cannot prove that a code works. It can, however, prove that code is not working. with FacebookShare Teach students that running tests cannot prove that a code works. It can, however, prove that code is not working. with Twitter