Title :
Applying Software Development Lifecycles in Teaching Introductory Programming Courses
Author :
Rahman, Syed M. ; Juell, Paul L.
Author_Institution :
Dept. of Comput. Sci., North Dakota State Univ., Fargo, ND
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
Keywords :
computer science education; educational courses; program testing; software maintenance; software quality; software reliability; teaching; black-box testing; code reliability; introductory programming courses; program development; software cost; software development lifecycle; software maintenance; software quality; software reliability; software testing; teaching; Computer industry; Cultural differences; Education; Life testing; Load modeling; Maintenance; Programming; Software quality; Software testing; Writing; Software development method; programming language; software cost; software quality; software testing;
Conference_Titel :
Software Engineering Education and Training, 2006. Proceedings. 19th Conference on
Conference_Location :
Turtle Bay, HI
Print_ISBN :
0-7695-2557-1
DOI :
10.1109/CSEET.2006.7