Organize a game in which students in a circle need to obtain their assigned item by passing the items between empty-handed neighbors to interactively demonstrate deadlock.
Misconception: Students have difficulty understanding how to share App Inventor projects between different computers.
Use physical activities to demonstrate sorting algorithms and help students build intuition about how these algorithms work.
Have students act as elements walking through a network to sort themselves to teach students about how Sorting Networks function.
Provide students with App Inventor starter code they can modify and build on so they have an opportunity to play around in App Inventor without becoming overwhelmed by starting from scratch.
Have students find the best method of sorting a group of unknown weights to teach them about sorting algorithms.
Misconception: Students get confused about why every character in NetLogo is called a turtle even if they don’t look like turtles.
Use in-class clicker questions to identify students struggling at the beginning of the course so you can reach out to them.
Have pairs of students aim to achieve the same patterns on Battleship boards to teach them the precision necessary for algorithmic design.
Have pair programming groups rotate computers every 10 minutes in an activity where they have to continue to solve the assigned problem using other pairs’ code to motivate writing good comments.
Build relationships with local college faculty or software engineers so you can periodically ask them for email-based debugging help for students.
Include college seniors in intro courses by having them write blog posts reviewing interesting developments in information technology to engage intro CS students.
When explaining program structure, highlight which aspects of the program are static and which are dynamic in order to clearly distinguish between the two.
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.
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.
Misconception: Students think that both the IF and the ELSE cases of a conditional are executed every single time a conditional runs.