skip to main content
10.1145/1028664.1028700acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Ancestor worship in CS1: on the primacy of arrays

Published: 23 October 2004 Publication History

Abstract

History has given us the array as the fundamental data structure to present to students within the CS1 curriculum. However, with the recent growth in popularity of object-oriented languages for CS1 (C++, Java, C#), and with that, the acceptance of the objects-first or objects-early approach to teaching CS1, it becomes imperative that we re-evaluate our long-held beliefs about what is appropriate to teach. It is our position that the first data structure that students are exposed to should not be arrays, but rather some other form of collection. We will give some examples of how to use <i>java.util.HashMap</i> and some of the other Java Collections classes in substitution of arrays. We also present data concerning the academic performance of students using arrays versus those using Java Collections for CS1 lab exercises.

References

[1]
Alphonce, C.G. and Ventura, P.R., Object orientation in CS1-CS2 by design, in 7th annual conference on Innovation and Technology in Computer Science Education. 2002: Aarhus, Denmark. p. 70--74.
[2]
Alphonce, C.G. and Ventura, P.R., Using Graphics to Support the Teaching of Fundamental Object Oriented Principles, in OOPSLA 2003 Educator's Symposium. 2003: Anaheim, California.
[3]
Atchison, W.F., et al., Curriculum 68: Recommendations for academic programs in computer science: A report of the ACM curriculum committee on computer science. Communications of the ACM, 1968. 11(3): p. 151--197.
[4]
Austing, R.H., et al., Curriculum '78: Recommendations for the undergraduate program in computer science- a report of the ACM curriculum committee on computer science. Communications of the ACM, 1979. 22(3): p. 147--166.
[5]
Backus, J., The history of Fortran I, II, and III. ACM SIGPLAN Notices, 1978. 13(8): p. 165--180.
[6]
Bauer, F.L. and Wössner, H., The "Plankalkül" of Konrad Zuse: A forerunner of today's programming languages. Communications of the ACM, 1972. 15(7): p. 678--685.
[7]
CC2001, The ACM/IEEE joint task force on the "Model Curricula for Computing" final report -- computing curricula 2001, computer science volume. 2001.
[8]
Giloi, W.K., Konrad Zuse's Plankalkül: The first high-level, "non von Neumann" programming language. IEEE Annals of the History of Computing, 1997. 19(2): p. 17--24.
[9]
Gries, D., Where is programming Methodology these days? SIGCSE Bulletin, 2002. 34(4): p. 5--7.
[10]
Howe, E., Thornton, M., and Weide, B.W., Components-First approaches to CS1/CS2: Principles and practice, in Proceedings of the 35th SIGCSE technical symposium on Computer Science Education. 2004, ACM Press: Norfolk, VA.
[11]
McCormick, J.W., Teaching Ada by the book: The pedagogy of Ada in CS1 (panel), in Proceedings of the conference on TRI-Ada '93. 1993, ACM Press: Seattle, WA. p. 162--167.
[12]
Pratt, T.W., Programming languages: design and implementation. 2nd ed. 1984, Englewood Cliffs, N.J.: Prentice-Hall. xix, 604.
[13]
Sebesta, R.W., Concepts of programming languages. 6th ed. 2003, Boston: Addison-Wesley. cm.
[14]
Sethi, R., Programming languages: concepts and constructs. 2nd ed. 1996, Reading, Mass.: Addison-Wesley.
[15]
Tucker, A.B., et al., Computing Curricula 1991: Report of the ACM/IEEE-CS Joint Curriculum Task Force. 1990.
[16]
Tucker, A.B. and Noonan, R., Programming languages: principles and paradigms. 1st ed. 2002, Dubuque, Iowa: McGraw-Hill.
[17]
Watt, D.A., Programming language concepts and paradigms. Prentice Hall international series in computer science. 1990, New York: Prentice Hall.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
October 2004
348 pages
ISBN:1581138334
DOI:10.1145/1028664
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: 23 October 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS1
  2. arrays
  3. curriculum
  4. data structures
  5. object oriented-design
  6. object-oriented programming
  7. objects-first

Qualifiers

  • Article

Conference

OOPSLA04
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Teaching PlanningGuide to Teaching Computer Science10.1007/978-3-030-39360-1_14(305-319)Online publication date: 6-Aug-2020
  • (2016)Break statement consideredACM Inroads10.1145/29500657:3(36-41)Online publication date: 17-Aug-2016
  • (2015)Teaching PlanningGuide to Teaching Computer Science10.1007/978-1-4471-6630-6_11(207-219)Online publication date: 8-Jan-2015
  • (2011)Teaching PlanningGuide to Teaching Computer Science10.1007/978-0-85729-443-2_11(181-192)Online publication date: 22-Mar-2011
  • (2008)An Analysis of Students' Difficulties with ArrayList Object Collections and Proposals for Supporting the Learning ProcessProceedings of the 2008 Eighth IEEE International Conference on Advanced Learning Technologies10.1109/ICALT.2008.159(180-182)Online publication date: 1-Jul-2008
  • (2006)Teaching inheritance concepts with JavaProceedings of the 4th international symposium on Principles and practice of programming in Java10.1145/1168054.1168084(203-207)Online publication date: 30-Aug-2006
  • (2005)Identifying predictors of success for an objects-first CS1Computer Science Education10.1080/0899340050022441915:3(223-243)Online publication date: Sep-2005

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media