[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] Skip Navigation
UNL
[an error occurred while processing this directive]

Vision of the ReinventCS Project

Current CS1/2 Focus

Ever-changing technology and lack of secondary teachers with training in computer science education make it difficult for high schools to provide students with a consistent and current coursework foundation. As a result, college-level introductory computer science courses are filled with students with diverse knowledge and exposure. The need to provide varying levels of remediation is a challenge to both students and educators. This is especially challenging with respect to many target populations, including women and minorities (Sturm & Moroh, 1994; Dabbagh, 1996; Rebelsky, 2000). Dropout rates of 50% or higher in introductory courses are indicative of the problem (Allan & Kolesar, 1996; Powers 1999). Difficult-to-grasp concepts coupled with diverse skill levels of the students make existing lecture-based education in computer science challenging (Cox & Clark, 1998; Urbain-Lurain & Weinshank, 1999). Traditional curriculum development methods were not designed to support this rapid rate of change in content and varying student backgrounds.

Most students who graduate with a degree in computer science go on to be involved in some form of software development as computer software engineers or computer programmers (Bureau of Labor Statistics 2004). Therefore it is critical to inculcate programming and software development knowledge and skills in students pursuing a degree in computer science or a related discipline. The need for these skills has been noted in Computing Curricula 2001, a joint undertaking of the Institute for Electrical and Electronic Engineers (IEEE-CS) and the Association for Computing Machinery (ACM) to develop guidelines for undergraduate programs in computer science (ACM/IEEE-CS 2001).

One of the many challenges of developing an undergraduate computer science curriculum is to identify when, how and what types of programming experiences should be provided to the students. Al though the role of programming in introductory courses has been continuously debated , students are most often introduced to programming at the outset in the introductory courses (ACM/IEEE-CS 2001). This would seem logical since mastering programming is a critical skill requiring significant practice. An advantage of including programming assignments early in the curriculum is that it facilitates the introduction of complex programming assignments in intermediate and advanced courses. Indeed, ACM/IEEE-CS recognizes that the importance of programming-first model for a CS department has the following strengths: satisfying the demand from other departments, preparing students for advanced courses, attracting more students to computer science, and offering skills and training that meets many of the needs expressed by students, their near-term employers, and non-CS faculty (ACM/IEEE-CS 2001).

The objective of our research is to develop mechanisms to efficiently and effectively inculcate programming skills in students in introductory computer science curriculum. We have redesigned our core curriculum to significantly improve the programming experience of students while reinforcing the fundamental concepts. The principal innovations of our approach include: (1) a placement test to determine enrollment in CS1 versus pre-CS1, (2) a framework for structured, hands-on laboratories and 14 laboratory modules, and (3) two web-based learning objects. In order to identify the most effective approaches, we have based our work on rigorous experimental protocols supported by and in accordance with current research in educational psychology and instructional technology.

There are two significant outcomes from our work on the new curriculum. First, the students who pass through this curriculum have a stronger background in programming and fundamental software engineering concepts, and therefore will be better prepared for jobs in the software industry. Secondly, and from an academic standpoint, our work provides the basis for integrating advanced technologies such as learning objects, Web-based education, automated tutors, and distance e-learning into the curriculum.

Long-Term Goals

We also envision for this project to grow beyond our current scope of research and participants. Through this website, we hope to engage lively discussions and interesting research with educators and researchers in the country and in the world, especially in CS education at K-12 and post-secondary levels. We welcome contributions in terms of articles, courseware, research results, and news to enrich our website. Even though our focus is in CS education in CS0, CS1, and CS2, and our approach is based on an integrated framework with closed laboratories, we would appreciate participation from educators and researchers with diverse but related projects.

Ultimately, we hope this project will serve as a hub for a great number of research designs, laboratory modules, placement exams, and learning objects in CS topics, allowing teachers, students, and researchers to compose their own CS courses, producing highly tailored and flexible curricula to cater to student needs.