Title :
Test-first teaching: extreme programming meets instructional design in software engineering courses
Author :
Ardis, Mark A. ; Dugas, Cheryl A.
Author_Institution :
Dept. of Comput. Sci. & Software Eng., Rose-Hulman Inst. of Technol., Terre Haute, IN, USA
Abstract :
Test-first development is a practice of extreme programming designed to produce reliable software quickly. Rather than writing the code first, a software engineer first creates the tests that will demonstrate that the software works correctly. Coding follows and is often guided by the tests. Practitioners of this method claim that the discipline of developing the tests before the code focuses their attention on the right problems and yields cleaner code. Test-first teaching is a method of course development that incorporates instructional design methods to create more effective instruction. The instruments that will be used to test students´ day-to-day learning of the course material-assignments and quizzes-are created first, and instruction is developed to meet the students´ needs. Components of test-first teaching are applied at both course and lecture levels. Test-first teaching has been used successfully to develop courses for the new Bachelor of Science in Software Engineering program at Rose-Hulman Institute of Technology.
Keywords :
computer science education; educational courses; engineering education; program testing; software engineering; software reliability; teaching; Bachelor of Science; Rose-Hulman Institute of Technology; Software Engineering program; course development; course material-assignment; extreme programming; instructional design; quizzes; reliable software; software engineering course; test-first teaching; Design methodology; Education; Instruments; Materials science and technology; Materials testing; Reliability engineering; Software design; Software engineering; Software testing; Writing;
Conference_Titel :
Frontiers in Education, 2004. FIE 2004. 34th Annual
Print_ISBN :
0-7803-8552-7
DOI :
10.1109/FIE.2004.1408563