Evaluating a New Software Engineering Program: Performance and Confidence of Majors
Date of this Version
Maly, C. 2021. Evaluating a New Software Engineering Program: Performance and Confidence of Majors. Undergraduate Honors Thesis. University of Nebraska-Lincoln.
The way software is developed has changed significantly in the past 50 years. Software development today includes more rigorous engineering practices, more sophisticated tools, and relies on large teams of developers working across locations and time zones. Despite these changes, students in undergraduate software engineering programs typically take traditional first-year computing courses that focus on coding fundamentals, rather than engineering principles, and on technical skills, rather than non-technical skills, such as teamwork and communication skills. By focusing primarily on coding skills in the first year, for example, students are presented with a limited view of software development in practice and are missing out on opportunities to practice engineering and teamwork skills in the context of software development. In this work, we describe a novel first-year curriculum for software engineering majors in which students learn fundamental software engineering concepts as they learn to code. First, students learn about software qualities such as maintainability and testability. Then, when students write code, they are assessed not only on algorithm correctness, but also on their ability to write robust and maintainable software. Our first-year courses also include invited talks from industry partners, teamwork lessons, and capstone projects based on open-source software. Our motivation for teaching computing from a “software engineering” perspective in the first year is to help students form an accurate picture of software development in practice and to better prepare students for internships and post-graduate opportunities.
To assess the rigor of our novel first-year curriculum, we designed a study to assess student knowledge of computer science concepts at the beginning of the third semester. We compare students in the software engineering program with students in our traditional computer science and computer engineering programs. The results of our study show that students in the software engineering program perform as well or better than students who completed the traditional first-year computing program. We also compared students’ attitudes and perceptions and found that the software engineering majors are more confident in their computing abilities and in the application of computing skills to their field than students in other computing majors. Finally, we compare the DFW rates (students who received a D or F, or withdrew from the course) for our first-year courses and found the average DFW rates for the first-year software engineering courses (25% first semester, 9% second semester) are lower than the average DFW rates for our traditional first-year courses (39% first semester, 23% second semester).