When students consider a function that produces incorrect outputs to be working, assign problems that provide clear on-screen feedback when a function is incorrect.
When designing early CS courses, use tools with familiar interfaces, like programs with drag and drop components.
Encourage new CS students to break away from the habit of using an interface to solve computer problems.
Beginning students are used to viewing computers from a user’s perspective, and they subsequently have habits that may conflict with using the computer as a programmer.
When designing CS courses for total novices, integrate activities based on students’ pre-existing interests to engage them.
Students tend to make assumptions about computer science based on the experiences they’ve already had with computers.
Have students keep a “bug collection” in a journal so they can more easily recognize and eliminate bugs in the future.