Effective Theories in Programming Practice

· Morgan & Claypool
eBook
562
Páginas
Las valoraciones y las reseñas no se verifican. Más información

Información sobre este eBook

Set theory, logic, discrete mathematics, and fundamental algorithms (along with their correctness and complexity analysis) will always remain useful for computing professionals and need to be understood by students who want to succeed. This textbook explains a number of those fundamental algorithms to programming students in a concise, yet precise, manner. The book includes the background material needed to understand the explanations and to develop such explanations for other algorithms. The author demonstrates that clarity and simplicity are achieved not by avoiding formalism, but by using it properly.

The book is self-contained, assuming only a background in high school mathematics and elementary program writing skills. It does not assume familiarity with any specific programming language. Starting with basic concepts of sets, functions, relations, logic, and proof techniques including induction, the necessary mathematical framework for reasoning about the correctness, termination and efficiency of programs is introduced with examples at each stage. The book contains the systematic development, from appropriate theories, of a variety of fundamental algorithms related to search, sorting, matching, graph-related problems, recursive programming methodology and dynamic programming techniques, culminating in parallel recursive structures.

Acerca del autor

Jayadev Misra is the Schlumberger Centennial Chair Emeritus in computer science and a University Distinguished Teaching Professor Emeritus at the University of Texas at Austin. Professionally he is known for his contributions to the formal aspects of concurrent programming and for jointly spearheading, with Sir Tony Hoare, the project on Verified Software Initiative (VSI). Jayadev Misra in collaboration with K. Mani Chandy has made a number of important contributions in the area of concurrent computing, among them a programming notation and a logic, called UNITY, to describe concurrent computations, a conservative algorithm for distributed discrete-event simulation, a number of fundamental algorithms for resource allocation (the drinking philosopher’s problem, deadlock detection, distributed graph algorithms), and a theory of knowledge transmission in distributed systems. In collaboration with David Gries, Jayadev proposed the first algorithm for the heavy-hitters problem. He has also proposed a set of axioms for concurrent memory access that underlie the theory of linearizability. His most recent research project, called Orc, attempts to develop an algebra of concurrent computing that will help integrate different pieces of software for concurrent execution. Jayadev is a member of the National Academy of Engineering. He has been awarded: the Harry H. Goode Memorial Award, IEEE, 2017, jointly with K. Mani Chandy; Doctor Honoris Causa, from École normale supérieure Paris-Saclay, Cachan, France, 2010 and a Guggenheim Fellowship, 1988. He is an ACM Fellow (1995), an IEEE Fellow (1992), and a Distinguished alumnus of IIT Kanpur, India.

Valorar este eBook

Danos tu opinión.

Información sobre cómo leer

Smartphones y tablets
Instala la aplicación Google Play Libros para Android y iPad/iPhone. Se sincroniza automáticamente con tu cuenta y te permite leer contenido online o sin conexión estés donde estés.
Ordenadores portátiles y de escritorio
Puedes usar el navegador web del ordenador para escuchar audiolibros que hayas comprado en Google Play.
eReaders y otros dispositivos
Para leer en dispositivos de tinta electrónica, como los lectores de libros electrónicos de Kobo, es necesario descargar un archivo y transferirlo al dispositivo. Sigue las instrucciones detalladas del Centro de Ayuda para transferir archivos a lectores de libros electrónicos compatibles.