Learning Foundations Beneath the Stars
Felice Cardone (University of Turin), Luca Paolini (University of Turin)

TL;DR
This paper advocates for teaching foundational computer science concepts through core techniques and examples, using transitive closure as a case study to enhance understanding of computational thinking and proof strategies.
Contribution
It introduces a pedagogical approach emphasizing fundamental techniques and structures, demonstrated through the case study of transitive closure, to improve foundational learning in computer science education.
Findings
Elementary proofs effectively illustrate core techniques.
Connections between transitive closure, Kleene star, and closure operators are elucidated.
Proposed examples serve as practical tools for teaching foundational concepts.
Abstract
Foundations of computer science are a key area in theoretical research, one to which Stefano has made significant contributions, particularly from a logical and proof-theoretic perspective. Recently, we have been involved, with him, in teaching an introductory course on this topic, guided by the idea that understanding and writing ordinary, discursive proofs is a valuable skill for future programmers. This shared experience has inspired the pedagogical approach at the basis of this paper. Behind specific foundational topics in computer science lie core techniques that are best taught through examples. However, standard textbooks often do not place enough emphasis on these ubiquitous techniques and frequently lack examples that are directly relevant to informatics. We believe that highlighting fundamental techniques, rather than focusing solely on specific foundational topics, would…
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.
Taxonomy
TopicsLogic, programming, and type systems · Computability, Logic, AI Algorithms · Logic, Reasoning, and Knowledge
