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.
These essays survey, document and elucidate over a thousand years of Roman garments and accessories, from Etruscan influences to the transition to early Christian and medieval garb. Subjects include...
By the late 1980s, Government and Binding Theory - which was central to almost all research in generative grammar - threatened to become as large and as intricate as the language it described. To...
Selecting the best materials, techniques and systems for each project and then specifying them correctly to meet all the requirements of quality, time, value, constructability, maintenance and...