Understanding the thought processes of students as they progress from initial (incorrect) answers toward correct answers is a challenge for instructors, both in this pandemic and …
Object-based development using design-by-contract (DbC) is broadly taught and practiced. Students must be able to read and write symbolic DbC assertions that are sufficiently precise …
The objective of this paper is to summarize our experience in teaching a software engineering course that emphasizes student learning through activities. It provides an …
M Fowler, M Cook, K Plis, T Schwab, YS Sun… - Proceedings of the 50th …, 2019 - dl.acm.org
Several research studies have shown the benefits of code tracing to promote student understanding of program behavior. While code tracing on specific input values is a useful …
While testing and tracing on specific input values are useful starting points for students to understand program behavior, ultimately students need to be able to reason rigorously and …
M Fowler, E Kraemer, M Sitaraman… - Proceedings of the 26th …, 2021 - dl.acm.org
To develop code that meets its specification and is verifiably correct, such as in a software engineering course, students must be able to understand formal contracts and annotate their …
Code tracing is fundamental to students' understanding of a program, and symbolic reasoning that entails learning to use assertions with abstract input and output values, as …
YS Sun, D Welch, M Sitaraman - arXiv preprint arXiv:2111.08207, 2021 - arxiv.org
This paper summarizes our efforts to aid human reasoning when verification fails through the use of two distinct Formalization Integrated Development Environments (F-IDEs) that we …