Teaching Formal Methods [electronic resource] : CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium, November 18-19, 2004. Proceedings / edited by C. Neville Dean, Raymond T. Boute.Material type: TextLanguage: English Series: Lecture Notes in Computer Science: 3294Publisher: Berlin, Heidelberg : Springer Berlin Heidelberg, 2004Description: VIII, 252 p. online resourceContent type: text Media type: computer Carrier type: online resourceISBN: 9783540304722Subject(s): Computer science | Software engineering | Data structures (Computer science) | Logic design | Education | Computer Science | Software Engineering | Computers and Education | Logics and Meanings of Programs | Mathematical Logic and Formal Languages | Data StructuresAdditional physical formats: Printed edition:: No titleDDC classification: 005.1 LOC classification: QA76.758Online resources: Click here to access online
A Beginner’s Course on Reasoning About Imperative Programs -- Designing Algorithms in High School Mathematics -- Motivating Study of Formal Methods in the Classroom -- Formal Systems, Not Methods -- A Practice-Oriented Course on the Principles of Computation, Programming, and System Design and Analysis -- Teaching How to Derive Correct Concurrent Programs from State-Based Specifications and Code Patterns -- Specification-Driven Design with Eiffel and Agents for Teaching Lightweight Formal Methods -- Integrating Formal Specification and Software Verification and Validation -- Distributed Teaching of Formal Methods -- An Undergraduate Course on Protocol Engineering – How to Teach Formal Methods Without Scaring Students -- Linking Paradigms, Semi-formal and Formal Notations -- Teaching Formal Methods in Context -- Embedding Formal Development in Software Engineering -- Advertising Formal Methods and Organizing Their Teaching: Yes, but ... -- Retrospect and Prospect of Formal Methods Education in China -- A Survey of Formal Methods Courses in European Higher Education.
“Professional engineers can often be distinguished from other designers by the engineers’ ability to use mathematical models to describe and 1 analyze their products.” This observation by Parnas describes the de facto professional standards in all classical engineering disciplines (civil, mechanical, electrical, etc.). Unf- tunately, it is in sharp contrast with current (industrial) practice in software design, where mathematical models are hardly used at all, even by those who, 2 in Holloway’s words “aspire to be engineers.” The rare exceptions are certain critical applications, where mathematical techniques are used under the general name formal methods. Yet,thesamecharacteristicsthatmakeformalmethodsanecessityincritical applicationsmakethemalsoadvantageousineverydaysoftwaredesignatvarious levels from design e?ciency to software quality. Why, then, is education failing with respect to formal methods? – failing to convince students, academics and practitioners alike that formal methods are truly pragmatic; – failing to overcome a phobia of formality and mathematics; – failing to provide students with the basic skills and understanding required toadoptamoremathematicalandlogicalapproachtosoftwaredevelopment. Until education takes these failings seriously, formal methods will be an obscure byway in software engineering, which in turn will remain severely impoverished as a result.