Arrange your curriculum so that your students are doing hands-on work as fast as possible to ensure you retain as many students as possible and keep them engaged.
Organize your curriculum so that topics introduced at the beginning of the class get covered in assignments during the later part of the course to reinforce material.
Have all functions return something in an intro course to help students understand that functions have a start and an end, even though they are always returning.
When teaching null dereferences, show a call that dereferences a null pointer in a debugger to give students a snapshot of what is happening.
Use these 5 strategies to give students useful debugging strategies that will help them fix Segmentation Faults.
In anticipation of a relatively large project, assign smaller projects that include the programming concepts necessary for the large project.
Misconception: Students believe that while loops tell the program when to stop rather than when to continue.
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.
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.