Specifying Software

Specifying Software : A Hands-On Introduction

1 (1 rating by Goodreads)
By (author) 

List price: US$500.00

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Provides an innovative hands-on introduction to techniques for specifying the behaviour of software components. It is primarily intended for use as a text book for a course in the 2nd or 3rd year of Computer Science and Computer Engineering programs, but it is also suitable for self-study. Using this book will help the reader improve programming skills and gain a sound foundation and motivation for subsequent courses in advanced algorithms and data structures, software design, formal methods, compilers, programming languages, and theory. The presentation is based on numerous examples and case studies appropriate to the level of programming expertise of the intended readership. The main topics covered are techniques for using programmer-friendly assertional notations to specify, develop, and verify small but non-trivial algorithms and data representations, and the use of state diagrams, grammars, and regular expressions to specify and develop recognizers for formal languages.show more

Product details

  • Online resource
  • Cambridge University Press (Virtual Publishing)
  • Cambridge, United Kingdom
  • English
  • 29 b/w illus. 1 table 215 exercises
  • 1139164902
  • 9781139164900

Review quote

'The treatment of state diagrams or grammars as specialized specification languages and embedding them into a more general context of specifying algorithms and data representations is an interesting approach that is quite novel ... I would like to single out both the author's approach and his style of presentation as very positive features of the book. Reading this book is definitely inspiring, and not just for a student.' Computing Reviews 'This book was written to support a short course in the second or third year of an undergraduate computer science, software engineering, or software design program. The prerequisites are fairly modest: some programming experience and some exposure to the most basic concepts of discrete mathematics and to the language of elementary logic. Using this book will help readers improve their programming skills and develop a solid foundation for subsequent courses in advanced algorithms and data structures, software design, formal methods, and compilers.' Zentralblatt fur Mathematikshow more

Table of contents

Introduction; Part I. Algorithms: 1. Specifying algorithms; 2. Verifying algorithms: basic techniques; 3. Verifying algorithms: some examples; 4. Additional verification techniques; Part II. Data Representations: 5. Data representation: a case study; 6. Data representation: additional examples; Part III. Language Recognizers: 7. Basic concepts; 8. State-transition diagrams; 9. Regular languages; 10. Context-free languages; 11. Parsing; 12. A taste of computability theory; Appendix A: programming language reference; Appendix B: hints for selected exercises; Index.show more

Rating details

1 ratings
1 out of 5 stars
5 0% (0)
4 0% (0)
3 0% (0)
2 0% (0)
1 100% (1)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X