This project seeks to transform the introductory computer science course to better excite and sustain student interest and to provide broader problem solving skills needed for success in later courses. The course will be transformed by: * exposing students to a variety of programming paradigms, * expanding course presentation to accommodate additional learning styles * developing relevant assignments which make use of current technologies. These transformations will be accomplished by adding a java-based multimedia laboratory component to the course. Java facilitates the introduction of a variety of programming paradigms in a visually stimulating manner and is a comparatively easy language for introductory students to learn. A structured, hands-on laboratory will allow students to acquire a view of computation as a dynamic, interactive, and collaborative process. Together these will help to better prepare students for the increased rigor and theoretical nature of later classes. The visual and hands-on experiences in the lab will also accomplish our goal of appealing to diverse learning styles. The traditional view of computation as a static, isolated enterprise is no longer applicable in today's dynamic, networked and graphically oriented environments. Moreover, the traditional approach to teaching introductory computation is neither applicable to the current view of computation nor to many of the learning styles of the students who populate it. This project, therefore, intends to provide a model for migration away from the traditional course toward one which is more appropriate for today's students and computing environments. *