EXPLORING THE IMPACT OF PREREQUISITES AND ELECTIVE CHOICE ON DOWNSTREAM UPPER-LEVEL COMPUTER SCIENCE COURSES
S. Thomas, R. Lightfoot
Course prerequisites are a common practice to ensure students are ready to take the course. Prerequisites cover the knowledge and skills students need to be successful. However, prerequisite courses often have other goals than simply supporting the downstream course. They may teach additional topics or emphasize differently how they can be applied. Often, instructors who teach the prerequisite courses have not taught the downstream course, so they only have a cursory knowledge of the downstream courses' needs.
In this experience paper, we explore the impact of the topics we teach in prerequisite courses on downstream upper-level courses in computer science. In particular, we look at the interaction between a prerequisite course (Foundations of Software Engineering) and some downstream courses including a required culminating experience (Capstone Senior Design) and a technical elective (Cloud Computing). We also look at the influence of elective choice on student performance in the required culminating experience (Capstone Senior Design) and discuss implications on its required prerequisite courses. All of these courses involve team software projects.
Foundations of Software Engineering is a junior-level course focusing on the software development process. Students practice various software development methodologies in team-based projects. It is often referred to as a “mini-capstone” in that it builds on all the curriculum the student has learned so far and is the gateway to many of the upper-level courses.
Cloud Computing is an optional technical elective taken by students after they have completed Foundations of Software Engineering. This course takes off where Foundations of Software Engineering stops, focusing only on cloud computing. While not required for Capstone Senior Design, students with this course display another level of understanding of the overall software design process.
Capstone Senior Design is a culminating experience in which students complete a semester-long project that solves a real-world problem. Their project must leverage all the knowledge and skills they have acquired in the curriculum. Thus, it is often completed in their graduating semester and is considered the gateway to graduation. While students are not required to complete particular technical electives, student performance is influenced by the electives they have completed or have in progress.
We selected these representative downstream courses as they are taught by faculty who also have taught Foundations of Software Engineering. These faculty can directly observe how changes to the prerequisite course impact courses downstream. They have used their experiences to change how specific topics are presented, practiced, and emphasized in the prerequisite course and then to see the impact in the downstream course. This paper will discuss their observations and argue for greater collaboration between prerequisite and downstream course planning.
Keywords: Curriculum design, prerequisites, project-based learning.