Applying Software Development Lifecycles in Teaching Introductory Programming Courses

  • Authors:
  • Syed M. Rahman;Paul L. Juell

  • Affiliations:
  • North Dakota State University;North Dakota State University

  • Venue:
  • CSEET '06 Proceedings of the 19th Conference on Software Engineering Education & Training
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we introduce a new software development method that emphasizes software testing cycles and makes a cultural change in program development. In our approach, students follow the software lifecycles to develop their programs; specifically, a student who is to write a program begins by writing a test suite and completes other development cycles. Students in programming courses usually develop "toy" programs that are superficially tested, graded, and eventually discarded. Generally, students are not worried about the quality or maintenance of their products. We believe this style of teaching programming courses leaves students unprepared for developing reliable software. Industry leaders also claimed that more than 50% of a software project's budget was spent on activities related to improving software quality. They stated the reason was the inadequate attention paid to software quality in the development phase. Our approach integrates into the existing programming courses without changing the course contents, syllabus, policies, or loads, and our model improves the students' program quality, in terms of black-box testing. Students indicated that our method helped them in understanding the problems and writing the programs, made the code easier to debug, and improved the students' code reliability and quality.