Scientific foundations for software engineering depend on the use of precise, abstract models and logics to characterize and reason about properties of software systems. Over time, a number of basic models and logics have proven to be particularly important and pervasive in the study of software systems. This course is concerned with that body of knowledge. It considers many of the standard models for representing and reasoning about sequential and concurrent systems, such as state machines, algebras and traces. -- Course Website
Instructor: Dr Graeme Smith ([email protected])