Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1067445.1067451acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
Article

Testing first: emphasizing testing in early programming courses

Published: 27 June 2005 Publication History

Abstract

The complexity of languages like Java and C++ can make introductory programming classes in these languages extremely challenging for many students. Part of the complexity comes from the large number of concepts and language features that students are expected to learn while having little time for adequate practice or examples. A second source of difficulty is the emphasis that object-oriented programming places on abstraction. We believe that by placing a larger emphasis on testing in programming assignments in these introductory courses, students have an opportunity for extra practice with the language, and this affords them a gentler transition into the abstract thinking needed for programming. In this paper we describe how we emphasized testing in introductory programming assignments by requiring that students design and implement tests before starting on the program itself. We also provide some preliminary results and student reactions.

References

[1]
M. Alford, P. Hsia, and F. Petry. A software engineering approach to introductory programming courses. In Proceedings of the 7th SIGCSE Technical Symposium on Computer Education, pages 157--161, 1977.
[2]
J. Bergin, J. Caristi, Y. Dubinsky, O. Hazzan, and L. Williams. Teaching software development methods: The case of extreme programming. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, pages 448--449, 2004.
[3]
S. Edwards. Rethinking computer science education from a test-first perspective. In Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, pages 148--155, 2003.
[4]
A. Gittleman. Computing with Java: Programs, Objects, Graphics, Second Alternate Edition. Scott/Jones Publishers, 2002.
[5]
M. Goldwasser. A gimmick to integrate software testing throughout the curriculum. In Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, pages 271--275, 2002.
[6]
The Joint Task Force on Computing Curricula. Computing Curricula 2001 Computer Science, December 2001. Available at http://www.computer.org/education/cc2001/cc2001.pdf.
[7]
G. M. Schneider. The introductory programming course in computer science -- ten principles. In Papers of the SIGCSE/CSA Technical Symposium on Computer Science Education, pages 107--114, 1978.
[8]
School of Computer Science, Telecommunications, and Information Systems, DePaul University. http://www.cti.depaul.edu, 2004.
[9]
C. T. Wu. An Introduction to Object-Oriented Programming with Java, 3rd Edition Update (Java 1.5 Update). McGraw Hill, 2004.

Cited By

View all
  • (2024)Gamifying a Software Testing Course with Continuous IntegrationProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640054(34-45)Online publication date: 14-Apr-2024
  • (2024)A Testing Extension for ScratchProceedings of the 2024 ACM Southeast Conference10.1145/3603287.3651217(266-271)Online publication date: 18-Apr-2024
  • (2023)Code Critters: A Block-Based Testing Game2023 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW58534.2023.00077(426-429)Online publication date: Apr-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
June 2005
440 pages
ISBN:1595930248
DOI:10.1145/1067445
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 June 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS1
  2. CS2
  3. TDD
  4. testing

Qualifiers

  • Article

Conference

ITiCSE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Gamifying a Software Testing Course with Continuous IntegrationProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640054(34-45)Online publication date: 14-Apr-2024
  • (2024)A Testing Extension for ScratchProceedings of the 2024 ACM Southeast Conference10.1145/3603287.3651217(266-271)Online publication date: 18-Apr-2024
  • (2023)Code Critters: A Block-Based Testing Game2023 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW58534.2023.00077(426-429)Online publication date: Apr-2023
  • (2023)Set the right example when teaching programming: Test Informed Learning with Examples (TILE)2023 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST57152.2023.00033(269-280)Online publication date: Apr-2023
  • (2022)Making Hay from Wheats: A Classsourcing Method to Identify MisconceptionsProceedings of the 22nd Koli Calling International Conference on Computing Education Research10.1145/3564721.3564726(1-7)Online publication date: 17-Nov-2022
  • (2020)Examining strategies to improve student success in CS1Journal of Computing Sciences in Colleges10.5555/3381631.338164935:4(124-132)Online publication date: 30-Jan-2020
  • (2020)Improving students' testing practicesProceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings10.1145/3377812.3381401(218-221)Online publication date: 27-Jun-2020
  • (2019)Does Creating Programming Assignments with Tests Lead to Improved Performance in Writing Unit Tests?Proceedings of the ACM Conference on Global Computing Education10.1145/3300115.3309516(106-112)Online publication date: 9-May-2019
  • (2018)Introductory programming: a systematic literature reviewProceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education10.1145/3293881.3295779(55-106)Online publication date: 2-Jul-2018
  • (2018)Who Tests the Testers?Proceedings of the 2018 ACM Conference on International Computing Education Research10.1145/3230977.3230999(51-59)Online publication date: 8-Aug-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media