This innovative laboratory approach gives students the hands-on experience, structure, and feedback necessary for learning C++ programming. Each laboratory is organized in four parts. Prelab assignments synthesize material from lecture and text to produce a series of working programs. Bridge, exercises test the programs students have developed in preparation for the In-lab extension of their work. The Post-lab sections assign written analysis topics to review the laboratory topics covered in the In-lab section.