Author: Jayadev Misra
Publisher: Morgan & Claypool
ISBN: 1450399746
Category : Computers
Languages : en
Pages : 562
Book Description
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.
Effective Theories in Programming Practice
Author: Jayadev Misra
Publisher: Morgan & Claypool
ISBN: 1450399746
Category : Computers
Languages : en
Pages : 562
Book Description
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.
Publisher: Morgan & Claypool
ISBN: 1450399746
Category : Computers
Languages : en
Pages : 562
Book Description
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.
A Practical Theory of Programming
Author: Eric C.R. Hehner
Publisher: Springer Science & Business Media
ISBN: 1441985964
Category : Computers
Languages : en
Pages : 257
Book Description
There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.
Publisher: Springer Science & Business Media
ISBN: 1441985964
Category : Computers
Languages : en
Pages : 257
Book Description
There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.
Elements of Programming
Author: Alexander Stepanov
Publisher: Lulu.com
ISBN: 0578222140
Category : Computers
Languages : en
Pages : 282
Book Description
Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. This book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.
Publisher: Lulu.com
ISBN: 0578222140
Category : Computers
Languages : en
Pages : 282
Book Description
Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. This book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.
On Monotonicity Testing and the 2-to-2 Games Conjecture
Author: Dor Minzer
Publisher: Morgan & Claypool
ISBN: 145039969X
Category : Computers
Languages : en
Pages : 233
Book Description
This book discusses two questions in Complexity Theory: the Monotonicity Testing problem and the 2-to-2 Games Conjecture. Monotonicity testing is a problem from the field of property testing, first considered by Goldreich et al. in 2000. The input of the algorithm is a function, and the goal is to design a tester that makes as few queries to the function as possible, accepts monotone functions and rejects far-from monotone functions with a probability close to 1. The first result of this book is an essentially optimal algorithm for this problem. The analysis of the algorithm heavily relies on a novel, directed, and robust analogue of a Boolean isoperimetric inequality of Talagrand from 1993. The probabilistically checkable proofs (PCP) theorem is one of the cornerstones of modern theoretical computer science. One area in which PCPs are essential is the area of hardness of approximation. Therein, the goal is to prove that some optimization problems are hard to solve, even approximately. Many hardness of approximation results were proved using the PCP theorem; however, for some problems optimal results were not obtained. This book touches on some of these problems, and in particular the 2-to-2 games problem and the vertex cover problem. The second result of this book is a proof of the 2-to-2 games conjecture (with imperfect completeness), which implies new hardness of approximation results for problems such as vertex cover and independent set. It also serves as strong evidence towards the unique games conjecture, a notorious related open problem in theoretical computer science. At the core of the proof is a characterization of small sets of vertices in Grassmann graphs whose edge expansion is bounded away from 1.
Publisher: Morgan & Claypool
ISBN: 145039969X
Category : Computers
Languages : en
Pages : 233
Book Description
This book discusses two questions in Complexity Theory: the Monotonicity Testing problem and the 2-to-2 Games Conjecture. Monotonicity testing is a problem from the field of property testing, first considered by Goldreich et al. in 2000. The input of the algorithm is a function, and the goal is to design a tester that makes as few queries to the function as possible, accepts monotone functions and rejects far-from monotone functions with a probability close to 1. The first result of this book is an essentially optimal algorithm for this problem. The analysis of the algorithm heavily relies on a novel, directed, and robust analogue of a Boolean isoperimetric inequality of Talagrand from 1993. The probabilistically checkable proofs (PCP) theorem is one of the cornerstones of modern theoretical computer science. One area in which PCPs are essential is the area of hardness of approximation. Therein, the goal is to prove that some optimization problems are hard to solve, even approximately. Many hardness of approximation results were proved using the PCP theorem; however, for some problems optimal results were not obtained. This book touches on some of these problems, and in particular the 2-to-2 games problem and the vertex cover problem. The second result of this book is a proof of the 2-to-2 games conjecture (with imperfect completeness), which implies new hardness of approximation results for problems such as vertex cover and independent set. It also serves as strong evidence towards the unique games conjecture, a notorious related open problem in theoretical computer science. At the core of the proof is a characterization of small sets of vertices in Grassmann graphs whose edge expansion is bounded away from 1.
Prophets of Computing
Author: Dick van Lente
Publisher: Morgan & Claypool
ISBN: 1450398189
Category : Computers
Languages : en
Pages : 556
Book Description
When electronic digital computers first appeared after World War II, they appeared as a revolutionary force. Business management, the world of work, administrative life, the nation state, and soon enough everyday life were expected to change dramatically with these machines’ use. Ever since, diverse prophecies of computing have continually emerged, through to the present day. As computing spread beyond the US and UK, such prophecies emerged from strikingly different economic, political, and cultural conditions. This volume explores how these expectations differed, assesses unexpected commonalities, and suggests ways to understand the divergences and convergences. This book examines thirteen countries, based on source material in ten different languages—the effort of an international team of scholars. In addition to analyses of debates, political changes, and popular speculations, we also show a wide range of pictorial representations of "the future with computers."
Publisher: Morgan & Claypool
ISBN: 1450398189
Category : Computers
Languages : en
Pages : 556
Book Description
When electronic digital computers first appeared after World War II, they appeared as a revolutionary force. Business management, the world of work, administrative life, the nation state, and soon enough everyday life were expected to change dramatically with these machines’ use. Ever since, diverse prophecies of computing have continually emerged, through to the present day. As computing spread beyond the US and UK, such prophecies emerged from strikingly different economic, political, and cultural conditions. This volume explores how these expectations differed, assesses unexpected commonalities, and suggests ways to understand the divergences and convergences. This book examines thirteen countries, based on source material in ten different languages—the effort of an international team of scholars. In addition to analyses of debates, political changes, and popular speculations, we also show a wide range of pictorial representations of "the future with computers."
The Handbook on Socially Interactive Agents
Author: Birgit Lugrin
Publisher: Morgan & Claypool
ISBN: 1450398979
Category : Computers
Languages : en
Pages : 712
Book Description
The Handbook on Socially Interactive Agents provides a comprehensive overview of the research fields of Embodied Conversational Agents;Intelligent Virtual Agents;and Social Robotics. Socially Interactive Agents (SIAs);whether virtually or physically embodied;are autonomous agents that are able to perceive an environment including people or other agents;reason;decide how to interact;and express attitudes such as emotions;engagement;or empathy. They are capable of interacting with people and one another in a socially intelligent manner using multimodal communicative behaviors;with the goal to support humans in various domains. Written by international experts in their respective fields;the book summarizes research in the many important research communities pertinent for SIAs;while discussing current challenges and future directions. The handbook provides easy access to modeling and studying SIAs for researchers and students;and aims at further bridging the gap between the research communities involved. In two volumes;the book clearly structures the vast body of research. The first volume starts by introducing what is involved in SIAs research;in particular research methodologies and ethical implications of developing SIAs. It further examines research on appearance and behavior;focusing on multimodality. Finally;social cognition for SIAs is investigated using different theoretical models and phenomena such as theory of mind or pro-sociality. The second volume starts with perspectives on interaction;examined from different angles such as interaction in social space;group interaction;or long-term interaction. It also includes an extensive overview summarizing research and systems of human–agent platforms and of some of the major application areas of SIAs such as education;aging support;autism;and games.
Publisher: Morgan & Claypool
ISBN: 1450398979
Category : Computers
Languages : en
Pages : 712
Book Description
The Handbook on Socially Interactive Agents provides a comprehensive overview of the research fields of Embodied Conversational Agents;Intelligent Virtual Agents;and Social Robotics. Socially Interactive Agents (SIAs);whether virtually or physically embodied;are autonomous agents that are able to perceive an environment including people or other agents;reason;decide how to interact;and express attitudes such as emotions;engagement;or empathy. They are capable of interacting with people and one another in a socially intelligent manner using multimodal communicative behaviors;with the goal to support humans in various domains. Written by international experts in their respective fields;the book summarizes research in the many important research communities pertinent for SIAs;while discussing current challenges and future directions. The handbook provides easy access to modeling and studying SIAs for researchers and students;and aims at further bridging the gap between the research communities involved. In two volumes;the book clearly structures the vast body of research. The first volume starts by introducing what is involved in SIAs research;in particular research methodologies and ethical implications of developing SIAs. It further examines research on appearance and behavior;focusing on multimodality. Finally;social cognition for SIAs is investigated using different theoretical models and phenomena such as theory of mind or pro-sociality. The second volume starts with perspectives on interaction;examined from different angles such as interaction in social space;group interaction;or long-term interaction. It also includes an extensive overview summarizing research and systems of human–agent platforms and of some of the major application areas of SIAs such as education;aging support;autism;and games.
Logic, Automata, and Computational Complexity
Author: Bruce M. Kapron
Publisher: Morgan & Claypool
ISBN:
Category : Computers
Languages : en
Pages : 424
Book Description
Professor Stephen A. Cook is a pioneer of the theory of computational complexity. His work on NP-completeness and the P vs. NP problem remains a central focus of this field. Cook won the 1982 Turing Award for “his advancement of our understanding of the complexity of computation in a significant and profound way.” This volume includes a selection of seminal papers embodying the work that led to this award, exemplifying Cook’s synthesis of ideas and techniques from logic and the theory of computation including NP-completeness, proof complexity, bounded arithmetic, and parallel and space-bounded computation. These papers are accompanied by contributed articles by leading researchers in these areas, which convey to a general reader the importance of Cook’s ideas and their enduring impact on the research community. The book also contains biographical material, Cook’s Turing Award lecture, and an interview. Together these provide a portrait of Cook as a recognized leader and innovator in mathematics and computer science, as well as a gentle mentor and colleague.
Publisher: Morgan & Claypool
ISBN:
Category : Computers
Languages : en
Pages : 424
Book Description
Professor Stephen A. Cook is a pioneer of the theory of computational complexity. His work on NP-completeness and the P vs. NP problem remains a central focus of this field. Cook won the 1982 Turing Award for “his advancement of our understanding of the complexity of computation in a significant and profound way.” This volume includes a selection of seminal papers embodying the work that led to this award, exemplifying Cook’s synthesis of ideas and techniques from logic and the theory of computation including NP-completeness, proof complexity, bounded arithmetic, and parallel and space-bounded computation. These papers are accompanied by contributed articles by leading researchers in these areas, which convey to a general reader the importance of Cook’s ideas and their enduring impact on the research community. The book also contains biographical material, Cook’s Turing Award lecture, and an interview. Together these provide a portrait of Cook as a recognized leader and innovator in mathematics and computer science, as well as a gentle mentor and colleague.
What Can Be Computed?
Author: John MacCormick
Publisher: Princeton University Press
ISBN: 0691170665
Category : Computers
Languages : en
Pages : 404
Book Description
An accessible and rigorous textbook for introducing undergraduates to computer science theory What Can Be Computed? is a uniquely accessible yet rigorous introduction to the most profound ideas at the heart of computer science. Crafted specifically for undergraduates who are studying the subject for the first time, and requiring minimal prerequisites, the book focuses on the essential fundamentals of computer science theory and features a practical approach that uses real computer programs (Python and Java) and encourages active experimentation. It is also ideal for self-study and reference. The book covers the standard topics in the theory of computation, including Turing machines and finite automata, universal computation, nondeterminism, Turing and Karp reductions, undecidability, time-complexity classes such as P and NP, and NP-completeness, including the Cook-Levin Theorem. But the book also provides a broader view of computer science and its historical development, with discussions of Turing's original 1936 computing machines, the connections between undecidability and Gödel's incompleteness theorem, and Karp's famous set of twenty-one NP-complete problems. Throughout, the book recasts traditional computer science concepts by considering how computer programs are used to solve real problems. Standard theorems are stated and proven with full mathematical rigor, but motivation and understanding are enhanced by considering concrete implementations. The book's examples and other content allow readers to view demonstrations of—and to experiment with—a wide selection of the topics it covers. The result is an ideal text for an introduction to the theory of computation. An accessible and rigorous introduction to the essential fundamentals of computer science theory, written specifically for undergraduates taking introduction to the theory of computation Features a practical, interactive approach using real computer programs (Python in the text, with forthcoming Java alternatives online) to enhance motivation and understanding Gives equal emphasis to computability and complexity Includes special topics that demonstrate the profound nature of key ideas in the theory of computation Lecture slides and Python programs are available at whatcanbecomputed.com
Publisher: Princeton University Press
ISBN: 0691170665
Category : Computers
Languages : en
Pages : 404
Book Description
An accessible and rigorous textbook for introducing undergraduates to computer science theory What Can Be Computed? is a uniquely accessible yet rigorous introduction to the most profound ideas at the heart of computer science. Crafted specifically for undergraduates who are studying the subject for the first time, and requiring minimal prerequisites, the book focuses on the essential fundamentals of computer science theory and features a practical approach that uses real computer programs (Python and Java) and encourages active experimentation. It is also ideal for self-study and reference. The book covers the standard topics in the theory of computation, including Turing machines and finite automata, universal computation, nondeterminism, Turing and Karp reductions, undecidability, time-complexity classes such as P and NP, and NP-completeness, including the Cook-Levin Theorem. But the book also provides a broader view of computer science and its historical development, with discussions of Turing's original 1936 computing machines, the connections between undecidability and Gödel's incompleteness theorem, and Karp's famous set of twenty-one NP-complete problems. Throughout, the book recasts traditional computer science concepts by considering how computer programs are used to solve real problems. Standard theorems are stated and proven with full mathematical rigor, but motivation and understanding are enhanced by considering concrete implementations. The book's examples and other content allow readers to view demonstrations of—and to experiment with—a wide selection of the topics it covers. The result is an ideal text for an introduction to the theory of computation. An accessible and rigorous introduction to the essential fundamentals of computer science theory, written specifically for undergraduates taking introduction to the theory of computation Features a practical, interactive approach using real computer programs (Python in the text, with forthcoming Java alternatives online) to enhance motivation and understanding Gives equal emphasis to computability and complexity Includes special topics that demonstrate the profound nature of key ideas in the theory of computation Lecture slides and Python programs are available at whatcanbecomputed.com
Digital Media Revisited
Author: Gunnar Liestol
Publisher: MIT Press
ISBN: 9780262621922
Category : Computers
Languages : en
Pages : 584
Book Description
Interdisciplinary essays on the relationship between practice and theory in new media. Arguing that "first encounters" have already applied traditional theoretical and conceptual frameworks to digital media, the contributors to this book call for "second encounters," or a revisiting. Digital media are not only objects of analysis but also instruments for the development of innovative perspectives on both media and culture. Drawing on insights from literary theory, semiotics, philosophy, aesthetics, ethics, media studies, sociology, and education, the contributors construct new positions from which to observe digital media in fresh and meaningful ways. Throughout they explore to what extent interpretation of and experimentation with digital media can inform theory. It also asks how our understanding of digital media can contribute to our understanding of social and cultural change. The book is organized in four sections: Education and Interdisciplinarity, Design and Aesthetics, Rhetoric and Interpretation, and Social Theory and Ethics. The topics include the effects on reading of the multimodal and multisensory aspects of the digital environment, the impact of practice on the medium of theory, how digital media are dissolving the boundaries between leisure and work, and the impact of cyberspace on established ethical principles.
Publisher: MIT Press
ISBN: 9780262621922
Category : Computers
Languages : en
Pages : 584
Book Description
Interdisciplinary essays on the relationship between practice and theory in new media. Arguing that "first encounters" have already applied traditional theoretical and conceptual frameworks to digital media, the contributors to this book call for "second encounters," or a revisiting. Digital media are not only objects of analysis but also instruments for the development of innovative perspectives on both media and culture. Drawing on insights from literary theory, semiotics, philosophy, aesthetics, ethics, media studies, sociology, and education, the contributors construct new positions from which to observe digital media in fresh and meaningful ways. Throughout they explore to what extent interpretation of and experimentation with digital media can inform theory. It also asks how our understanding of digital media can contribute to our understanding of social and cultural change. The book is organized in four sections: Education and Interdisciplinarity, Design and Aesthetics, Rhetoric and Interpretation, and Social Theory and Ethics. The topics include the effects on reading of the multimodal and multisensory aspects of the digital environment, the impact of practice on the medium of theory, how digital media are dissolving the boundaries between leisure and work, and the impact of cyberspace on established ethical principles.
Software Evolution and Feedback
Author: Nazim H. Madhavji
Publisher: John Wiley & Sons
ISBN: 0470871814
Category : Computers
Languages : en
Pages : 612
Book Description
Evolution of software has long been recognized as one of the most problematic and challenging areas in the field of software engineering, as evidenced by the high, often up to 60-80%, life-cycle costs attributed to this activity over the life of a software system. Studies of software evolution are central to the understanding and practice of software development. Yet it has received relatively little attention in the field of software engineering. This book focuses on topics aimed at giving a scientific insight into the aspect of software evolution and feedback. In summary, the book covers conceptual, phenomenological, empirical, technological and theoretical aspects of the field of software evolution - with contributions from the leading experts. This book delivers an up-to-date scientific understanding of what software evolution is, to show why it is inevitable for real world applications, and it demonstrates the role of feedback in software development and maintenance. The book also addresses some of the phenomenological and technological underpinnings and includes rules and guidelines for increased software evolvability and, in general, sustainability of the evolution process. Software Evolution and Feedback provides a long overdue, scientific focus on software evolution and the role of feedback in the software process, making this the indispensable guide for all software practitioners, researchers and managers in the software industry.
Publisher: John Wiley & Sons
ISBN: 0470871814
Category : Computers
Languages : en
Pages : 612
Book Description
Evolution of software has long been recognized as one of the most problematic and challenging areas in the field of software engineering, as evidenced by the high, often up to 60-80%, life-cycle costs attributed to this activity over the life of a software system. Studies of software evolution are central to the understanding and practice of software development. Yet it has received relatively little attention in the field of software engineering. This book focuses on topics aimed at giving a scientific insight into the aspect of software evolution and feedback. In summary, the book covers conceptual, phenomenological, empirical, technological and theoretical aspects of the field of software evolution - with contributions from the leading experts. This book delivers an up-to-date scientific understanding of what software evolution is, to show why it is inevitable for real world applications, and it demonstrates the role of feedback in software development and maintenance. The book also addresses some of the phenomenological and technological underpinnings and includes rules and guidelines for increased software evolvability and, in general, sustainability of the evolution process. Software Evolution and Feedback provides a long overdue, scientific focus on software evolution and the role of feedback in the software process, making this the indispensable guide for all software practitioners, researchers and managers in the software industry.