Teaching Software Testing in Introductory CS Courses and Improving Software Quality

Syed M Rahman, Akram Salah

Abstract

Undergraduates in computer science typically begin their curriculum with a programming course or sequence. Many researchers found that most of the students who complete these courses, and even many who complete a degree, are not proficient programmers and produce code of low quality. In this paper, we have addressed this problem by proposing a cultural shift in introductory programming courses. The primary feature of our approach is that software testing is presented as an integral part of programming practice; specifically, a student who is to write a program will begin by writing a test suite. Our initial results show that this approach can be successful. Teaching basic concepts how to test a program and writing test cases do not take much time, it helps beginning students to understand the requirements, and it helps them produce better-quality code.

References

  1. McCracken, M., Almstrum, V., Laxer, C., and others: A Multi-national, multi-institutional study of assessment of programming skills of first year CS students, volume 33, issue COLUMN: ITiCSE 2001 working group reports, Pages: 125 - 180, 2001
  2. Townhidnejad, Hilburn: Software quality: a curriculum postscript?, Technical Symposium on Computer Science Education, Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, Austin, Texas, United States Pages: 167 - 171, 2000
  3. Nagappan, N., William, L., Ferzil, M., Wiebe, E., Yang, K., Miller, C., and Balik, S.: Improving the CS1 Experience with Pair Programming. Proceedings of the 34th SIGCSE Technical Sympoisum on Computer Science Education, Reno, Nevada, USA, March 2003.
  4. Hermann, N., Popyack, J., Char, B., Zoski, P., Cera, C., and Lass, R.N.: Redesigning computer programming using multilevel online modules for mixed audience. Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education, Reno, Nevada, USA, March 2003.
  5. Edwards, E.: Using test-driven development in the classroom: Providing students with concrete feedback on performance. In Proceedings of the EISTA'03, August 2003
Download


Paper Citation


in Harvard Style

M Rahman S. and Salah A. (2005). Teaching Software Testing in Introductory CS Courses and Improving Software Quality . In Proceedings of the 3rd International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems - Volume 1: MSVVEIS, (ICEIS 2005) ISBN 972-8865-22-8, pages 126-128. DOI: 10.5220/0002577201260128


in Bibtex Style

@conference{msvveis05,
author={Syed M Rahman and Akram Salah},
title={Teaching Software Testing in Introductory CS Courses and Improving Software Quality},
booktitle={Proceedings of the 3rd International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems - Volume 1: MSVVEIS, (ICEIS 2005)},
year={2005},
pages={126-128},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002577201260128},
isbn={972-8865-22-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 3rd International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems - Volume 1: MSVVEIS, (ICEIS 2005)
TI - Teaching Software Testing in Introductory CS Courses and Improving Software Quality
SN - 972-8865-22-8
AU - M Rahman S.
AU - Salah A.
PY - 2005
SP - 126
EP - 128
DO - 10.5220/0002577201260128