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.

The role of Formal Methods in Computer Science education

ter Beek M.
Writing – Original Draft Preparation
;
2024

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.
2024
Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo" - ISTI
Formal Methods
Computer Science education
ACM CS2023 curriculum
File in questo prodotto:
File Dimensione Formato  
INROADS24.pdf

accesso aperto

Descrizione: The Role of Formal Methods in Computer Science Education
Tipologia: Versione Editoriale (PDF)
Licenza: Creative commons
Dimensione 1.3 MB
Formato Adobe PDF
1.3 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/511130
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? ND
social impact