Does Every Computer Scientist Need to Know Formal Methods?
收藏Mendeley Data2024-06-19 更新2024-06-29 收录
下载链接:
http://dataverse.jpl.nasa.gov/citation?persistentId=doi:10.48577/jpl.SAUETH
下载链接
链接失效反馈官方服务:
资源简介:
Computer science and, in particular, the science of data, programs, software and cyber-physical systems can be understood as the “engineering discipline of logic”. We start from 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.” It would be wrong to conclude that formal methods need not be an integral part of a computer science curriculum. Just as not all graduates will need databases either, but it is still important to have a basic understanding of how data is stored and managed efficiently. No engineer should be ignorant of the foundations of their subject and the formal methods based on these. Even if, much of the time, it is not necessary to go back to the foundations explicitly, the understanding of these foundations still constitutes the solid base upon which engineers practice their craft. In this paper, we aim to highlight why every computer scientist needs to know 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. Since integrating formal methods into the computer science curriculum is not a straight-forward process, we explore the additional question: what are the trade-offs between one dedicated knowledge area of formal methods versus having formal methods scattered across all knowledge areas? Computer science, namely the ability to solve problems while designing software and software-intensive systems, consists of forming and understanding formally what is required, followed by the development of a formalized solution in a programming language. Therefore, formalization is inherent in computer science.
创建时间:
2024-06-11



