Author: Robert J. Schalkoff
Publisher: Jones & Bartlett Learning
Release Date: 2011-08-24
Artificial Intelligence has changed significantly in recent years and many new resources and approaches are now available to explore and implement this important technology. Intelligent Systems: Principles, Paradigms, and Pragmatics takes a modern, 21st-century approach to the concepts of Artificial Intelligence and includes the latest developments, developmental tools, programming, and approaches related to AI. The author is careful to make the important distinction between theory and practice, and focuses on a broad core of technologies, providing students with an accessible and comprehensive introduction to key AI topics.
Author: Michael L. Scott
Release Date: 2015-11-30
Programming Language Pragmatics, Fourth Edition, is the most comprehensive programming language textbook available today. It is distinguished and acclaimed for its integrated treatment of language design and implementation, with an emphasis on the fundamental tradeoffs that continue to drive software development. The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming. This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures. Updated coverage of the latest developments in programming language design, including C & C++11, Java 8, C# 5, Scala, Go, Swift, Python 3, and HTML 5 Updated treatment of functional programming, with extensive coverage of OCaml New chapters devoted to type systems and composite types Unified and updated treatment of polymorphism in all its forms New examples featuring the ARM and x86 64-bit architectures
Author: Elvis C. Foster
Release Date: 2016-11-07
Learn the concepts, principles, design, implementation, and management issues of databases. You will adopt a methodical and pragmatic approach to solving database systems problems. Database Systems: A Pragmatic Approach provides a comprehensive, yet concise introduction to database systems, with special emphasis on the relational database model. This book discusses the database as an essential component of a software system, as well as a valuable, mission-critical corporate resource. New in this second edition is updated SQL content covering the latest release of the Oracle Database Management System along with a reorganized sequence of the topics which is more useful for learning. Also included are revised and additional illustrations, as well as a new chapter on using relational databases to anchor large, complex management support systems. There is also added reference content in the appendixes. This book is based on lecture notes that have been tested and proven over several years, with outstanding results. It combines a balance of theory with practice, to give you your best chance at success. Each chapter is organized systematically into brief sections, with itemization of the important points to be remembered. Additionally, the book includes a number of author Elvis Foster's original methodologies that add clarity and creativity to the database modeling and design experience. What You'll Learn Understand the relational model and the advantages it brings to software systems Design database schemas with integrity rules that ensure correctness of corporate data Query data using SQL in order to generate reports, charts, graphs, and other business results Understand what it means to be a database administrator, and why the profession is highly paid Build and manage web-accessible databases in support of applications delivered via a browser Become familiar with the common database brands, their similarities and differences Explore special topics such as tree-based data, hashing for fast access, distributed and object databases, and more Who This Book Is For Students who are studying database technology, who aspire to a career as a database administrator or designer, and practicing database administrators and developers desiring to strengthen their knowledge of database theory
Author: Richard R. Brooks
Publisher: CRC Press
Release Date: 2013-08-19
Guides Students in Understanding the Interactions between Computing/Networking Technologies and Security Issues Taking an interactive, "learn-by-doing" approach to teaching, Introduction to Computer and Network Security: Navigating Shades of Gray gives you a clear course to teach the technical issues related to security. Unlike most computer security books, which concentrate on software design and implementation, cryptographic tools, or networking issues, this text also explores how the interactions between hardware, software, and users affect system security. The book presents basic principles and concepts, along with examples of current threats to illustrate how the principles can either enable or neutralize exploits. Students see the importance of these concepts in existing and future technologies. In a challenging yet enjoyable way, they learn about a variety of technical topics, including current security exploits, technical factors that enable attacks, and economic and social factors that determine the security of future systems. Extensively classroom-tested, the material is structured around a set of challenging projects. Through staging exploits and choosing countermeasures to neutralize the attacks in the projects, students learn: How computer systems and networks operate How to reverse-engineer processes How to use systems in ways that were never foreseen (or supported) by the original developers Combining hands-on work with technical overviews, this text helps you integrate security analysis into your technical computing curriculum. It will educate your students on security issues, such as side-channel attacks, and deepen their understanding of how computers and networks work.
Author: M. Tim Jones
Publisher: Jones & Bartlett Learning
Release Date: 2015-06-16
This book offers students and AI programmers a new perspective on the study of artificial intelligence concepts. The essential topics and theory of AI are presented, but it also includes practical information on data input & reduction as well as data output (i.e., algorithm usage). Because traditional AI concepts such as pattern recognition, numerical optimization and data mining are now simply types of algorithms, a different approach is needed. This “sensor / algorithm / effecter” approach grounds the algorithms with an environment, helps students and AI practitioners to better understand them, and subsequently, how to apply them. The book has numerous up to date applications in game programming, intelligent agents, neural networks, artificial immune systems, and more. A CD-ROM with simulations, code, and figures accompanies the book.
Author: Maurizio Gabbrielli
Publisher: Springer Science & Business Media
Release Date: 2010-03-23
This excellent addition to the UTiCS series of undergraduate textbooks provides a detailed and up to date description of the main principles behind the design and implementation of modern programming languages. Rather than focusing on a specific language, the book identifies the most important principles shared by large classes of languages. To complete this general approach, detailed descriptions of the main programming paradigms, namely imperative, object-oriented, functional and logic are given, analysed in depth and compared. This provides the basis for a critical understanding of most of the programming languages. An historical viewpoint is also included, discussing the evolution of programming languages, and to provide a context for most of the constructs in use today. The book concludes with two chapters which introduce basic notions of syntax, semantics and computability, to provide a completely rounded picture of what constitutes a programming language. /div
Author: Ben Coppin
Publisher: Jones & Bartlett Learning
Release Date: 2004
Artificial Intelligence Illuminated presents an overview of the background and history of artificial intelligence, emphasizing its importance in today’s society and potential for the future. The book covers a range of AI techniques, algorithms, and methodologies, including game playing, intelligent agents, machine learning, genetic algorithms, and Artificial Life. Material is presented in a lively and accessible manner and the author focuses on explaining how AI techniques relate to and are derived from natural systems, such as the human brain and evolution, and explaining how the artificial equivalents are used in the real world. Each chapter includes student exercises and review questions, and a detailed glossary at the end of the book defines important terms and concepts highlighted throughout the text.
Author: Sang C. Suh
Publisher: Jones & Bartlett Publishers
Release Date: 2012
Various topics of data mining techniques are identified and described throughout, including clustering, association rules, rough set theory, probability theory, neural networks, classification, and fuzzy logic. Each of these techniques is explored with a theoretical introduction and its effectiveness is demonstrated with various chapter examples.
Author: Gerhard Nierhaus
Publisher: Springer Science & Business Media
Release Date: 2009-08-28
Algorithmic composition – composing by means of formalizable methods – has a century old tradition not only in occidental music history. This is the first book to provide a detailed overview of prominent procedures of algorithmic composition in a pragmatic way rather than by treating formalizable aspects in single works. In addition to an historic overview, each chapter presents a specific class of algorithm in a compositional context by providing a general introduction to its development and theoretical basis and describes different musical applications. Each chapter outlines the strengths, weaknesses and possible aesthetical implications resulting from the application of the treated approaches. Topics covered are: markov models, generative grammars, transition networks, chaos and self-similarity, genetic algorithms, cellular automata, neural networks and artificial intelligence are covered. The comprehensive bibliography makes this work ideal for the musician and the researcher alike.
For this third edition of -Distributed Systems, - the material has been thoroughly revised and extended, integrating principles and paradigms into nine chapters: 1. Introduction 2. Architectures 3. Processes 4. Communication 5. Naming 6. Coordination 7. Replication 8. Fault tolerance 9. Security A separation has been made between basic material and more specific subjects. The latter have been organized into boxed sections, which may be skipped on first reading. To assist in understanding the more algorithmic parts, example programs in Python have been included. The examples in the book leave out many details for readability, but the complete code is available through the book's Website, hosted at www.distributed-systems.net. A personalized digital copy of the book is available for free, as well as a printed version through Amazon.com.
Author: Frank van Harmelen
Release Date: 2008-01-08
Handbook of Knowledge Representation describes the essential foundations of Knowledge Representation, which lies at the core of Artificial Intelligence (AI). The book provides an up-to-date review of twenty-five key topics in knowledge representation, written by the leaders of each field. It includes a tutorial background and cutting-edge developments, as well as applications of Knowledge Representation in a variety of AI systems. This handbook is organized into three parts. Part I deals with general methods in Knowledge Representation and reasoning and covers such topics as classical logic in Knowledge Representation; satisfiability solvers; description logics; constraint programming; conceptual graphs; nonmonotonic reasoning; model-based problem solving; and Bayesian networks. Part II focuses on classes of knowledge and specialized representations, with chapters on temporal representation and reasoning; spatial and physical reasoning; reasoning about knowledge and belief; temporal action logics; and nonmonotonic causal logic. Part III discusses Knowledge Representation in applications such as question answering; the semantic web; automated planning; cognitive robotics; multi-agent systems; and knowledge engineering. This book is an essential resource for graduate students, researchers, and practitioners in knowledge representation and AI. * Make your computer smarter * Handle qualitative and uncertain information * Improve computational tractability to solve your problems easily
Author: Michel Raynal
Publisher: Springer Science & Business Media
Release Date: 2012-12-30
The advent of new architectures and computing platforms means that synchronization and concurrent computing are among the most important topics in computing science. Concurrent programs are made up of cooperating entities -- processors, processes, agents, peers, sensors -- and synchronization is the set of concepts, rules and mechanisms that allow them to coordinate their local computations in order to realize a common task. This book is devoted to the most difficult part of concurrent programming, namely synchronization concepts, techniques and principles when the cooperating entities are asynchronous, communicate through a shared memory, and may experience failures. Synchronization is no longer a set of tricks but, due to research results in recent decades, it relies today on sane scientific foundations as explained in this book. In this book the author explains synchronization and the implementation of concurrent objects, presenting in a uniform and comprehensive way the major theoretical and practical results of the past 30 years. Among the key features of the book are a new look at lock-based synchronization (mutual exclusion, semaphores, monitors, path expressions); an introduction to the atomicity consistency criterion and its properties and a specific chapter on transactional memory; an introduction to mutex-freedom and associated progress conditions such as obstruction-freedom and wait-freedom; a presentation of Lamport's hierarchy of safe, regular and atomic registers and associated wait-free constructions; a description of numerous wait-free constructions of concurrent objects (queues, stacks, weak counters, snapshot objects, renaming objects, etc.); a presentation of the computability power of concurrent objects including the notions of universal construction, consensus number and the associated Herlihy's hierarchy; and a survey of failure detector-based constructions of consensus objects. The book is suitable for advanced undergraduate students and graduate students in computer science or computer engineering, graduate students in mathematics interested in the foundations of process synchronization, and practitioners and engineers who need to produce correct concurrent software. The reader should have a basic knowledge of algorithms and operating systems.
Author: Paul Watzlawick
Publisher: W. W. Norton & Company
Release Date: 2011-04-25
For the first time, a new generation of readers will have the opportunity to experience the ideas set forth in Pragmatics of Human Communication, a book that formed the foundation of much research into interpersonal communication in the latter portion of the 20th century. A new preface by Bill O'Hanlon puts Watzlawick's work in context for readers in this new paperback edition. Topics covered in this wide-ranging book include: the origins of communication; the idea that all behavior is communication; meta-communcation; the properties of an open system; the family as a system of communication; the nature of paradox in psychotherapy; existentialism and human communication. After defining certain general concepts, the authors present basic characteristics of human communication and illustrate their manifestations and potential pathologies. Then the systemic aspects of human interactions that arise from the patterning of specific characteristics of communication are exemplified by the analysis of Albee's Who's Afraid of Virginia Woolf?
The Art of Agile Development contains practical guidance for anyone considering or applying agile development for building valuable software. Plenty of books describe what agile development is or why it helps software projects succeed, but very few combine information for developers, managers, testers, and customers into a single package that they can apply directly. This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers. The Art of Agile Development gives you clear answers to questions such as: How can we adopt agile development? Do we really need to pair program? What metrics should we report? What if I can't get my customer to participate? How much documentation should we write? When do we design and architect? As a non-developer, how should I work with my agile team? Where is my product roadmap? How does QA fit in? The book teaches you how to adopt XP practices, describes each practice in detail, then discusses principles that will allow you to modify XP and create your own agile method. In particular, this book tackles the difficult aspects of agile development: the need for cooperation and trust among team members. Whether you're currently part of an agile team, working with an agile team, or interested in agile development, this book provides the practical tips you need to start practicing agile development. As your experience grows, the book will grow with you, providing exercises and information that will teach you first to understand the rules of agile development, break them, and ultimately abandon rules altogether as you master the art of agile development. "Jim Shore and Shane Warden expertly explain the practices and benefits of Extreme Programming. They offer advice from their real-world experiences in leading teams. They answer questions about the practices and show contraindications - ways that a practice may be mis-applied. They offer alternatives you can try if there are impediments to applying a practice, such as the lack of an on-site customer. --Ken Pugh, Author of Jolt Award Winner, Prefactoring "I will leave a copy of this book with every team I visit." --Brian Marick, Exampler Consulting