The promise of computer-assisted instruction (CAI) was recognized long ago, but CAI is not widely used in college-level science and engineering curriculums. Standup lectures remain the method of choice for delivering classroom instruction. In this paper, we describe an educational software package called ALECS. ALECS has been used in a first semester computer science course to dramatically reduce the time devoted to standup lectures, which gives the instructor more time for tutoring. ALECS provides assistance in three areas: instruction, feedback, and student tracking. We will describe each of these areas and the changes ALECS enables in the structure of our courses and in the classroom.