Demo visualizations of code executing online, using tools like Python Tutor, and on paper before having students practice visualizing code execution in the same way to better learn how code executes. Share Demo visualizations of code executing online, using tools like Python Tutor, and on paper before having students practice visualizing code execution in the same way to better learn how code executes. with FacebookShare Demo visualizations of code executing online, using tools like Python Tutor, and on paper before having students practice visualizing code execution in the same way to better learn how code executes. with Twitter
Teach students that if they need to explain their code for someone else to understand it, they should think about how to change the code to make it readable. Share Teach students that if they need to explain their code for someone else to understand it, they should think about how to change the code to make it readable. with FacebookShare Teach students that if they need to explain their code for someone else to understand it, they should think about how to change the code to make it readable. with Twitter
Ground the teaching of style and code clarity through the experience of reading unfamiliar code to provide meaningful motivation for students. Share Ground the teaching of style and code clarity through the experience of reading unfamiliar code to provide meaningful motivation for students. with FacebookShare Ground the teaching of style and code clarity through the experience of reading unfamiliar code to provide meaningful motivation for students. with Twitter
Create a list of the vocabulary terms that come up in error messages for the specific programming language you’re teaching so that students are prepared to understand and interpret the error messages they come across. Share Create a list of the vocabulary terms that come up in error messages for the specific programming language you’re teaching so that students are prepared to understand and interpret the error messages they come across. with FacebookShare Create a list of the vocabulary terms that come up in error messages for the specific programming language you’re teaching so that students are prepared to understand and interpret the error messages they come across. with Twitter
Introduce terms like declaration, initialization, and operand that often appear in C++ error messages so that students are prepared to understand and interpret the error messages they come across using C++. Share Introduce terms like declaration, initialization, and operand that often appear in C++ error messages so that students are prepared to understand and interpret the error messages they come across using C++. with FacebookShare Introduce terms like declaration, initialization, and operand that often appear in C++ error messages so that students are prepared to understand and interpret the error messages they come across using C++. with Twitter
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
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
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
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
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
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
Misconception: When a variable is on both sides of an equal sign (i.e., x = x+1), students can get very confused. Share Misconception: When a variable is on both sides of an equal sign (i.e., x = x+1), students can get very confused. with FacebookShare Misconception: When a variable is on both sides of an equal sign (i.e., x = x+1), students can get very confused. with Twitter
Use tupperware containers and act out being the computer to teach students how in CS variables and statements like x=x+1 are different than variables and equations in math by creating a meaningful visualization. Share Use tupperware containers and act out being the computer to teach students how in CS variables and statements like x=x+1 are different than variables and equations in math by creating a meaningful visualization. with FacebookShare Use tupperware containers and act out being the computer to teach students how in CS variables and statements like x=x+1 are different than variables and equations in math by creating a meaningful visualization. with Twitter
Use descriptive variable names to model good naming practice so that students learn the value of descriptive names. Share Use descriptive variable names to model good naming practice so that students learn the value of descriptive names. with FacebookShare Use descriptive variable names to model good naming practice so that students learn the value of descriptive names. with Twitter
Show code where the name of the method’s actual arguments and formal parameters are different so students see first hand that these two items don’t have to match for code to execute and improve their understanding of scope. Share Show code where the name of the method’s actual arguments and formal parameters are different so students see first hand that these two items don’t have to match for code to execute and improve their understanding of scope. with FacebookShare Show code where the name of the method’s actual arguments and formal parameters are different so students see first hand that these two items don’t have to match for code to execute and improve their understanding of scope. with Twitter
Show students many examples so they see that Java passes arguments by value to help improve student understanding of scope. Share Show students many examples so they see that Java passes arguments by value to help improve student understanding of scope. with FacebookShare Show students many examples so they see that Java passes arguments by value to help improve student understanding of scope. with Twitter