Tell students that they have to fix their indentation before you’ll help them debug to encourage well-organized code.
When a student gets stuck on syntax, like a missing semicolon, just fix it for them so they don’t become frustrated.
Create an environment where students know how to stay focused by making it easier to identify off-task behavior
Use a four-point structure when teaching data structures to keep class consistent for optimal learning: introduce an abstract data type, cover implementation, demonstrate use, and review Big-O analysis.
Give students an opportunity (or force them) to use GDB and Valgrind. It teaches them how to use important debugging tools, it develops their debugging skills and it improves their code designing skills and code testing skills.
Focus on simple examples in a breadth course about systems to avoid confusing students. Save depth for upper level courses.
Focus on these four key concepts when first teaching C to help students with previous programing experiences transition from higher-level languages such as Python.
Draw attention to types when teaching students Python to help lay the groundwork for understanding types in lower-level programming languages they’ll learn about later.
Find examples that help motivate difficult abstract concepts - like passing in a value to a function - to help students see their usefulness.
Misconception: Students believe that while loops tell the program when to stop rather than when to continue.