All recognize the pressing need for more computer science graduates, as well as the often unappealing nature of introductory classes. The goal of this project is to showcase and teach the skills necessary to thrive in computer science, while engaging a diverse student body at a variety of education levels. In order to revitalize undergraduate education in computer science and address the need for an increase in undergraduate majors, this project will use a novel three-fold approach. The community of college professors, high school teachers, and an industrial partner will plan and implement an exciting first exposure to computer science by engaging experiential learning. Interactive Learning Modules, developed by the collaboration team members at different institutions, will serve as a vehicle for bringing innovation to the classroom. These collaboration-based experiences throughout the computer science curriculum are encouraged through a number of mechanisms, including multi-institution teams, games, and research into effective design of curricula and modules. The modules themselves are expected to inspire creation of addition interactive modules, designed by students for students, identifying an aspect of computational thinking, a separate domain of its use and a variety of which in which the modules provides experiences. A summer seminar experience for teachers will provide credit hours as well as experience in using the learning modules. Evaluation will cover both formative and summative aspects.
Lack of knowledge about computer science is perpetuated by the lack of computer science programs and/or requirements in high school. The Interactive Learning Modules (ILMs) created for this project allow educators to provide a hands-on learning experience which deepens the understanding of core Computer Science principles. Our research indicates use of ILMs improve retention, increase learning, and make better use of student time. Our ILMs help make computer science more accessible. The complete course provided for Algorithms and Data Structures allows an individual to teach themself important principles to prepare for graduate school in computer science. This course is also useful for graduate students in other disciplines (such as mathematics) who need additional computer science training. This course is provided to students coming from other disciplines or a weaker program in computer science. Our surveys and thoughtful analysis of what draws individuals to computer science and what keeps them in the discipline has given us the motivation to revise our curriculum by introducing new introductory classes and changing the mathematics requirements for our major. Our goal of finding a better way to teach computer science extended to finding out what recent students liked and disliked about current practices. We asked senior students and alumni how to increase those participating in the major. We have utilized student and alumni suggestions in improving our curriculum and recruitment practices.