Teaching Programming and Design-by-Contract
Daniel de Carvalho, Rasheed Hussain, Adil Khan, Mansur Khazeev,, JooYong Lee, Sergey Masiagin, Manuel Mazzara, Ruslan Mustafin, Alexandr, Naumchev, Victor Rivera

TL;DR
This paper discusses teaching programming using a correctness by construction approach, emphasizing the division of students into beginner and advanced groups to enhance learning outcomes, supported by data from Innopolis University.
Contribution
It introduces a division-based teaching method for programming courses and provides empirical evidence of its effectiveness.
Findings
Division into beginner and advanced groups improves learning outcomes.
Data supports the effectiveness of correctness by construction in teaching.
Empirical results from Innopolis University validate the approach.
Abstract
This paper summarizes the experience of teaching an introductory course to programming by using a correctness by construction approach at Innopolis University, Russian Federation. In this paper we claim that division in beginner and advanced groups improves the learning outcomes, present the discussion and the data that support the claim.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
