Skip to Main Content
This case study describes a successful introductory course in C++ with a design that draws extensively upon techniques used in the training of nuclear submarine personnel. Techniques adopted include emphasis on completion of practical exercises as opposed to concept mastery, self-paced learning based on extensive materials prepared for the course, use of oral examinations to validate student achievement, use of undergraduate teaching assistants to assist and examine students, and a strong peer-learning focus with group collaboration being actively encouraged. Over the two-year period during which the course evolved, substantial increases in completion rates and the amount of material that is covered have been experienced. In addition, certain elements of the course design-particularly the emphasis on group work, use of online support, and use of "state-of-the-art" tools-seem more consistent with current programming practice than the conventional programming course, emphasizing lectures and completion of individual assignments.