Misconception: Students think that both the IF and the ELSE cases of a conditional are executed every single time a conditional runs.
Misconception: Students believe that in a primitive assignment, x = y could be the equivalent of y = x; they think that the computer science “=” sign is the same as the mathematical “=” sign.
Remind students that the computer will run any code that compiles, no matter how unreasonable, because it doesn’t have the ability to determine if code is reasonable or not.
When explaining program structure, highlight which aspects of the program are static and which are dynamic in order to clearly distinguish between the two.
Misconception: students struggle with scopes of variables and may not understand when a variable can be accessed and when it cannot be accessed.