Does Every Computer Scientist Need to Know Formal Methods?

IF 17.7 1区 化学 Q1 CHEMISTRY, MULTIDISCIPLINARY Accounts of Chemical Research Pub Date : 2024-06-10 DOI:10.1145/3670795
Manfred Broy, Achim Brucker, Alessandro Fantechi, Mario Gleirscher, Klaus Havelund, M. Kuppe, Alexandra Mendes, André Platzer, Jan Ringert, Allison Sullivan
{"title":"Does Every Computer Scientist Need to Know Formal Methods?","authors":"Manfred Broy, Achim Brucker, Alessandro Fantechi, Mario Gleirscher, Klaus Havelund, M. Kuppe, Alexandra Mendes, André Platzer, Jan Ringert, Allison Sullivan","doi":"10.1145/3670795","DOIUrl":null,"url":null,"abstract":"We focus on the integration of Formal Methods as mandatory theme in any Computer Science University curriculum. In particular, when considering the ACM Curriculum for Computer Science, the inclusion of Formal Methods as a mandatory Knowledge Area needs arguing for why and how does every computer science graduate benefit from such knowledge. We do not agree with the sentence “While there is a belief that formal methods are important and they are growing in importance, we cannot state that every computer science graduate will need to use formal methods in their career.” We argue that formal methods are and have to be an integral part of every computer science curriculum. Just as not all graduates will need to know how to work with databases either, it is still important for students to have a basic understanding of how data is stored and managed efficiently. The same way, students have to understand why and how methods work, what their formal background is, and how they are justified. No engineer should be ignorant of the foundations of their subject and the formal methods based on these. In this paper, we aim to highlight why every computer scientist needs to be familiar with formal methods. We argue that education in formal methods plays a key role by shaping students' programming mindset, fostering an appreciation for underlying principles, and encouraging the practice of thoughtful program design and justification, rather than simply writing programs without reflection and deeper understanding. Since integrating formal methods into the computer science curriculum is not a straightforward process, we explore the additional question: what are the trade-offs between one dedicated knowledge area of formal methods in a computer science curriculum versus having formal methods scattered across all knowledge areas? Solving problems while designing software and software-intensive systems demands an understanding of what is required, followed by a specification and formalizing a solution in a programming language. How to do this systematically and correctly on solid grounds is exactly the supported by Formal Methods.","PeriodicalId":1,"journal":{"name":"Accounts of Chemical Research","volume":"119 19","pages":""},"PeriodicalIF":17.7000,"publicationDate":"2024-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Accounts of Chemical Research","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1145/3670795","RegionNum":1,"RegionCategory":"化学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"CHEMISTRY, MULTIDISCIPLINARY","Score":null,"Total":0}
引用次数: 0

Abstract

We focus on the integration of Formal Methods as mandatory theme in any Computer Science University curriculum. In particular, when considering the ACM Curriculum for Computer Science, the inclusion of Formal Methods as a mandatory Knowledge Area needs arguing for why and how does every computer science graduate benefit from such knowledge. We do not agree with the sentence “While there is a belief that formal methods are important and they are growing in importance, we cannot state that every computer science graduate will need to use formal methods in their career.” We argue that formal methods are and have to be an integral part of every computer science curriculum. Just as not all graduates will need to know how to work with databases either, it is still important for students to have a basic understanding of how data is stored and managed efficiently. The same way, students have to understand why and how methods work, what their formal background is, and how they are justified. No engineer should be ignorant of the foundations of their subject and the formal methods based on these. In this paper, we aim to highlight why every computer scientist needs to be familiar with formal methods. We argue that education in formal methods plays a key role by shaping students' programming mindset, fostering an appreciation for underlying principles, and encouraging the practice of thoughtful program design and justification, rather than simply writing programs without reflection and deeper understanding. Since integrating formal methods into the computer science curriculum is not a straightforward process, we explore the additional question: what are the trade-offs between one dedicated knowledge area of formal methods in a computer science curriculum versus having formal methods scattered across all knowledge areas? Solving problems while designing software and software-intensive systems demands an understanding of what is required, followed by a specification and formalizing a solution in a programming language. How to do this systematically and correctly on solid grounds is exactly the supported by Formal Methods.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
每个计算机科学家都需要了解形式化方法吗?
我们重点关注将形式化方法作为必修主题纳入任何计算机科学大学课程的问题。特别是,在考虑 ACM 计算机科学课程时,将形式化方法列为必修知识领域需要论证为什么以及如何让每个计算机科学毕业生从这些知识中受益。我们不同意这样一句话:"虽然我们相信形式化方法很重要,而且它们的重要性也在不断增加,但我们不能说每个计算机科学专业的毕业生都需要在他们的职业生涯中使用形式化方法"。我们认为,形式化方法是而且必须是每个计算机科学课程的组成部分。正如并非所有毕业生都需要了解如何使用数据库一样,让学生基本了解如何有效地存储和管理数据仍然非常重要。同样,学生必须了解各种方法的工作原理和方法,了解这些方法的正式背景,以及这些方法的合理性。任何工程师都不应该对自己学科的基础和基于这些基础的形式方法一无所知。在本文中,我们旨在强调为什么每个计算机科学家都需要熟悉形式化方法。我们认为,形式化方法教育的关键作用在于塑造学生的编程思维,培养对基本原理的理解,并鼓励学生进行深思熟虑的程序设计和论证,而不是简单地编写程序而不加思考和深入理解。由于将形式化方法融入计算机科学课程并不是一个简单的过程,因此我们探讨了另外一个问题:在计算机科学课程中专门设置一个形式化方法知识领域与将形式化方法分散到所有知识领域之间的权衡是什么?在设计软件和软件密集型系统时,要解决问题,就必须先了解需要什么,然后用编程语言规范和形式化解决方案。如何在坚实的基础上系统而正确地做到这一点,正是形式化方法所支持的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Accounts of Chemical Research
Accounts of Chemical Research 化学-化学综合
CiteScore
31.40
自引率
1.10%
发文量
312
审稿时长
2 months
期刊介绍: Accounts of Chemical Research presents short, concise and critical articles offering easy-to-read overviews of basic research and applications in all areas of chemistry and biochemistry. These short reviews focus on research from the author’s own laboratory and are designed to teach the reader about a research project. In addition, Accounts of Chemical Research publishes commentaries that give an informed opinion on a current research problem. Special Issues online are devoted to a single topic of unusual activity and significance. Accounts of Chemical Research replaces the traditional article abstract with an article "Conspectus." These entries synopsize the research affording the reader a closer look at the content and significance of an article. Through this provision of a more detailed description of the article contents, the Conspectus enhances the article's discoverability by search engines and the exposure for the research.
期刊最新文献
Conjugated Oligoelectrolytes as Optical Probes. Multifunctional Guest-Hosting Triple-Stranded Helicates: From Anion Recognition to Quantum Information Applications. Pd/smNBE(D) Chemistry Meets the Amino Group: Catalytic Cycle and Chemoselectivity Photophysics-Guided Upconversion Nanosystems for Sensing Organometallic Clusters in Catalysis: From Designed Synthesis and Structural Evolution to Functional Applications
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1