DocumentCode
632519
Title
Adding software testing to programming assignments
Author
Edwards, Steve H.
Author_Institution
Dept. of Comput. Sci., Virginia Tech, Blacksburg, VA, USA
fYear
2013
fDate
19-21 May 2013
Firstpage
371
Lastpage
373
Abstract
This tutorial provides a practical introduction to how one can incorporate software testing activities as a regular part of programming assignments, supported by live demonstrations, with a special focus on early introduction in CS1 and/or CS2 courses. It presents five different models for how one can incorporate testing into assignments, provides examples of each technique, and discusses the corresponding advantages and disadvantages. The focus is on unit testing, test-driven development, and incremental testing, all of which work well in a classroom environment. Examples will use Java, although participant discussion regarding support in other languages such as Python and C++ is welcome. Approaches to assessment- using testing to assess student code, assessing tests that students write, and automated grading-are all discussed. A live demonstration of automatic assignment grading based on student-written tests is included. Advice for writing “testable” assignments is given. Participant discussions are encouraged.
Keywords
C++ language; Java; computer science education; educational courses; program testing; C++ language; Java; Python language; automatic assignment grading; classroom environment; computer science course; incremental testing; programming assignment; software testing activity; test-driven development; unit testing; Conferences; Education; Programming profession; Software testing; Tutorials;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on
Conference_Location
San Francisco, CA
ISSN
1093-0175
Type
conf
DOI
10.1109/CSEET.2013.6595283
Filename
6595283
Link To Document