skip to main content
10.1145/1822090.1822140acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Teaching abstraction in introductory courses

Published: 26 June 2010 Publication History

Abstract

Abstraction is viewed as a key concept in computer science. It is not only an important concept but also one that is difficult to master. This paper focuses on the problems that novices experience when they first encounter this concept. Three assignments from introductory courses are analyzed, to understand why abstraction is difficult for novices. This analysis leads to a number of guidelines that can be used by instructors to support novices learning abstraction.

References

[1]
Bennedsen, J., and Caspersen, M. E. 2008. Abstraction ability as an indicator of success for learning computing science? In Proceeding of the Fourth international Workshop on Computing Education Research (Sydney, Australia, September 06 -- 07, 2008). ICER '08. ACM, New York, NY, 15--26. DOI= http://doi.acm.org/10.1145/1404520.1404523 .
[2]
Computer Science Curriculum 2008: An Interim Revision of CS 2001, Report from the Interim Review Task Force, http://www.acm.org//education/curricula/ComputerScience2008.pdf
[3]
Dale, N.B., and Lewis, J. 2006. Computer Science Illuminated, Jones and Bartlett Publishers, Inc.
[4]
Dijkstra, E. W. 2007. The humble programmer. In ACM Turing Award Lectures ACM, New York, NY, 1972. DOI= http://doi.acm.org/10.1145/1283920.1283927.
[5]
Frorer, P., Hazzan, O., and Manes, M. 1997. Revealing the faces of abstraction. International Journal of Computers for Mathematical Learning, 2(3), 217--228.
[6]
Ginat, D. 2004. Do senior CS students capitalize on recursion? In Proceedings of the 9th Annual SIGCSE Conference on innovation and Technology in Computer Science Education (Leeds, United Kingdom, June 28 -- 30, 2004). ITiCSE '04. ACM, New York, NY, 82--86. DOI= http://doi.acm.org/10.1145/1007996.1008020
[7]
Gries, D. 2002. Where is programming methodology these days? SIGCSE Bull. 34, 4 (Dec. 2002), 5--7. DOI= http://doi.acm.org/10.1145/820127.820129
[8]
Haberman, B. 2004. High-School Students' Attitudes Regarding Procedural Abstraction. Education and Information Technologies 9, 2 (Jun. 2004), 131--145. DOI= http://dx.doi.org/10.1023/B:EAIT.0000027926.99053.6f
[9]
Hartmanis, J. 1994. Turing Award lecture on computational complexity and the nature of computer science. Commun. ACM 37, 10 (Oct. 1994), 37--43. DOI= http://doi.acm.org/10.1145/194313.214781
[10]
Kramer, J. and Hazzan, O. 2006. The role of abstraction in software engineering. In Proceedings of the 28th international Conference on Software Engineering (Shanghai, China, May 20 -- 28, 2006). ICSE '06. ACM, New York, NY, 1017--1018. DOI= http://doi.acm.org/10.1145/1134285.1134481
[11]
Kramer, J. 2007. Is abstraction the key to computing? Commun. ACM 50, 4 (Apr. 2007), 36--42. DOI= http://doi.acm.org/10.1145/1232743.1232745 .
[12]
Moström, J. E., Boustedt, J., Eckerdal, A., McCartney, R., Sanders, K., Thomas, L., and Zander, C. 2008. Concrete examples of abstraction as manifested in students' transformative experiences. In Proceeding of the Fourth international Workshop on Computing Education Research (Sydney, Australia, September 06 -- 07, 2008). ICER '08. ACM, New York, NY, 125--136. DOI= http://doi.acm.org/10.1145/1404520.140453 .
[13]
Muller, O., Ginat, D., and Haberman, B. 2007. Pattern-oriented instruction and its influence on problem decomposition and solution construction. SIGCSE Bull. 39, 3 (Jun. 2007), 151--155. DOI= http://doi.acm.org/10.1145/1269900.1268830 .
[14]
Roberts, E.S. 2005 Thinking Recursively: with Examples in Java. John Wiley & Sons.
[15]
Savitch, W. 2008 Problem Solving with C++ (7th Edition), Addison-Wesley.
[16]
Sooriamurthi, R. 2001. Problems in comprehending recursion and suggested solutions. In Proceedings of the 6th Annual Conference on innovation and Technology in Computer Science Education (Canterbury, United Kingdom). ITiCSE '01. ACM, New York, NY, 25--28. DOI= http://doi.acm.org/10.1145/377435.377458

Cited By

View all
  • (2024)Teaching the Bubble Sort Algorithm Using CS Unplugged Activities at the K-12 LevelACM Transactions on Computing Education10.1145/370612025:1(1-22)Online publication date: 28-Nov-2024
  • (2024)Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653601(157-163)Online publication date: 3-Jul-2024
  • (2024)Recommendations for Improving End-User Programming Education: A Case Study with Undergraduate Chemistry StudentsJournal of Chemical Education10.1021/acs.jchemed.4c00219101:8(3085-3096)Online publication date: 5-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '10: Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
June 2010
344 pages
ISBN:9781605588209
DOI:10.1145/1822090
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

In-Cooperation

  • Bilkent University: Bilkent University

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 June 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. abstraction
  2. abstraction level
  3. computer science
  4. pedagogy
  5. recursion

Qualifiers

  • Research-article

Conference

ITiCSE '10
Sponsor:

Acceptance Rates

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

Upcoming Conference

ITiCSE '25
Innovation and Technology in Computer Science Education
June 27 - July 2, 2025
Nijmegen , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)Teaching the Bubble Sort Algorithm Using CS Unplugged Activities at the K-12 LevelACM Transactions on Computing Education10.1145/370612025:1(1-22)Online publication date: 28-Nov-2024
  • (2024)Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653601(157-163)Online publication date: 3-Jul-2024
  • (2024)Recommendations for Improving End-User Programming Education: A Case Study with Undergraduate Chemistry StudentsJournal of Chemical Education10.1021/acs.jchemed.4c00219101:8(3085-3096)Online publication date: 5-Jul-2024
  • (2023)Teaching Programming with Graphics: Pitfalls and a SolutionProceedings of the 2023 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3622780.3623644(1-12)Online publication date: 18-Oct-2023
  • (2023)The Progression of Students’ Ability to Work With Scope, Parameter Passing and AliasingProceedings of the 25th Australasian Computing Education Conference10.1145/3576123.3576128(39-48)Online publication date: 30-Jan-2023
  • (2022)Draw Me a Flower: Processing and Grounding Abstraction in Natural LanguageTransactions of the Association for Computational Linguistics10.1162/tacl_a_0052210(1341-1356)Online publication date: 28-Nov-2022
  • (2022)The Role of Abstraction in Introductory ProgrammingProceedings of the 2022 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3563767.3568125(7-13)Online publication date: 29-Nov-2022
  • (2022)Dedicated Assignments as a Means of Advancing Junior Students’ Systems Thinking and Abstract ThinkingMobility for Smart Cities and Regional Development - Challenges for Higher Education10.1007/978-3-030-93907-6_22(210-216)Online publication date: 28-Jan-2022
  • (2021)Teaching Reduction as an Algorithmic Problem-Solving Strategy2021 3rd International Conference on Computer Science and Technologies in Education (CSTE)10.1109/CSTE53634.2021.00012(19-26)Online publication date: May-2021
  • (2020)Teaching Abstraction in Computer Science to 7th Grade StudentsACM Transactions on Computing Education10.1145/337214320:1(1-37)Online publication date: 27-Jan-2020
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media