Constructing Correct Software – The Basics illustrates and explains the constructive approach to software development. This approach involves calculating an answer from the initial statement of requirements or specification, rather than “guessing” an answer and then testing whether it actually works. It uses the same basic theory as traditional techniques, but is much quicker and easier as no “wrong answers” are obtained, and therefore no incorrect work needs to be discarded. John Cooke has based this book on material which has been used to teach the topic extensively at Loughborough University. It has been carefully written to be accessible to anyone with an appropriate basic background knowledge of formal methods. It is intended for 3rd/4th year undergraduate and postgraduate students on formal methods and software engineering courses, and software developers in industry who need a more pragmatic, yet fully formal, approach to software development.