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

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

A systematic approach to teaching abstraction and mathematical modeling

Published: 03 July 2012 Publication History

Abstract

The need for undergraduate CS students to create and understand mathematical abstractions is clear, yet these skills are rarely taught in a systematic manner, if they are taught at all. This paper presents a systematic approach to teaching abstraction using rigorous mathematical models and a web-based reasoning environment. It contains a series of representative examples with varying levels of sophistication to make it possible to teach the ideas in a variety of courses, such as introductory programming, data structures, and software engineering. We also present results from our experimentation with these ideas over a 3-year period at our institution in a required course that introduces object-based software development, following CS2.

References

[1]
A. Aho and J. Ullman. Foundations of Computer Science. W. H. Freeman & Co., New York, NY, 1994.
[2]
P. Bucci, T. Long, and B. Weide. Do we really teach abstraction? In The 32nd SIGCSE, pages 26--30, New York, NY USA, February 2001. ACM.
[3]
C. Cook. A web-integrated environment for component-based software reasoning. Master's thesis, Clemson University, School of Computing, August 2011.
[4]
C. Cook et al. Specification engineering and modular verification using a web-integrated verifying compiler. In The 34th ICSE, page (to appear), New York, NY USA, June 2012. ACM.
[5]
H. Harton. Mechanical and Modular Verification Condition Generation for Object-Based Software. PhD thesis, Clemson University, School of Computing, December 2011.
[6]
J. Krone et al. Mathematics throughout the CS curriculum. J. of Computing Sciences in Colleges, 27(1):65--73, October 2011.
[7]
B. Liskov and J. Guttag. Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Addison-Wesley, Boston, MA USA, 1st edition, 2000.
[8]
T. Long et al. Client view first: An exodus from implementation-biased teaching. In The 30th SIGCSE, pages 136--140, New York, NY USA, March 1999. ACM.
[9]
D. Norman. Things That Make Us Smart: Defending Human Attributes in the Age of the Machine. Addison-Wesley, Boston, MA USA, 1993.
[10]
L. Northrop et al. Ultra-large-scale systems: The software challenge of the future. Technical report, Software Engineering Institute, Carnegie Mellon, June 2006. www.sei.cmu.edu/uls/downloads.html.
[11]
RSRG, Clemson University. Reasoning concept inventory, 2011. resolve.cs.clemson.edu/wiki/.
[12]
M. Sitaraman and B. Weide. Component-based software using Resolve. SIGSOFT SEN, October 1994.
[13]
R. Sooriamurthi. Introducing abstraction and decomposition to novice programmers. In The 14th Annual ITiCSE, pages 196--200, New York, NY USA, July 2009. ACM.
[14]
J. Wing. Computational thinking. Communications of the ACM, 49:33--35, March 2006.

Cited By

View all
  • (2023)Effectiveness of Abstraction in Problem Based Learning Knowledge Construction2023 2nd Edition of IEEE Delhi Section Flagship Conference (DELCON)10.1109/DELCON57910.2023.10127438(1-6)Online publication date: 24-Feb-2023
  • (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)Misconception of Abstraction: When to Use an Example and When to Use a Variable?Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 210.1145/3501709.3544276(28-29)Online publication date: 7-Aug-2022
  • 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 '12: Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
July 2012
424 pages
ISBN:9781450312462
DOI:10.1145/2325296
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: 03 July 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. abstraction
  2. contract programming
  3. formal methods
  4. interface specifications
  5. mathematical modeling

Qualifiers

  • Research-article

Conference

ITiCSE '12
Sponsor:

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)2
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Effectiveness of Abstraction in Problem Based Learning Knowledge Construction2023 2nd Edition of IEEE Delhi Section Flagship Conference (DELCON)10.1109/DELCON57910.2023.10127438(1-6)Online publication date: 24-Feb-2023
  • (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)Misconception of Abstraction: When to Use an Example and When to Use a Variable?Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 210.1145/3501709.3544276(28-29)Online publication date: 7-Aug-2022
  • (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
  • (2020)Perspectives of Final Year Students on Modeling and Analysis of Complex Systems and Their Properties2020 IEEE Symposium Series on Computational Intelligence (SSCI)10.1109/SSCI47803.2020.9308401(86-93)Online publication date: 1-Dec-2020
  • (2020)A Concept for Addressing Abstract Thinking Competence While Teaching Software Development2020 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON45650.2020.9125128(364-373)Online publication date: Apr-2020
  • (2019)Impact of Steps, Instruction, and Motivation on Learning Symbolic Reasoning Using an Online ToolProceedings of the 50th ACM Technical Symposium on Computer Science Education10.1145/3287324.3287401(1039-1045)Online publication date: 22-Feb-2019
  • (2018)Abstraction in action: K-5 teachers' uses of levels of abstraction, particularly the design level, in teaching programming.International Journal of Computer Science Education in Schools10.21585/ijcses.v2i1.232:1(14-40)Online publication date: 31-Jan-2018
  • (2017)Integrating Components, Contracts, and Reasoning in CS Curricula with RESOLVE: Experiences at Multiple Institutions2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T)10.1109/CSEET.2017.40(202-211)Online publication date: Nov-2017
  • (2015)Computer Science Education ResearchInnovative Teaching Strategies and New Learning Paradigms in Computer Programming10.4018/978-1-4666-7304-5.ch001(1-29)Online publication date: 2015
  • Show More Cited By

View Options

Get Access

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