Systematic software development using VDM
Systematic software development using VDM
Software engineering mathematics
Software engineering mathematics
Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
The Z notation: a reference manual
The Z notation: a reference manual
Object-oriented modeling and design
Object-oriented modeling and design
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Communications of the ACM
Z: An Introduction to Formal Methods
Z: An Introduction to Formal Methods
Software Engineering
Techniques of Program Structure and Design
Techniques of Program Structure and Design
Hi-index | 0.00 |
This paper describes an approach and rational for using logic and formal methods in undergraduate software engineering education. Formal methods and logic provide a mathematical basis for modeling software analogous to the role of continuous mathematics in traditional engineering disciplines. Traditional software engineering techniques provide means for modeling software development processes and structuring specifications. Neither formal methods nor traditional approaches subsume the other, but are complimentary in software engineering education and practice. The course described here was a part of the standard Computer Engineering curriculum at The University of Cincinnati from 1993 through 1999. This paper reports on the course and observations over six years of teaching the course to undergraduate and graduate students.