The Role of Formal Methods in Computer Science Education

This piece points out the key position of formal methods in Computer Science (CS) education, which must thus be reflected in any CS curriculum as a knowledge area rather than as elective topics in distinct knowledge areas. This is confirmed by the increasing use of formal methods in industry (ter Beek et al., 2024) - not limited to safety-critical domains. First, we indicate the importance of formal methods thinking in CS education (Dongol et al., 2024), since this provides the necessary rigor in reasoning about software, its specification, its verification, and its correctness - all fundamental skills for future software developers. Then, we argue that every computer scientist needs to know formal methods (Broy et al., 2024), since the skills and knowledge acquired in this way provide the indispensable solid foundation that forms the backbone of CS practice. Finally, we underline that teaching formal methods need not come at the cost of displacing other engineering aspects of CS that are already widely accepted as essential. On the contrary, formal methods have the potential to support and strengthen the presentation and knowledge in all these subdisciplines. We provide suggestions for educators on how to incorporate formal methods into CS education.

Authors

Institutions

Publication Details

Journal
ACM Inroads
Published
2024-11-11
DOI
https://doi.org/10.1145/3702231
Citations
9
Primary Topic
Teaching and Learning Programming
Type
article
Field-Weighted Citation Impact
3.71

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

The Role of Formal Methods in Computer Science Education

Brijesh Dongol, Maurice H. ter Beek, Manfred Broy
9 citations
ACM Inroads
Teaching and Learning Programming
3.71
article

The Role of Formal Methods in Computer Science Education

Brijesh Dongol, Maurice H. ter Beek, Manfred Broy
article en
9 citations

Abstract

This piece points out the key position of formal methods in Computer Science (CS) education, which must thus be reflected in any CS curriculum as a knowledge area rather than as elective topics in distinct knowledge areas. This is confirmed by the increasing use of formal methods in industry (ter Beek et al., 2024) - not limited to safety-critical domains. First, we indicate the importance of formal methods thinking in CS education (Dongol et al., 2024), since this provides the necessary rigor in reasoning about software, its specification, its verification, and its correctness - all fundamental skills for future software developers. Then, we argue that every computer scientist needs to know formal methods (Broy et al., 2024), since the skills and knowledge acquired in this way provide the indispensable solid foundation that forms the backbone of CS practice. Finally, we underline that teaching formal methods need not come at the cost of displacing other engineering aspects of CS that are already widely accepted as essential. On the contrary, formal methods have the potential to support and strengthen the presentation and knowledge in all these subdisciplines. We provide suggestions for educators on how to incorporate formal methods into CS education.

ACM InroadsVol. 15(4)
Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo" (IT), University of Surrey (GB), Technical University of Munich (DE)
Engineering and Physical Sciences Research Council
Quality Education
Openalex Percentile: Top 6%
Teaching and Learning Programming
3.71
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.