An approach for problem specification and its application in an introductory programming course
FIE'09 Proceedings of the 39th IEEE international conference on Frontiers in education conference
Hi-index | 0.00 |
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.