Effective Theories in Programming Practice


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


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


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


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


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


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


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.




Digital Media Revisited


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.




Evaluation Theory, Models, and Applications


Book Description

The golden standard evaluation reference text Now in its second edition, Evaluation Theory, Models, and Applications is the vital text on evaluation models, perfect for classroom use as a textbook, and as a professional evaluation reference. The book begins with an overview of the evaluation field and program evaluation standards, and proceeds to cover the most widely used evaluation approaches. With new evaluation designs and the inclusion of the latest literature from the field, this Second Edition is an essential update for professionals and students who want to stay current. Understanding and choosing evaluation approaches is critical to many professions, and Evaluation Theory, Models, and Applications, Second Edition is the benchmark evaluation guide. Authors Daniel L. Stufflebeam and Chris L. S. Coryn, widely considered experts in the evaluation field, introduce and describe 23 program evaluation approaches, including, new to this edition, transformative evaluation, participatory evaluation, consumer feedback, and meta-analysis. Evaluation Theory, Models, and Applications, Second Edition facilitates the process of planning, conducting, and assessing program evaluations. The highlighted evaluation approaches include: Experimental and quasi-experimental design evaluations Daniel L. Stufflebeam's CIPP Model Michael Scriven's Consumer-Oriented Evaluation Michael Patton's Utilization-Focused Evaluation Robert Stake's Responsive/Stakeholder-Centered Evaluation Case Study Evaluation Key readings listed at the end of each chapter direct readers to the most important references for each topic. Learning objectives, review questions, student exercises, and instructor support materials complete the collection of tools. Choosing from evaluation approaches can be an overwhelming process, but Evaluation Theory, Models, and Applications, Second Edition updates the core evaluation concepts with the latest research, making this complex field accessible in just one book.




Behavior Theory in Public Health Practice and Research


Book Description

Written by experienced behavioral scientists with substantial experience teaching public health students, Behavior Theory in Public Health Practice and Research, Second Edition offers a comprehensive study of health behavior theories that are the foundation of all health education and promotion programs. After presenting the rationale for behavioral science in public health practice, the text methodically describes each theory or set of related theories with ample examples and research that demonstrate how they are applied in public health practice.




Recent Books