Experience and experiments in CS1

In the Fall semester of 1998, our Computer Science Department instituted some major changes in CS1. We wanted our students to become more active participants in the learning process, hence we decided that we must include some kind of closed lab component in CS1. Because of various constraints, we knew we would have to incorporate that lab component into our regular course. In addition to completely changing our teaching methodology for CS1, we also decided to change the programming language from Turbo Pascal to C++. Now a year later, we think we know what we did right, what did not work like we thought it would, and what to do to make CS1 more effective this year and in the future.