Abstract

Writing syntactically correct code and understanding algorithm development are two essential skills mastered by most introductory computer science students. Another important component of professional programming is thorough testing to verify correct design and accurate coding; however this topic is frequently covered with less emphasis than it deserves in the core programming curricula. In this paper we describe instructional software that we are developing to support introductory level programming students in collaboratively and incrementally developing test cases for the class libraries they implement, as well as to automatically validate their implementations. This software is structured as an Internet application with a simplified user interface that allows distributed generation of a common library of test cases as well as remote testing of each student's individual implementation. By integrating testing and validation into the earliest stages of programming instruction, we anticipate that students will develop a better understanding of not only the syntax of the programming languages they are using but, more importantly, a deeper understanding of the semantics of the code they author and better success in debugging initial versions of their program solutions. Furthermore, using an Internet based infrastructure allows students to become familiar with having different aspects of the program development process itself performed by different (teams) of individuals, each of whom might be geographically distributed: an important practical component of global software engineering. A fully functional on-line version of our software is expected by the end of Summer 2007 and Human Subjects Protocol approval is expected for Fall 2007 evaluation of the effectiveness of our software in instructing introductory level programming students.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.