Web-based instruction shows great promise toward enriching the student learning experience. One particular area of interest is providing tutorial material and practice problems online so that classroom lecture time can be better utilized. However, the time and cost to develop full tutoring systems can be prohibitive. The project presented in this paper shows that low-cost online modules can be developed to complement existing course delivery methods. The key to the design is limiting the type of tutoring and focusing on instructional challenges involving the repetition of concepts that are introduced in the course lectures. For introductory programming courses, these challenges primarily involve the difficulties inherent in learning the syntax of a particular programming language and gaining sufficient familiarity with programming concepts, such as loops, conditional statements, and simple algorithms. The set of online modules was developed to reduce the need for repetition of these concepts during lectures. Thus, students benefit as they can gain knowledge and comprehension of these concepts at their own pace as they actively engage the tutorials and self-check exercises. The modules were used as an enhancement for an introductory programming course taught in C++ to first-year university students, some of whom had little or no programming experience. Feedback from students and instructors shows that the modules were useful and aided student learning.