Books: 74

Computer Science

Invent Your Own Computer Games with Python will show you how to make classic computer games in Python, even if you've never programmed before. Each chapter introduces a new game as well as step-by-step explanations of how the code works. As you build games like Reversi, Hangman, Tic-Tac-Toe, Dragon more » Realm, Guess the Number, Jokes, Dodger, Bagels, and Sonar, you'll learn how programmers turn their game ideas into reality. You'll also find chapters on game refinements like collision detection and input, Cartesian coordinates, artificial intelligence simulation, sounds and images, debuggers, and cryptography, to help you take your game programming to the next level. Learn how to: * Combine loops, variables, input/output, and flow control statements into real working programs * Choose the right data structures such as lists, dictionaries, and tuples * Debug your programs and find common errors * Program simple artificial intelligence to create smarter adversaries * Use graphics and animation with Pygame * Convert plain text into secret code using cryptography * Translate a location on screen into integers your program can identify with Cartesian coordinates Once you've worked your way through the fun and games, you'll have a solid foundation in Python, an understanding of computer science fundamentals, and the confidence to advance your new game programming skills. What new game will you create with the power of Python? The projects in this book are compatible with Python 3. « less
A fresh, contemporary, active introduction to information systems Introduction to Information Systems provides invaluable help for learning the knowledge and skills related to information systems. In it, students see clearly what information systems are all about and why they are so fundamental to more » business and society. MyMISLab for Introduction to Information Systems creates learning experiences that are truly personalized and continuously adaptive. MyMISLab reacts to how students are actually performing, offering data-driven guidance that helps them better absorb course material and understand difficult concepts—resulting in better performance in the course Packed with revelations about business strategies, technology trends and innovations–plus tips to help students work smarter, and more efficiently—Introduction to Information Systems provides a better teaching and learning experience—for you and your students. Here’s how: * Personalize learning through the interactive, online role-playing simulations in MyMISLabTM: Students get opportunities to apply their knowledge and actually experience what each chapter is about, rather than simply memorizing key terms and concepts. * A focus on reaching all students,recognizing changing student roles, and showing clearly where the knowledge of information systems skills can take them. * Helping students see beyond today’s classroomsand into today’s varied world. * End-of-book comprehensive case studies show students the concepts in action. « less
An Information Security Perspective
This engaging and accessible text addresses the fundamental question: What Is Computer Science? The book showcases a set of representative concepts broadly connected by the theme of information security, for which the presentation of each topic can be treated as a "mini" lecture course, demonstrating more » how it allows us to solve real problems, as well as how it relates to other subjects. The discussions are further supported by numerous examples and practical hands-on exercises. Features: presents a concise introduction to the study of algorithms and describes how computers work; introduces the concepts of data compression, and error detection and correction; highlights the role of data structures; explores the topic of web-search; reviews both historic and modern cryptographic schemes, examines how a physical system can leak information and discusses the idea of randomness; investigates the science of steganography; provides additional supplementary material at an associated website. « less
This comprehensive textbook introduces readers to the principal ideas and applications of game theory, in a style that combines rigor with accessibility. Steven Tadelis begins with a concise description of rational decision making, and goes on to discuss strategic and extensive form games with complete more » information, Bayesian games, and extensive form games with imperfect information. He covers a host of topics, including multistage and repeated games, bargaining theory, auctions, rent-seeking games, mechanism design, signaling games, reputation building, and information transmission games. Unlike other books on game theory, this one begins with the idea of rationality and explores its implications for multiperson decision problems through concepts like dominated strategies and rationalizability. Only then does it present the subject of Nash equilibrium and its derivatives. Game Theory is the ideal textbook for advanced undergraduate and beginning graduate students. Throughout, concepts and methods are explained using real-world examples backed by precise analytic material. The book features many important applications to economics and political science, as well as numerous exercises that focus on how to formalize informal situations and then analyze them. * Introduces the core ideas and applications of game theory * Covers static and dynamic games, with complete and incomplete information * Features a variety of examples, applications, and exercises * Topics include repeated games, bargaining, auctions, signaling, reputation, and information transmission * Ideal for advanced undergraduate and beginning graduate students * Complete solutions available to teachers and selected solutions available to students « less
Human Factors and Common Sense in Information Design
"The book itself is a diagram of clarification, containing hundreds of examples of work by those who favor the communication of information over style and academic postulation and those who don't. Many blurbs such as this are written without a thorough reading of the book. Not so in this case. I read more » it and love it. I suggest you do the same." Richard Saul Wurman "This handsome, clearly organized book is itself a prime example of the effective presentation of complex visual information." eg magazine "It is a dream book, we were waiting for on the field of information. On top of the incredible amount of presented knowledge this is also a beautifully designed piece, very easy to follow " Krzysztof Lenk, author of Mapping Websites: Digital Media Design "Making complicated information understandable is becoming the crucial task facing designers in the 21st century. With Designing Information, Joel Katz has created what will surely be an indispensable textbook on the subject." Michael Bierut "Having had the pleasure of a sneak preview, I can only say that this is a magnificent achievement: a combination of intelligent text, fascinating insights and - oh yes - graphics. Congratulations to Joel." Judith Harris, author of Pompeii Awakened: A Story of Rediscovery Designing Information shows designers in all fields - from user-interface design to architecture and engineering - how to design complex data and information for meaning, relevance, and clarity. Written by a worldwide authority on the visualization of complex information, this full-color, heavily illustrated guide provides real-life problems and examples as well as hypothetical and historical examples, demonstrating the conceptual and pragmatic aspects of human factors-driven information design. Both successful and failed design examples are included to help readers understand the principles under discussion. « less
Learn the skills and acquire the intuition to assess the theoretical limitations of computer programming Offering an accessible approach to the topic, Theory of Computation focuses on the metatheory of computing and the theoretical boundaries between what various computational models can do and not more » do—from the most general model, the URM (Unbounded Register Machines), to the finite automaton. A wealth of programming-like examples and easy-to-follow explanations build the general theory gradually, which guides readers through the modeling and mathematical analysis of computational phenomena and provides insights on what makes things tick and also what restrains the ability of computational processes. Recognizing the importance of acquired practical experience, the book begins with the metatheory of general purpose computer programs, using URMs as a straightforward, technology-independent model of modern high-level programming languages while also exploring the restrictions of the URM language. Once readers gain an understanding of computability theory—including the primitive recursive functions—the author presents automata and languages, covering the regular and context-free languages as well as the machines that recognize these languages. Several advanced topics such as reducibilities, the recursion theorem, complexity theory, and Cook's theorem are also discussed. « less
This is a book that every competitive programmer must read – and master, at least during the middle phase of their programming career: when they want to leap forward from ‘just knowing some programming language commands’ and ‘some algorithms’ to become a top programmer. Typical readers of this book more » will be: 1). Thousands University students competing in annual ACM International Collegiate Programming Contest (ICPC) [27] regional contests 2). Hundreds Secondary or High School Students competing in annual International Olympiad in Informatics (IOI) [12] 3). Their coaches who are looking for a comprehensive training materials [9], and 4). Basically anyone who loves problem solving using computer. Beware that this book is not for a novice programmer. When we wrote the book, we set it for readers who have knowledge in basic programming methodology, familiar with at least one programming language (C/C++/Java), and have passed basic data structures and algorithms (or equivalent) typically taught in year one of Computer Science University curriculum. Due to the diversity of its content, this book is not meant to be read once, but several times. There are many exercises and programming problems scattered throughout the body text of this book which can be skipped at first if solution is not known at that point of time, but can be revisited in latter time after the reader has accumulated new knowledge to solve it. Solving these exercises help strengthening the concepts taught in this book as they usually contain interesting twists or variants of the topic being discussed, so make sure to attempt them. « less
How many ways do exist to mix different ingredients, how many chances to win a gambling game, how many possible paths going from one place to another in a network? To this kind of questions Mathematics applied to computer gives a stimulating and exhaustive answer. This text, presented in three parts more » (Combinatorics, Probability, Graphs) addresses all those who wish to acquire basic or advanced knowledge in combinatorial theories. Basic and advanced theoretical elements are presented through simple applications like the Sudoku game, search engine algorithm and other easy to grasp applications. Through the progression from simple to complex, the teacher acquires knowledge of the state of the art of combinatorial theory. The non conventional simultaneous presentation of algorithms, programs and theory permits a powerful mixture of theory and practice. « less
Planning algorithms are impacting technical disciplines and industries around the world, including robotics, computer-aided design, manufacturing, computer graphics, aerospace applications, drug design, and protein folding. Written for computer scientists and engineers with interests in artificial intelligence, more » robotics, or control theory, this is the only book on this topic that tightly integrates a vast body of literature from several fields into a coherent source for teaching and reference in a wide variety of applications. Difficult mathematical material is explained through hundreds of examples and illustrations. « less
Although there are many advanced and specialized texts and handbooks on algorithms, until now there was no book that focused exclusively on the wide variety of data structures that have been reported in the literature. The Handbook of Data Structures and Applications responds to the needs of students, more » professionals, and researchers who need a mainstream reference on data structures by providing a comprehensive survey of data structures of various types. Divided into seven parts, the text begins with a review of introductory material, followed by a discussion of well-known classes of data structures, Priority Queues, Dictionary Structures, and Multidimensional structures. The editors next analyze miscellaneous data structures, which are well-known structures that elude easy classification. The book then addresses mechanisms and tools that were developed to facilitate the use of data structures in real programs. It concludes with an examination of the applications of data structures. The Handbook is invaluable in suggesting new ideas for research in data structures, and for revealing application contexts in which they can be deployed. Practitioners devising algorithms will gain insight into organizing data, allowing them to solve algorithmic problems more efficiently. « less