Effective Theories in Programming Practice

┬╖ Morgan & Claypool
рдЗ-рдкреБрд╕реНрддрдХ
562
рдкреГрд╖реНрдард╣рд░реВ
рд░реЗрдЯрд┐рдЩ рд░ рд░рд┐рднреНрдпреВрд╣рд░реВрдХреЛ рдкреБрд╖реНрдЯрд┐ рдЧрд░рд┐рдПрдХреЛ рд╣реБрдБрджреИрди ┬ардердк рдЬрд╛рдиреНрдиреБрд╣реЛрд╕реН

рдпреЛ рдЗ-рдкреБрд╕реНрддрдХрдХрд╛ рдмрд╛рд░реЗрдорд╛

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.

рд▓реЗрдЦрдХрдХреЛ рдмрд╛рд░реЗрдорд╛

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.

рдпреЛ рдЗ-рдкреБрд╕реНрддрдХрдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореАрд▓рд╛рдИ рдЖрдлреНрдиреЛ рдзрд╛рд░рдгрд╛ рдмрддрд╛рдЙрдиреБрд╣реЛрд╕реНред

рдЬрд╛рдирдХрд╛рд░реА рдкрдвреНрджреИ

рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рддрдерд╛ рдЯреНрдпрд╛рдмрд▓реЗрдЯрд╣рд░реВ
Android рд░ iPad/iPhone рдХрд╛ рд▓рд╛рдЧрд┐┬аGoogle Play рдХрд┐рддрд╛рдм рдПрдк рдХреЛ рдЗрдиреНрд╕реНрдЯрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рддрдкрд╛рдИрдВрдХреЛ рдЦрд╛рддрд╛рд╕реЕрдВрдЧ рд╕реНрд╡рддрдГ рд╕рд┐рдВрдХ рд╣реБрдиреНрдЫ рд░ рддрдкрд╛рдИрдВ рдЕрдирд▓рд╛рдЗрди рд╡рд╛ рдЕрдлрд▓рд╛рдЗрди рдЬрд╣рд╛рдБ рднрдП рдкрдирд┐┬ардЕрдзреНрдпрдпрди рдЧрд░реНрди рджрд┐рдиреНрдЫред
рд▓реНрдпрд╛рдкрдЯрдк рддрдерд╛ рдХрдореНрдкреНрдпреБрдЯрд░рд╣рд░реВ
рддрдкрд╛рдИрдВ Google Play рдорд╛ рдЦрд░рд┐рдж рдЧрд░рд┐рдПрдХреЛ рдЕрдбрд┐рдпреЛрдмреБрдХ рдЖрдлреНрдиреЛ рдХрдореНрдкреНрдпреБрдЯрд░рдХреЛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реБрдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
eReaders рд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгрд╣рд░реВ
Kobo eReaders рдЬрд╕реНрддрд╛ e-ink рдбрд┐рднрд╛рдЗрд╕рд╣рд░реВрдорд╛ рдлрд╛рдЗрд▓ рдкрдвреНрди рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реЗрд░ рдЙрдХреНрдд рдлрд╛рдЗрд▓ рдЖрдлреНрдиреЛ рдбрд┐рднрд╛рдЗрд╕рдорд╛ рдЯреНрд░рд╛рдиреНрд╕реНрдлрд░ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рд╣реБрдиреНрдЫред рддреА рдлрд╛рдЗрд▓рд╣рд░реВ рдкрдвреНрди рдорд┐рд▓реНрдиреЗ рдЗрдмреБрдХ рд░рд┐рдбрд░рд╣рд░реВрдорд╛ рддреА рдлрд╛рдЗрд▓рд╣рд░реВ рдЯреНрд░рд╛рдиреНрд╕реНрдлрд░ рдЧрд░реНрдиреЗрд╕рдореНрдмрдиреНрдзреА рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдорджреНрджрдд рдХреЗрдиреНрджреНрд░ рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред