Informatics in Education logo


Login Register

  1. Home
  2. Issues
  3. Volume 20, Issue 4 (2021)
  4. Tool-Aided Learning of Code Reasoning wi ...

Informatics in Education

INFORMATION Submit your article Help
  • Article info
  • Related articles
  • More
    Article info Related articles

Tool-Aided Learning of Code Reasoning with Abstraction in the CS Curriculum
Volume 20, Issue 4 (2021), pp. 533–566
Megan FOWLER   Jason HALLSTROM   Joseph HOLLINGSWORTH   Eileen KRAEMER   Murali SITARAMAN   Yu-Shan SUN   Jiadi WANG   Gloria WASHINGTON  

Authors

 
Placeholder
https://doi.org/10.15388/infedu.2021.24
Pub. online: 5 August 2022      Type: Article      Open accessOpen Access

Published
5 August 2022

Abstract

Computer science students often evaluate the behavior of the code they write by running it on specific inputs and studying the outputs, and then apply their comprehension to a more general understanding of the code. While this is a good starting point in the student’s career, successful graduates must be able to reason analytically about the code they create or encounter. They must be able to reason about the behavior of the code on arbitrary inputs, without running the code. Abstraction is central for such reasoning.
In our quest to help students learn to reason abstractly and develop logically correct code, we have developed tools that rely on a verification engine. Code involves assignment, conditional, and loop statements, along with objects and operations. Reasoning activities involve symbolic reasoning with simple assertions and design-by-contract assertions such as pre-and post-conditions as well as loop invariants with data abstractions. Students progress from tracing and reading code to the design and implementation of code, all relying on abstraction for verification. This paper reports some key results and findings from associated studies spanning several years.

Related articles PDF XML
Related articles PDF XML

Copyright
No copyright data available.
Open access article under the CC BY license.

Keywords
abstraction design by contract online tool software engineering symbolic reasoning

Metrics
since February 2020
1171

Article info
views

0

Full article
views

801

PDF
downloads

202

XML
downloads

Export citation

Copy and paste formatted citation
Placeholder

Download citation in file


Share


RSS

INFORMATICS IN EDUCATION

  • Online ISSN: 2335-8971
  • Print ISSN: 1648-5831
  • Copyright © 2024 Vilnius University
  •  

For contributors

  • Submit
  • OA Policy

Contact us

  • Institute of Data Science and Digital Technologies,
  • Vilnius University, Akademijos St. 4, 08412, Vilnius, Lithuania
  • E-mail: gabriele.stupuriene@mif.vu.lt
Powered by PubliMill  •  Privacy policy