Algorithms are central to all areas of computer science, from compiler construction to numerical analysis to artificial intelligence. Throughout your academic and professional careers, you may be required to construct new algorithms, analyze existing algorithms, or modify algorithms to suit new purposes.
How do we know that such algorithms are correct? One method involves making claims about how we expect our programs to operate, and then constructing code that carries out these tasks. The key component of such reasoning is the invariant, and is the topic of this book.
In these pages, you...
Algorithms are central to all areas of computer science, from compiler construction to numerical analysis to artificial intelligence. Throughout your ...
The frequency of new editions of this book is indicative of the rapid and trem- dous changes in the fields of computer and information sciences. First published in 1995, the book has rapidly gone through three editions already and now we are in the fourth. Over this period, we have become more dependent on computer and telecommunication technology than ever before and computer technology has become ubiquitous. Since I started writing on social computing, I have been ad- cating a time when we, as individuals and as nations, will become totally dependent on computing technology. That time is...
The frequency of new editions of this book is indicative of the rapid and trem- dous changes in the fields of computer and information sciences. First...
Many books focus on increasing the quality of software through the use of formal methods. However, most books embrace one particular method, and present it as the suggested solution for the software reliability problem. This book presents a wider picture of formal methods, through a collection of notations and techniques. It compares them, and discusses their advantages and disadvantages. One of the main challenges of formal methods is in transferring the tech- nology developed by researchers to the software development community. Re- cently, we seem to be starting to have a better...
Many books focus on increasing the quality of software through the use of formal methods. However, most books embrace one particular method, and prese...
In recent years, model checking has become an essential technique for the formal verification of systems. With a clarity of presentation and its many illuminating examples, this book makes this technical material easy to grasp. It is perfectly suited for an advanced undergraduate or graduate class in formal verification and will serve as a valuable resource to practitioners of formal methods.
In recent years, model checking has become an essential technique for the formal verification of systems. With a clarity of presentation and its many ...
Differing from other books on the subject, this one uses the framework of constraint databases to provide a natural and powerful generalization of relational databases. An important theme running through the text is showing how relational databases can smoothly develop into constraint databases, without sacrificing any of the benefits of relational databases whilst gaining new advantages. Peter Revesz begins by discussing data models and how queries may be addressed to them. From here, he develops the theory of relational and constraint databases, including Datalog and the relational...
Differing from other books on the subject, this one uses the framework of constraint databases to provide a natural and powerful generalization of rel...
Image processing is concerned with the analysis and manipulation of images by computer. Providing a thorough treatment of image processing with an emphasis on those aspects most used in computer graphics, the authors concentrate on describing and analyzing the underlying concepts rather than on presenting algorithms or pseudocode. As befits a modern introduction to this topic, a good balance is struck between discussing the underlying mathematics and the main topics: signal processing, data discretization, the theory of colour and different colour systems, operations in images, dithering...
Image processing is concerned with the analysis and manipulation of images by computer. Providing a thorough treatment of image processing with an ...
It is a great pleasure to write a preface to this book. In my view, the content is unique in that it blends traditional teaching approaches with the use of mathematics and a mainstream Hardware Design Language (HDL) as formalisms to describe key concepts. The book keeps the "machine" separate from the "application" by strictly following a bottom-up approach: it starts with transistors and logic gates and only introduces assembly language programs once their execution by a processor is clearly de ned. Using a HDL, Verilog in this case, rather than static circuit diagrams is a big deviation...
It is a great pleasure to write a preface to this book. In my view, the content is unique in that it blends traditional teaching approaches with the u...