Model writing code using the following techniques to show students how you think about constructing programs in order to support them in learning to independently think through algorithm development. Share Model writing code using the following techniques to show students how you think about constructing programs in order to support them in learning to independently think through algorithm development. with FacebookShare Model writing code using the following techniques to show students how you think about constructing programs in order to support them in learning to independently think through algorithm development. with Twitter
Get students paying attention to types in Python; although type declarations aren’t explicitly required in Python, they still exist and are crucial to understanding how Python manages data. Share Get students paying attention to types in Python; although type declarations aren’t explicitly required in Python, they still exist and are crucial to understanding how Python manages data. with FacebookShare Get students paying attention to types in Python; although type declarations aren’t explicitly required in Python, they still exist and are crucial to understanding how Python manages data. with Twitter
Forward students links to programs in Python Tutor and ask them to answer questions about how the code works to go over what happens during a function call to provide students in-depth practice. Share Forward students links to programs in Python Tutor and ask them to answer questions about how the code works to go over what happens during a function call to provide students in-depth practice. with FacebookShare Forward students links to programs in Python Tutor and ask them to answer questions about how the code works to go over what happens during a function call to provide students in-depth practice. with Twitter
Break down the structure of the internet and define keywords, even though students may have surface familiarity with them, to ensure that your class learns this crucial CSP material. Share Break down the structure of the internet and define keywords, even though students may have surface familiarity with them, to ensure that your class learns this crucial CSP material. with FacebookShare Break down the structure of the internet and define keywords, even though students may have surface familiarity with them, to ensure that your class learns this crucial CSP material. with Twitter
Misconception: Students struggle with the jump from writing code in one method to writing code in two methods. Share Misconception: Students struggle with the jump from writing code in one method to writing code in two methods. with FacebookShare Misconception: Students struggle with the jump from writing code in one method to writing code in two methods. with Twitter
Misconception: Return is a mystery to students because they may not understand that functions have an entry point and an exit point. This results in mistakes such as assuming Python will return the right thing. Share Misconception: Return is a mystery to students because they may not understand that functions have an entry point and an exit point. This results in mistakes such as assuming Python will return the right thing. with FacebookShare Misconception: Return is a mystery to students because they may not understand that functions have an entry point and an exit point. This results in mistakes such as assuming Python will return the right thing. with Twitter
Distinguish the differences between print statements and return statements to help students understand that these elements are not related because this conflation can cause a lot of confusion. Share Distinguish the differences between print statements and return statements to help students understand that these elements are not related because this conflation can cause a lot of confusion. with FacebookShare Distinguish the differences between print statements and return statements to help students understand that these elements are not related because this conflation can cause a lot of confusion. with Twitter
Show a variety of for loops conditionals (e.g., < vs. <=; different variable names, different start values, different increment operations) to avoid common misconceptions about loops. Share Show a variety of for loops conditionals (e.g., < vs. <=; different variable names, different start values, different increment operations) to avoid common misconceptions about loops. with FacebookShare Show a variety of for loops conditionals (e.g., < vs. <=; different variable names, different start values, different increment operations) to avoid common misconceptions about loops. with Twitter
Having students trace a simple program for drawing a set of squares in Processing to introduce loops and strengthen student understanding for-loops with a body of code through practice. Share Having students trace a simple program for drawing a set of squares in Processing to introduce loops and strengthen student understanding for-loops with a body of code through practice. with FacebookShare Having students trace a simple program for drawing a set of squares in Processing to introduce loops and strengthen student understanding for-loops with a body of code through practice. with Twitter
Motivate for-loops by having students informally describe how to draw a set of 5 shapes, then having them turn this description into pseudocode to practice for-loops. Share Motivate for-loops by having students informally describe how to draw a set of 5 shapes, then having them turn this description into pseudocode to practice for-loops. with FacebookShare Motivate for-loops by having students informally describe how to draw a set of 5 shapes, then having them turn this description into pseudocode to practice for-loops. with Twitter
Misconceptions: Students have difficulty with loops partially because the motivation for looping a small number of times seems insufficient. Share Misconceptions: Students have difficulty with loops partially because the motivation for looping a small number of times seems insufficient. with FacebookShare Misconceptions: Students have difficulty with loops partially because the motivation for looping a small number of times seems insufficient. with Twitter
Show students to separate the for-loop header from the for-loop content when discussing how many times a for-loop loops because students can get overwhelmed, but need to be able to separate the conditional from the loop’s content. Share Show students to separate the for-loop header from the for-loop content when discussing how many times a for-loop loops because students can get overwhelmed, but need to be able to separate the conditional from the loop’s content. with FacebookShare Show students to separate the for-loop header from the for-loop content when discussing how many times a for-loop loops because students can get overwhelmed, but need to be able to separate the conditional from the loop’s content. with Twitter
Misconception: Students sometimes will use reserved keywords as variable names. Share Misconception: Students sometimes will use reserved keywords as variable names. with FacebookShare Misconception: Students sometimes will use reserved keywords as variable names. with Twitter
Encourage students to get the for-loop counter right before adding code inside the for loop this will reduce the amount of time spent troubleshooting for-loops and ensure students are scaffolded well. Share Encourage students to get the for-loop counter right before adding code inside the for loop this will reduce the amount of time spent troubleshooting for-loops and ensure students are scaffolded well. with FacebookShare Encourage students to get the for-loop counter right before adding code inside the for loop this will reduce the amount of time spent troubleshooting for-loops and ensure students are scaffolded well. with Twitter
Show students explicitly how objects and variables might have other names (i.e., aliasing) to help students understand that variable names don’t have to match parameter names because students often find this confusing. Share Show students explicitly how objects and variables might have other names (i.e., aliasing) to help students understand that variable names don’t have to match parameter names because students often find this confusing. with FacebookShare Show students explicitly how objects and variables might have other names (i.e., aliasing) to help students understand that variable names don’t have to match parameter names because students often find this confusing. with Twitter
Use puzzles, problem solving, and tinkering in assignments and activities to build students’ confidence and interest in pursuing Computer Science and to ensure that students understand and develop necessary skills for success. Share Use puzzles, problem solving, and tinkering in assignments and activities to build students’ confidence and interest in pursuing Computer Science and to ensure that students understand and develop necessary skills for success. with FacebookShare Use puzzles, problem solving, and tinkering in assignments and activities to build students’ confidence and interest in pursuing Computer Science and to ensure that students understand and develop necessary skills for success. with Twitter
Use Zyante programming textbooks so that reading assignments are integrated with frequent exercises to ensure students understand and have plenty of practice with a topic before moving forward. Share Use Zyante programming textbooks so that reading assignments are integrated with frequent exercises to ensure students understand and have plenty of practice with a topic before moving forward. with FacebookShare Use Zyante programming textbooks so that reading assignments are integrated with frequent exercises to ensure students understand and have plenty of practice with a topic before moving forward. with Twitter
Use small whiteboards for formative assessments during class instead of clickers because they have a low overhead to get up and running and they allow you to quickly gauge student progress. Share Use small whiteboards for formative assessments during class instead of clickers because they have a low overhead to get up and running and they allow you to quickly gauge student progress. with FacebookShare Use small whiteboards for formative assessments during class instead of clickers because they have a low overhead to get up and running and they allow you to quickly gauge student progress. with Twitter
Misconception: Students don’t realize that the keyword return causes Java to leave the current method. Share Misconception: Students don’t realize that the keyword return causes Java to leave the current method. with FacebookShare Misconception: Students don’t realize that the keyword return causes Java to leave the current method. with Twitter
Explain that Java’s return is like a platter where you can hand information between methods to help students create a concrete mental model for an often tricky subject. Share Explain that Java’s return is like a platter where you can hand information between methods to help students create a concrete mental model for an often tricky subject. with FacebookShare Explain that Java’s return is like a platter where you can hand information between methods to help students create a concrete mental model for an often tricky subject. with Twitter