Jul 2026· Annual Conference on Innovation and Technology in Computer Science Education· pp. 345-351· 0 citations· 22 references
Computer Science
TL;DR
The results suggest that correctness-first instruction is both pedagogically feasible in introductory CS courses and necessary for realigning assessment practices with foundational computational thinking goals in the presence of increasingly capable code-generation tools.
Abstract
Introductory computer science courses commonly use programming for instruction and assessment. This has several weaknesses because working code is not a reliable proxy for complete understanding. Elements of instruction – mathematics, a specific programming language, syntax, test-cases – all come together to conflate the boundaries and the specific purposes of these tools. We propose a correctness-first pedagogical framework for introductory computer science that separating semantic reasoning from syntactic implementation. The framework structures problem solving into four epistemic stages: blueprint specifications expressed as pre- and postconditions, natural-language operational steps that make program behaviour explicit, code implementation, and proof of correctness. Central to this approach is a natural-language intermediate layer that enables students to reason about computation independently of programming syntax, making formal correctness reasoning accessible in early coursework. We describe BOOP, a tool that implements this framework through lecture-integrated workflows and assignment support. BOOP is delivered via a web-based IDE and a VS Code extension, and provides automated checking of loop invariants and specifications. We report on a classroom deployment across two semesters (48 students). Qualitative analysis indicates earlier and more explicit engagement with correctness criteria, improved handling of edge cases, and increased willingness to reason beyond test inputs. Our results suggest that correctness-first instruction is both pedagogically feasible in introductory CS courses and necessary for realigning assessment practices with foundational computational thinking goals in the presence of increasingly capable code-generation tools.
This work presents VeGo (Verified Go), a deductive formal verification system that enables direct verification of standard Go source code and formalizes contract-precision checking (weakest precondition vs. strongest postcondition) using an explicit analogy to type inference.
This work is a continuation, and generalization, of Andrew Appel's landmark work on “Compiling with Continuations”, but instead of natural-deduction-based languages like the lambda calculus, it uses sequent-calculus-inspired languages throughout all intermediate stages.
Marius Müller, David Binder, Marco Tzschentke et al.· ACM Transactions on Programm...· 0 citations
The paper shows that programming language theory can be used to study not just languages, but also rich interactive programming systems, and argues that such systems deserve at least as much attention as languages.
T. Petříček, J. Verter, Mikolas Fromm· Proceedings of the 2026 ACM...· 0 citations
This paper discusses the construction of a formal executable operational semantics for Reflex, a process-oriented programming language designed for embedded and distributed microcontroller systems. The work is motivated by the need to improve the reliability of software in such systems, and also by the fact that earlie...
Artyom D. Ishchenko, I. Anureev· Modeling and Analysis of Inf...· 0 citations
Background and Context. Large Language Models (LLMs) have become widely accessible to students in introductory programming courses [1], yet limited research evaluates their performance on authentic assignments with pedagogical constraints such as restricted language features and course-specific conventions. Existing be...
Iris Xu, Michał Nowak, E. Shaffer· Proceedings of the 2026 ACM...· 0 citations
This work presents a deductive verification framework based on a weighted assertion language and an intermediate verification language, whose weight domains are ordered structures with implication and coimplication, which let verification conditions express lower- and upper-bound obligations internally.
Emma Ahrens, Samuel Rode, Philipp Schröer et al.· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.