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.