Effective Theories in Programming Practice

· Morgan & Claypool
E-book
562
Pages
Les notes et avis ne sont pas vérifiés. En savoir plus

À propos de cet e-book

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.

À propos de l'auteur

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.

Donner une note à cet e-book

Dites-nous ce que vous en pensez.

Informations sur la lecture

Smartphones et tablettes
Installez l'application Google Play Livres pour Android et iPad ou iPhone. Elle se synchronise automatiquement avec votre compte et vous permet de lire des livres en ligne ou hors connexion, où que vous soyez.
Ordinateurs portables et de bureau
Vous pouvez écouter les livres audio achetés sur Google Play à l'aide du navigateur Web de votre ordinateur.
Liseuses et autres appareils
Pour lire sur des appareils e-Ink, comme les liseuses Kobo, vous devez télécharger un fichier et le transférer sur l'appareil en question. Suivez les instructions détaillées du Centre d'aide pour transférer les fichiers sur les liseuses compatibles.