Computer Science

Page 1

Teach with the books you trust.™

Request your complimentary inspection copy today! CRC Press Textbooks

Computer Science Textbooks

WWW.CRCTEXTBOOKS.COM

CRC Press Taylor & Francis Group


CONTENTS Algorithms & Computation ....................................3 Mathematics for Computer Science........................7 Computational Biology ..........................................9 Computer Graphics ..............................................10 Page 7 Page 6

Cryptography & Security ......................................14 Machine Learning & Data Mining ........................15 Programming........................................................18 Software Engineering ............................................22 Operating Systems................................................23 Game Development & Design..............................24

Page 10 Page 18

Page 31 Page 21

For more information and complete tables of contents or to request your complimentary inspection copy visit

www.crctextbooks.com CRC Press Textbooks

1-800-634-7064 • 1-859-727-5000 +44 (0) 1235 400 524 orders@crcpress.com

Teach with the books you trust.™ GTN05 TMC


Algorithms & Computation New!

New!

Making Music with Computers

Explorations in Computing

Creative Programming in Python

An Introduction to Computer Science and Python Programming

Bill Manaris College of Charleston, South Carolina, USA

Andrew R. Brown Griffith University, Brisbane, Australia

Series: Chapman & Hall/CRC Textbooks in Computing

Requiring minimal musical or programming experience, this text introduces important concepts and skills necessary to generate music with computers. It interweaves computing pedagogy with musical concepts and creative activities, helping students learn computer programming in a creative context and understand how to build computer music applications. Also suitable for self-study, the book shows musicians and digital music enthusiasts how to write music software and create algorithmic music compositions. The book also offers a music library and a collection of motivating code samples and software libraries at jythonMusic.org.

John S. Conery University of Oregon, Eugene, USA

Series: Chapman & Hall/CRC Textbooks in Computing

This text helps beginners develop their own Python programs. Experiments with fully completed programs are provided at the beginning of each chapter, allowing instructors to use the text in CS0 courses where students do not learn programming. Programming projects appear later in each chapter. Students are encouraged either to write the code that implements the functions introduced earlier or extend the existing programs. All the projects push students to explore further on their own. Catalog no. K16600, September 2014, 434 pp. ISBN: 978-1-4665-7244-7, $79.95 / £49.99

Catalog no. K13083, May 2014, 502 pp., Soft Cover ISBN: 978-1-4398-6791-4, $59.95 / £31.99 Also available as an eBook

Computational Thinking for the Modern Problem Solver David D. Riley and Kenny A. Hunt University of Wisconsin, La Crosse, USA

New!

Distributed Systems An Algorithmic Approach, Second Edition Sukumar Ghosh University of Iowa, Iowa City, USA

Series: Chapman & Hall/CRC Textbooks in Computing

Chapman & Hall/CRC Computer and Information Science Series

Accessible to non-computer science majors, this classroom-tested book introduces computational thinking as part of an introductory computing course and shows how computer science concepts are applicable to other fields. With numerous color figures, the text focuses on both foundational computer science concepts and engineering topics. It covers abstraction, algorithms, logic, graph theory, social issues of software, and numeric modeling as well as execution control, problem-solving strategies, testing, and data encoding and organizing.

This pivotal book provides a highly accessible, balanced treatment of the underlying theory and practical applications of distributed computing. As in the previous version, the language of the Second Edition is kept as unobscured as possible—clarity is given priority over mathematical formalism. Containing significant updates that mirror the phenomenal growth of distributed systems, this easily digestible text includes fresh exercises, examples, and case studies and explores new topics related to peer-to-peer and social networks. A solutions manual is available with qualifying course adoption.

Catalog no. K20357, March 2014, 405 pp. ISBN: 978-1-4665-8777-9, $79.95 / £49.99

Catalog no. K15248, July 2014, 554 pp. ISBN: 978-1-4665-5297-5, $119.95 / £76.99

Also available as an eBook

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

3


Algorithms & Computation The Tao of Computing Second Edition Henry M. Walker Grinnell College, Iowa, USA

Series: Chapman & Hall/CRC Textbooks in Computing

Describing both the practical details of interest to students and the high-level concepts and abstractions highlighted by faculty, The Tao of Computing, Second Edition presents a comprehensive introduction to computers and computer technology. This edition updates its popular predecessor with new research exercises and expanded discussion questions. It uses a question-and-answer format to provide thoughtful answers to the many practical questions that students have about computing. Among the questions answered, the book explains what capabilities computers have in helping people solve problems and what limitations need to be considered. It also examines why machines act the way they do and what is involved in getting computers to interact with networks. The book offers a down-to-earth overview of fundamental computer fluency topics, from the basics of how a computer is organized and an overview of operating systems to a description of how the Internet works. The second edition describes new technological advances including social media applications and RSS feeds.

A Guide to Algorithm Design Paradigms, Methods, and Complexity Analysis Anne Benoit, Yves Robert, and Frédéric Vivien Ecole Normale Supérieure de Lyon, France

Series: Chapman & Hall/CRC Applied Algorithms and Data Structures series

“Graduate students and instructors alike will find this book an invaluable resource. The subject matter is presented following a logical progression that makes students understand not only the principles behind algorithm design and analysis, but also the raison d’etre and the practical relevance of these principles.” —Henri Casanova, Department of Information and Computer Sciences, University of Hawaii at Manoa

A Guide to Algorithm Design provides a roadmap for students to determine the difficulty of an algorithmic problem by finding an optimal solution or proving complexity results. It supplies practical treatment of algorithmic complexity and guides students in solving algorithmic problems. The book offers a comprehensive set of problems with solutions as well as indepth case studies that demonstrate how to assess the complexity of a new problem.

• Provides a comprehensive, practical introduction to the key computer fluency topics that every student should know

• Includes an extensive set of exercises with solutions that cover optimal algorithms, polynomial reductions, and techniques that go beyond NP-completeness

• Covers up-to-date and timely topics, including examples from popular culture

• Promotes an algorithmic approach to NP-completeness

• Uses a question and answer format throughout

• Provides case studies that illustrate how to assess the complexity of a problem

• Includes new research exercises, as well as expanded discussion questions and exercises

Selected Contents: Underlying Building-Block Questions. Software/Problem-Solving Questions. Networking/Distributed System Questions. Web/Internet Questions. Social and Ethical Questions. Catalog no. K14146, July 2012, 555 pp., Soft Cover ISBN: 978-1-4398-9251-0, $83.95 / £46.99 Also available as an eBook

Figure slides available upon qualified course adoption

Selected Contents: Polynomial-Time Algorithms: Exercises: Introduction to Complexity. Divide-and-Conquer. Greedy Algorithms. Dynamic Programming. Amortized Analysis. NP-Completeness and Beyond: NPCompleteness. Exercises on NP-Completeness. Beyond NP-Completeness. Exercises Going beyond NP-Completeness. Reasoning on Problem Complexity: Reasoning to Assess a Problem Complexity. Chains-on-Chains Partitioning. Replica Placement in Tree Networks. Packet Routing. Matrix Product, or Tiling the Unit Square. Online Scheduling. Catalog no. K11226, August 2013, 380 pp. ISBN: 978-1-4398-2564-8, $79.95 / £49.99 Also available as an eBook

4

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Algorithms & Computation Formal Languages and Computation Models and Their Applications Alexander Meduna Brno University of Technology, Czech Republic

Formal Languages and Computation: Models and Their Applications gives a clear, comprehensive introduction to formal language theory and its applications in computer science. It is meant as the basis of a oneterm course on this subject at the undergraduate level. It covers all rudimental topics concerning formal languages and their models, especially grammars and automata. The text sketches the basic ideas underlying the theory of computation, including computability, decidability, and computational complexity. From a practical viewpoint, it explains how these models underlie computer science engineering techniques for language processing, such as lexical and syntax analysis. • Covers formal language theory and its applications in computer science • Pays a special attention to various language processors and their supporting languagedefining models • Presents theoretical results informally, then sketches their proofs intuitively, step by step, gently leading students to formal versions of these proofs • Sketches the basic ideas underlying the theory of computation, including computability, decidability, and computational complexity

Explorations in Computing An Introduction to Computer Science John S. Conery University of Oregon, Eugene, USA

Series: Chapman & Hall/CRC Textbooks in Computing

This text offers insight into how computation is used to solve a variety of interesting and important real-world problems. Taking an active learning approach that uses hands-on projects to teach computer science concepts and applications, the text encourages students to explore computing ideas by running programs and testing them on different inputs. It requires no prior experience with programming and includes a set of exercises at the end of each chapter, with selected solutions in an appendix. A lab manual for Ruby and RubyLabs and links to the latest versions of the software are available on the book’s website. Catalog no. K10640, October 2010, 390 pp. ISBN: 978-1-4398-1262-4, $83.95 / £55.99 Also available as an eBook

A Concise Introduction to Data Structures using Java Mark J. Johnson Central College, Pella, Iowa, USA

• Contains self-contained explanations without assumption of any previous knowledge

Series: Chapman & Hall/CRC Textbooks in Computing

• Emphasizes real-world applications, demonstrating how theory and practice work together

Designed for a CS2 data structures course, this text provides a thorough but concise overview of data structures as well as a gradual introduction to Java. It uses a concise style and includes pseudocode and exercises throughout so that students learn how to write code, rather than just read it. The book covers all of the main areas taught in CS2 courses, including arrays, lists, stacks, queues, recursion, maps, and trees. It also offers source code for the examples on the author’s website.

Selected Contents: Introduction: Mathematical Background. Formal Languages and Rewriting Systems. Regular Languages and Their Models: Models for Regular Languages and their Applications in Lexical Analysis. Properties of Regular Languages. Context-Free Languages and Their Models: Models for ContextFree Languages and their Applications in Syntax Analysis. Properties of Context-Free Languages. Turing Machines and Computation: Turing Machines and Their Variants. Applications of Turing Machines: Theory of Computation. Turing Machines and General Grammars. Catalog no. K14956, February 2014, 315 pp. ISBN: 978-1-4665-1345-7, $99.95 / £63.99

Solutions manual and figure slides available upon qualified course adoption

Catalog no. K20431, November 2013, 236 pp. Soft Cover ISBN: 978-1-4665-8989-6, $59.95 / £38.99 Also available as an eBook

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

5


Algorithms & Computation Information Technology

Computers and Society

An Introduction for Today’s Digital World

Computing for Good

Richard Fox Northern Kentucky University, Highland Heights, USA

Information Technology: An Introduction for Today’s Digital World introduces undergraduate students to a wide variety of concepts they will encounter throughout their IT studies and careers. The book covers computer organization and hardware, Windows and Linux operating systems, system administration duties, scripting, computer networks, regular expressions, binary numbers, the Bash shell in Linux, DOS, managing processes and services, and computer security. It also gives students insight on IT-related careers, such as network and web administration, computer forensics, web development, and software engineering. Suitable for introductory IT courses, this classroomtested text presents many of the topics recommended by the ACM Special Interest Group on IT Education (SIGITE). It offers a far more detailed examination of the computer than current computer literacy texts, focusing on concepts essential to all IT professionals. • Covers many introductory computer IT concepts in detail, including topics recommended by SIGITE • Gives students a firm foundation on computer components • Provides an introduction to Linux • Describes the types of skills required of IT professionals

Lisa C. Kaczmarczyk Evaluation and Assessment Consultant, San Diego, California, USA

Series: Chapman & Hall/CRC Textbooks in Computing

“Computers and Society: Computing for Good contains in-depth case studies with extensive, thought-provoking end-of-chapter questions and is appropriate for a wide variety of undergraduate and graduate majors ... a ‘musthave’ book for all college or university libraries.” —Carol L. Spradling, PhD, Associate Professor, Northwest Missouri State University

This text uses concrete examples and case studies to highlight the positive work of real computing professionals and organizations from around the world. Each chapter profiles a corporation, nonprofit organization, or entrepreneur involved in computing-centric activities that clearly benefit society or the environment, including cultural adaptation in a developing country, cutting-edge medicine and healthcare, educational innovation, endangered species work, and help for overseas voters. Ancillaries for students and instructors are available on a supplementary web page. • Explores how computing is used in society through real-world examples and case studies • Provides examples of professional opportunities where students can use their education to make the world a better place

• Includes further reading suggestions and questions in each chapter

• Discusses socially relevant "hot" topics, such as Internet voting, poverty alleviation, social computing, and technology in healthcare

• Offers animations and other material on the author’s website

• Includes exercises and projects at the end of each chapter

Instructor’s manual, test bank, lab exercises, figures, and presentation slides available upon qualified course adoption

• Offers ancillaries on a supplementary web page

Selected Contents:

Selected Contents:

Introduction to IT. Computer Organization and Hardware. Binary Numbering System. Introduction to Operating System Concepts. Files, Directories, and the File System. Users, Groups and Permissions. History of Computers. Operating Systems History. Bash Shell and Editing. Regular Expressions. Processes and Services. Networks, Network Software, and the Internet. Software. Programming. Information. Careers in IT. Appendices.

Poverty Alleviation in the Remote Peruvian Andes. Improving Patient Care with Digital Image Management. Internet Voting for Overseas Citizens. Social Networking and Computer Modeling Aid Sea Turtles. Best Practice Recommendations in Children’s Medical Care. Protecting Lives Using the Results of Earthquake Modeling. When Following Your Passion Means Forming Your Own Business.

Catalog no. K16379, February 2013, 564 pp. Soft Cover ISBN: 978-1-4665-6828-0, $79.95 / £49.99 Also available as an eBook

6

Check out the author’s blog

Catalog no. K10542, December 2011, 305 pp. Soft Cover ISBN: 978-1-4398-1088-0, $73.95 / £48.99 Also available as an eBook

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Mathematics for Computer Science Discrete Mathematics with Ducks

Third Edition of a Bestseller!

sarah-marie belcastro

Practical Linear Algebra

Research Associate, Smith College, Northampton, Massachusetts, USA

A Geometry Toolbox, Third Edition

“When I used Discrete Mathematics with Ducks in class, I assigned readings, and my students came to class full of questions and ideas. ... I give a lot of credit to this book, thanks to the author's skill at blending rigor, great examples, casual humor, and precise writing.” —David Perkins, author of Calculus and Its Origins

“... an incredible book ...readable by students, useful for instructors, and constructed with style and flair. This book will make it much easier to teach an exciting, student-centered discrete mathematics course that will also serve as an excellent introduction to advanced critical thinking, problem solving, and proofs.” —Douglas Shaw, Professor of Mathematics, University of Northern Iowa

Suitable for an introductory discrete mathematics course, this text covers the subfields of mathematics and computer science that fall under the general umbrella term. It fits the ideas of the basic curriculum as outlined in the SIGCSE guidelines into a framework that focuses on content rather than technique. The book covers standard and practical topics required in discrete math classes. The author also incorporates classroom activities as well as instructor’s notes at the end of every chapter. • Balances mathematics and computer science • Follows basic curriculum outlined by SIGCSE guidelines • Includes classroom activities and notes for instructors

Gerald Farin Arizona State University, Tempe, USA

Dianne Hansford FarinHansford R&D, Paradise Valley, Arizona, USA

Praise for Its Bestselling Predecessor: "I picked up this book with the thought, ‘oh, another linear algebra text.’ I was pleasantly surprised, upon examination, that it is not just another one. The standard linear algebra material is presented with good motivating stories, illustrations, and examples." —CMS Notes, February 2006

Through many examples and real-world applications, this text teaches undergraduate-level linear algebra in a comprehensive, geometric, and algorithmic way. It provides a solid foundation for further work in math, engineering, science, computer graphics, and geometric modeling. Along with more exercises and applications, this third edition covers singular value decomposition and its application to the pseudoinverse, principal components analysis, and image compression. It also gives more attention to eigen-analysis, including eigenfunctions and the Google matrix, and emphasizes orthogonal projections and matrix decompositions. • Presents 120 numerical examples and more than 280 illustrations • Includes a summary of main points and exercises in each chapter, with selected solutions in the appendix

Solutions manual available upon qualified course adoption.

• Offers Mathematica code, lecture slides, and other material on the authors' website

Selected Contents:

Selected Contents:

Basics: Basic Counting. Set Theory and Logic. Graphs. Induction. Algorithms and Ciphers. Combinatorics: Binomial Coefficients and Permutations. Balls and Boxes and PIE. Recurrence. Counting and Geometry. Graph Theory: Trees. Euler's Formula. Traversals. Coloring. Supplemental/Optional Material: Probability. Cardinality.

Descartes’ Discovery. Here and There: Points and Vectors in 2D. Lining Up: 2D Lines. Changing Shapes: Linear Maps in 2D. 2 x 2 Linear Systems. Moving Things Around: Affine Maps in 2D. Eigen Things. 3D Geometry. Linear Maps in 3D. Affine Maps in 3D. Interactions in 3D. Gauss for Linear Systems. Alternative System Solvers. General Linear Spaces. Eigen Things Revisited. The Singular Value Decomposition. Breaking It Up: Triangles. Putting Lines Together: Polylines and Polygons. Conics. Curves. Appendices.

Catalog no. K14547, June 2012, 580 pp. ISBN: 978-1-4665-0499-8, $62.95 / £41.99 Also available as an eBook

Catalog no. K16852, August 2013, 514 pp. ISBN: 978-1-4665-7956-9, $89.95 / £57.99 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

7


Mathematics for Computer Science Discrete Structures and Their Interactions Jason I. Brown Dalhousie University, Halifax, Nova Scotia, Canada

Series: Discrete Mathematics and Its Applications

"The book is a collection of examples, each of which shows either how discrete structures interact with each other or how discrete structures interact with other parts of mathematics. … I am certain I will use some examples I found in this book when I teach combinatorics in the upcoming semester." —Miklós Bóna, MAA Reviews, December 2013

With exercises and research problems, this text highlights the connections among various discrete structures, including graphs, directed graphs, hypergraphs, partial orders, finite topologies, and simplicial complexes. It also explores their relationships to classical areas of mathematics, such as linear and multilinear algebra, analysis, probability, logic, and topology. The author explains how discrete structures have important applications in many areas inside and outside of combinatorics. He also discusses how to recognize valuable research connections through the structures. • Covers discrete structures from a variety of viewpoints, including combinatorial, algebraic, probabilistic, analytic, and logical • Develops deep connections between different fields of mathematics, encouraging students to think creatively and analytically • Supplies a more general introduction to discrete structures than other texts • Includes extensive end-of-chapter exercises, with selected solutions at the back of the book • Offers suggestions for research projects Solutions manual available upon qualified course adoption

Selected Contents: Introduction. Discrete Structures—A Common Framework. Graphs and Directed Graphs. Preorders and Partial Orders. Hypergraphs. Complexes and Multicomplexes. Research Problems. Bibliography. Selected Solutions. Appendices. Index. Catalog no. K16844, June 2013, 224 pp. ISBN: 978-1-4665-7941-5, $79.95 / £49.99 Also available as an eBook

Linear Algebra and Probability for Computer Science Applications Ernest Davis Courant Institute of Mathematical Sciences, New York University, New York, USA

Assuming as little mathematical background as possible, this classroom-tested text focuses on mathematical techniques that are most relevant to computer scientists. It covers applications from computer graphics, web search, machine learning, cryptography, and a host of other computer science areas. After an introductory chapter on MATLAB®, the text is divided into two sections, with the first focusing on linear algebra and the second discussing probability. MATLAB functions, MATLAB programming assignments, and problems are included in each chapter. MATLAB code is also available on the author’s website. Catalog no. K14397, May 2012, 431 pp. ISBN: 978-1-4665-0155-3, $62.95 / £41.99 Also available as an eBook

Discrete Structures with Contemporary Applications Alexander Stanoyevitch California State University–Dominguez Hills, Carson, USA

Reflecting many of the recent advances and trends in this area, this classroomtested text covers the core topics in discrete structures as outlined by the ACM and explores an assortment of novel applications, including simulations, genetic algorithms, network flows, probabilistic primality tests, public key cryptography, and coding theory. It presents algorithms in pseudo code and offers sample programs via the author’s website. The text also includes a wide variety of examples and exercises, with solutions in the appendices. In addition, computer exercises teach students how to write their own programs. Solutions manual available upon qualified course adoption

Catalog no. K10918, January 2011, 1002 pp. ISBN: 978-1-4398-1768-1, $104.95 / £46.99 Also available as an eBook

8

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Computational Biology Statistics and Data Analysis for Microarrays Using R and Bioconductor

Algorithms in Bioinformatics A Practical Introduction Wing-Kin Sung

Second Edition

National University of Singapore

Sorin Drăghici

Series: Chapman & Hall/CRC Mathematical and Computational Biology

Wayne State University, Detroit, Michigan, USA

Series: Chapman & Hall/CRC Mathematical and Computational Biology

Praise for the Bestselling First Edition: “The book by Draghici is an excellent choice to be used as a textbook for a graduate-level bioinformatics course. This well-written book with accompanying CD-ROM will create much-needed enthusiasm among statisticians.” —Journal of Statistical Computation and Simulation, Vol. 74

Completely updated and double the size of its predecessor, this bestselling text provides a clear and rigorous description of powerful analysis techniques and algorithms for mining and interpreting biological information. Omitting tedious details, heavy formalisms, and cryptic notations, the text takes a handson, example-based approach that explains the basics of R and microarray technology as well as how to choose and apply the proper data analysis tool to specific problems. Now using R and Bioconductor, this edition has been expanded with 14 new chapters and 600 more pages. • Provides the option of learning R in parallel with learning about data analysis • Covers background material for those with a limited mathematical, genetic, or molecular biology foundation • Includes R code on the accompanying CD-ROM

Selected Contents:

This classroom-tested text provides an in-depth introduction to the algorithmic techniques applied in bioinformatics. For each topic, the author clearly details the biological motivation, precisely defines the corresponding computational problems, and includes detailed examples to illustrate each algorithm. The text covers basic molecular biology concepts, sequence similarity, the suffix tree, sequence databases, sequence and genome alignment, the phylogenetic tree, genome rearrangement, motif finding, the secondary structure of RNA, peptide sequencing, and population genetics. PowerPoint slides and other supplementary materials are provided on the author’s website. Solutions manual available upon qualified course adoption

Catalog no. C7033, November 2009, 407 pp. Pack - Book and Ebook ISBN: 978-1-4200-7033-0, $91.95 / £43.99 Also available as an eBook

Systems Biology Mathematical Modeling and Model Analysis Andreas Kremling Technical University Munich, Germany

Series: Chapman & Hall/CRC Mathematical and Computational Biology

The Cell and Its Basic Mechanisms. Microarrays. Reliability and Reproducibility Issues in DNA Microarray Measurements. Image Processing. Introduction to R. Bioconductor: Principles and Illustrations. Elements of Statistics. Probability Distributions. Basic Statistics in R. Statistical Hypothesis Testing. Classical Approaches to Data Analysis. Analysis of Variance. Linear Models in R. Experiment Design. Multiple Comparisons. Analysis and Visualization Tools. Cluster Analysis. Quality Control. Data Pre-Processing and Normalization. Methods for Selecting Differentially Regulated Genes. The Gene Ontology (GO). Functional Analysis and Biological Interpretation of Microarray Data. ...

Drawing on the latest research in the field, this text presents many methods for modeling and analyzing biological systems, in particular cellular systems. It shows how to use predictive mathematical models to acquire and analyze knowledge about cellular systems. It also explores how the models are systematically applied in biotechnology. The book includes many analytical and numerical examples as well as exercises and a bibliography at the end of each chapter. MATLAB® code is available on the book’s CRC Press web page.

Catalog no. K10487, December 2011, 1036 pp. ISBN: 978-1-4398-0975-4, $93.95 / £59.99

Catalog no. K16367, November 2013, 379 pp. ISBN: 978-1-4665-6789-4, $79.95 / £49.99

Also available as an eBook

Solutions manual and figure slides available upon qualified course adoption

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

9


Computer Graphics 3D Math Primer for Graphics and Game Development Second Edition Fletcher Dunn Valve Software

Ian Parberry University of North Texas, Denton, USA

"With solid theory and references, along with practical advice borne from decades of experience, all presented in an informal and demystifying style, Dunn & Parberry provide an accessible and useful approach to the key mathematical operations needed in 3D computer graphics." —Eric Haines, author of Real-Time Rendering

Bestseller!

Fundamentals of Computer Graphics Peter Shirley, Michael Ashikhmin, and Steve Marschner “Fundamentals of Computer Graphics appears in its third updated edition to pack in discussions of the basics of computer graphics for college-level students and programmers. Four new chapters on implicit modeling, color, visualization and computer graphics in games have been added along with extensive revisions and updated new material, making this a 'must' for any college-level computer graphics library.”

This engaging book presents the essential mathematics needed to describe, simulate, and render a 3D world. Reflecting both academic and in-the-trenches practical experience, the authors teach you how to describe objects and their positions, orientations, and trajectories in 3D using mathematics. The text provides an introduction to mathematics for game designers, including the fundamentals of coordinate spaces, vectors, and matrices. It also covers orientation in three dimensions, calculus and dynamics, graphics, and parametric curves.

The third edition of this widely adopted text gives students a comprehensive, fundamental introduction to computer graphics. The authors present the mathematical foundations of computer graphics with a focus on geometric intuition, allowing the programmer to understand and apply those foundations to the development of efficient code.

• Contains numerous C++ and HLSL examples that illustrate how to put the techniques into practice

• Four new chapters: Implicit Modeling, Computer Graphics in Games, Color, Visualization, including information visualization

• Provides hundreds of worked problems that reinforce the basic concepts and explore interesting side quests

• Revised and updated material on the graphics pipeline, reflecting a modern viewpoint organized around programmable shading.

• Includes expanded, graceful introductions to the mathematics fundamental to game development

• Expanded treatment of viewing that improves clarity and consistency while unifying viewing in ray tracing and rasterization

• Covers two important application areas— graphics and physics—in introductory overviews Visit the book’s companion web site, gamemath.com, to download the example code and access other resources.

—The Midwest Book Review, December 2009

New in This Edition:

• Improved and expanded coverage of triangle meshes and mesh data structures • A new organization for the early chapters, which concentrates foundational material at the beginning

Selected Contents:

Selected Contents:

Cartesian Coordinate Systems. Vectors. Multiple Coordinate Spaces. Introduction to Matrices. Matrices and Linear Transformations. More on Matrices. Polar Coordinate Systems. Rotation in Three Dimensions. Geometric Primitives. Mathematical Topics from 3D Graphics. Mechanics 1: Linear Kinematics and Calculus. Mechanics 2: Linear and Rotational Dynamics. Curves in 3D. Appendices.

Miscellaneous Math. Raster Images. Ray Tracing. Linear Algebra. Transformation Matrices. Viewing. The Graphics Pipeline. Signal Processing. Surface Shading. Texture Mapping. Data Structures for Graphics. More Ray Tracing. Sampling. Curves. Implicit Modeling. Computer Animation. Using Graphics Hardware. Building Interactive Graphics Applications. Light. Color. Visual Perception. Tone Reproduction. Global Illumination. Reflection Models. Computer Graphics in Games. Visualization. Spatial-Field Visualization.

Catalog no. K13210, November 2011, 846 pp. ISBN: 978-1-56881-723-1, $73.95 / £46.99 Also available as an eBook

10

Catalog no. K00408, July 2009 ISBN: 978-1-56881-469-8, $104.95 / £69.99 Also available as an eBook

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Computer Graphics Computer Graphics

Graphics Shaders

From Pixels to Programmable Graphics Hardware

Theory and Practice, Second Edition

Alexey Boreskov and Evgeniy Shikin

Oregon State University, Corvallis, USA

Moscow State University, Russia

Chapman & Hall/CRC Computer Graphics, Geometric Modeling, and Animation Series

This text explores all major areas of modern computer graphics, starting from basic mathematics and algorithms and concluding with OpenGL and realtime graphics. Requiring only basic knowledge of analytic geometry, linear algebra, and C++, the book guides students through the OpenGL pipeline and gives them a firm foundation in today’s high-performance graphics. Using one consistent example, it leads them step by step from simple rendering to animation to lighting and bumpmapping. Source code and examples are available on the book’s CRC Press web page. • Covers the main aspects of modern computer graphics • Explains how to create various special effects using OpenGL • Describes a wide range of current topics, such as tessellation, spherical harmonics, and geometric shaders • Contains practical exercises and examples as well as numerous illustrations, including several color images • Offers full, cross-platform source code and examples on the book’s CRC Press web page Figure slides available upon qualified course adoption

Selected Contents: Introduction: Basic Concepts. Transforms in 2D. Geometric Algorithms in 2D. Transformations in 3D, Projections, Quaternions. Basic Raster Algorithms. Color and Color Models. Basic freeglut and GLEW for OpenGL Rendering. Hidden Surface Removal. Modern OpenGL: The Beginning. Working with Large 2D/3D Data Sets. Curves and Surfaces: Geometric Modeling. Basics of Animation. Lighting Models. Advanced OpenGL. GPU Image Processing. Special Effects in OpenGL. Basics of GPGPU. Elements of Procedural Texturing and Modeling. Non-Photorealistic Rendering. Bibliography. Catalog no. K13022, October 2013, 568 pp. ISBN: 978-1-4398-6730-3, $99.95 / £49.99

Mike Bailey Steve Cunningham Brown Cunningham Associates, Coralville, Iowa, USA

Highly recommended by CHOICE (December 2009), the first edition of Graphics Shaders: Theory and Practice has proven to be a popular choice for shaders courses at universities and conferences. Incorporating changes in the OpenGL syntax, this second edition provides an engaging and accessible introduction to the latest developments in graphics shaders. The authors thoroughly explain the concepts, use sample code to describe details of the concepts, and then challenge readers to extend the examples. Sample source code for many of the book’s examples is available on a companion website.

Features of the Second Edition: • Written using the most recent specification releases (OpenGL 4.x and GLSL 4.x0) including code examples brought up to date with the current standard of the GLSL language • More examples and more exercises • A chapter on tessellation shaders • An expanded Serious Fun chapter with examples that illustrate using shaders to produce fun effects • A discussion of how to handle the major changes occurring in the OpenGL standard, and some C++ classes The authors provide sample source code for many of the book’s examples at www.cgeducation.org

Selected Contents: The Fixed-Function Graphics Pipeline. OpenGL Shader Evolution. Fundamental Shader Concepts. Using glman. The GLSL Shader Language. Lighting. Vertex Shaders. Fragment Shaders and Surface Appearance. Surface Textures in the Fragment Shader. Noise. Image Manipulation with Shaders. Geometry Shader Concepts and Examples. Tessellation Shaders. The GLSL API. Using Shaders for Scientific Visualization. Serious Fun. Appendices. Catalog no. K13069, November 2011, 518 pp. ISBN: 978-1-56881-434-6, $87.95 / £55.99 Also available as an eBook

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

11


Computer Graphics 3D Graphics for Game Programming

Computer Graphics

JungHyun Han

Jonas Gomes and Luiz Velho

Korea University, Seoul

“The author has sought to satisfy a need experienced by the growing pool of game development students: a textbook that balances theory and practicality. The resulting compilation provides a broad coverage of the most important topics to graphics programmers. I would expect that anyone who has digested this material would be immediately effective as a member of a game development team.” —Michael Guerrero, Delta3D Game Engine Senior Programmer and Research Associate of the Naval Postgraduate School

In a presentation that balances theory and application, this text covers real-time graphics in video game development. Copiously illustrated with more than 300 figures, it allows readers to quickly understand the key aspects of real-time graphics. Authored by leaders in the field, the book explores concepts such as rendering, texturing, post-processing, and animation. Each chapter includes boxed Math Notes that enable readers to access mathematical or theoretical content without interrupting the flow of the main text and homework problems. A solutions manual is available upon qualified course adoption. • Presents the theory and mathematics of real-time graphics and its applications to game design • Provides boxed MathNotes that can be accessed as required without interrupting the flow of the text • Includes homework problems and more than 300 detailed figures • Offers ancillary material on a companion website Solutions manual available upon qualified course adoption

Selected Contents: Modeling and Representation. Rendering Pipeline Overview. Direct3D Programmable Pipeline. Illumination. Texturing. Post Processing. Animation. Catalog no. K11350, February 2011, 330 pp. ISBN: 978-1-4398-2737-6, $87.95 / £55.99 Also available as an eBook

Theory and Practice Institute of Pure and Applied Mathematics, Rio de Janeiro, Brazil

Mario Costa Sousa University of Calgary, Alberta, Canada

“The strength of the book is that it emphasizes a mathematical approach and particularly mathematical models in teaching computer graphics. … An accompanying eBook provides complete working implementations and course-related material. … this novel, highly mathematical exploration of computer graphics is useful for advanced audiences. Recommended.” —C. Tappert, CHOICE, December 2012 A complete and integrated introduction to computer graphics, this book focuses on conceptual aspects of computer graphics, covering fundamental mathematical theories and models and the inherent problems in implementing them. Only requiring basic knowledge of calculus and linear algebra, the text introduces the core challenges of the field and provides suggestions for further reading and studying on various topics. For each conceptual problem described, solution strategies are compared and presented in algorithmic form. • Presents an abstraction paradigm for computational applied mathematics used to encapsulate problems in different areas of computer graphics • Covers core topics such as the geometry of computer graphics, transformations, coordinate systems, the space of 3D rotations, color spaces, planar/spatial graphics objects, hierarchies, geometric modeling, image synthesis pipeline, illumination models, and mapping techniques • Contains exercises at the end of each chapter • Provides course-related material and C code on the book’s website

Selected Contents: Introduction. Geometry. Coordinates. The Space of Rotations. Color. Image. Planar Graphics Objects. Spatial Graphics Objects. Hierarchies. Geometric Modeling. Virtual Camera. Clipping. Visibility. Illumination. Rasterization. Mappings. Composition. The Illumination Equation. Appendix. Bibliography. Catalog no. K00376, April 2012, 544 pp. ISBN: 978-1-56881-580-0, $93.95 / £58.99 Also available as an eBook

12

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Computer Graphics Practical Algorithms for 3D Computer Graphics

New!

Second Edition

From Theory to Experiments, Second Edition

R. Stuart Ferguson The Queen’s University of Belfast, UK

This second edition presents up-to-date algorithms that are the core of all 3D computer graphics software packages. Using Core OpenGL and OpenGL ES, the book enables readers to create a complete suite of programs for 3D computer animation, modeling, and image synthesis. This edition includes three new chapters on real-time 3D programming using OpenGL, 3D graphics for mobile devices, and the open source OpenFX 3D tools suite. Source code, documentation, and much more are available on the author’s website. Catalog no. K18939, December 2013, 520 pp. Soft Cover ISBN: 978-1-4665-8252-1, $79.95 / £49.99

Computer Graphics Through OpenGL

Sumanta Guha Asian Institute of Technology, Thailand

From geometric primitives, animation, and 3D modeling to lighting, shading, and texturing, this second edition presents a comprehensive introduction to computer graphics using an active learning style to teach key concepts. Equally emphasizing theory and practice, the book provides an understanding not only of the principles of 3D computer graphics, but also the use of the OpenGL® API to code 3D scenes and animation, including games and movies. The book offers multiplatform programs, software, instructor’s manual, and more at www.sumantaguha.com. Catalog no. K24133, August 2014, 951 pp. ISBN: 978-1-4822-5839-4, $99.95 / £63.99 Also available as an eBook

New!

New!

Introduction to Computer Graphics

Data Visualization

A Practical Learning Approach Fabio Ganovelli, Massimiliano Corsini, Sumanta Pattanaik, and Marco Di Benedetto Series: Chapman & Hall/CRC Computer Graphics, Geometric Modeling, and Animation Series

Introduction to Computer Graphics: A Practical Learning Approach guides students in developing their own interactive graphics application. The authors show step by step how to implement computer graphics concepts and theory using the EnvyMyCar (NVMC) framework as a consistent example throughout the text. They use the WebGL graphics API to develop NVMC, a simple, interactive car racing game. Each chapter focuses on a particular computer graphics aspect, such as 3D modeling and lighting. The code is available at www.envymycarbook.com. Catalog no. K12432, August 2014, 422 pp. ISBN: 978-1-4398-5279-8, $89.95 / £49.99

Principles and Practice, Second Edition Alexandru C. Telea University of Groningen, The Netherlands

This book explores the study of processing and visually representing data sets. Data visualization is closely related to information graphics, information visualization, scientific visualization, and statistical graphics. This second edition presents improved treatment of the relationship between traditional scientific visualization and information visualization, a description of the emerging field of visual analytics, and updated techniques using the GPU and new generations of software tools and packages. This edition is also enhanced with exercises, downloadable code, and data sets available for download online. Solutions manual available upon qualified course adoption

Catalog no. K19084, September 2014, 617 pp. ISBN: 978-1-4665-8526-3, $89.95 / £57.99 Also available as an eBook

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

13


Cryptography & Security Introduction to Computer and Network Security

Introduction to Cryptography with OpenSource Software

Navigating Shades of Gray

Alasdair McAndrew

Richard R. Brooks

Victoria University, Melbourne, Australia

Clemson University, South Carolina, USA

Series: Discrete Mathematics and Its Applications

Combining hands-on work with an overview of fundamentals, this text integrates security analysis into a technical computing curriculum. It educates students on security issues, such as side-channel attacks, and deepens their understanding of how computers and networks work. The book presents basic principles and concepts, along with examples of current threats to illustrate how the principles can either enable or neutralize exploits. Classroom-tested case study projects prompt students to stage exploits and choose countermeasures to neutralize the attacks.

"This very well-written book is recommended to graduate or final-year undergraduate students intended to start research work on both theoretical and experimental cryptography. ... The book provides a rigorous introduction to the mathematics used in cryptographic and covers almost all modern practical cryptosystems." —Abderrahmane Nitaj (LMNO, Université de Caen Basse Normandie), IACR Book Reviews, February 2014

• Discusses social issues, such as privacy and economic factors

This text illustrates algorithms and cryptosystems using examples and the open-source computer algebra system of Sage. It enables students to run their own programs and develop a deep and solid understanding of the mechanics of cryptography. The book covers the methods, algorithms, and applications of modern cryptographic systems. It provides a highly practical learning experience by progressing at a gentle pace, keeping mathematics at a manageable level, and including numerous end-of-chapter exercises.

• Explains the history, emerging issues, and likely trends of computer security

• Teaches the key concepts using an open-source algebraic mathematics software

• Provides professors with instructions on setting up a security laboratory

• Includes examples that can be implemented on any modern computer

• Includes lab assignments that give students hands-on experience with security problems and solutions

• Enables students to run their own programs and develop a solid understanding of the mechanics of cryptography

• Presents in-depth technical discussions of networks and computer operations exploited by attackers, helping students understand how design decisions affect security • Describes technical details of attacks and security mechanisms

Solutions manual, instructor manual, figure slides, and lecture slides available upon qualified course adoption

Selected Contents: Brief History of Computers, Communications, and Security. Security and Privacy Overview. Cryptography Primer. SSL/TLS—Case Study Project. Securing Networks. Virtual Private Network—Case Study Project. Insertion Attacks. Buffer Overflow— Case Study Project. Polymorphic Virus—Advanced Case Study Project. Web Security. Privacy and Anonymity. Side-Channel Attacks. Digital Rights Management and Copyright. Security Economics. Conclusions. Catalog no. K12789, August 2013, 320 pp. ISBN: 978-1-4398-6071-7, $79.95 / £49.99

• Provides exercises at the end of every chapter

Selected Contents: Introduction. Basic Number Theory. Classical Cryptosystems. Introduction to Information Theory. Public-Key Cryptosystems Based on Factoring. Public-Key Cryptosystems Based on Logarithms and Knapsacks. Digital Signatures. Block Ciphers and the Data Encryption Standard. Finite Fields. The Advanced Encryption Standard. Hash Functions. Elliptic Curves and Cryptosystems. Random Numbers and Stream Ciphers. Advanced Applications and Protocols. Catalog no. K11232, May 2011, 461 pp. ISBN: 978-1-4398-2570-9, $83.95 / £51.99

Also available as an eBook

14

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Machine Learning & Data Mining Customer and Business Analytics

Getting Started with Business Analytics

Applied Data Mining for Business Decision Making Using R

Insightful DecisionMaking

Daniel S. Putler Alteryx, California, USA

Robert E. Krider Simon Fraser University, Burnaby, British Columbia, Canada

Series: Chapman & Hall/CRC The R Series

"This book is derived from a lecture course in data mining for MBA students. … assumes very little in the way of mathematical or statistical background. The writing style is generally good, and the book should prove useful to its target audience." —David Scott, International Statistical Review (2013), 81, 2

Showing how data mining can improve the performance of organizations, this book and its R-based software provide the skills and tools needed to successfully develop advanced analytics capabilities. It explains and demonstrates, via the accompanying opensource software, how advanced analytical tools can address various business problems. The authors also give insight into some of the challenges faced when deploying these tools. Readers can access a powerful, GUI-enhanced customized R package online as well as example data sets on the book’s website. • Enables an understanding of the types of business problems that advanced analytical tools can address • Explores the benefits and challenges of using data mining tools in business applications • Provides online access to a powerful, GUIenhanced customized R package, allowing easy experimentation with data mining techniques • Includes example data sets on the book’s website

Selected Contents: I Purpose and Process: Database Marketing and Data Mining. A Process Model for Data Mining—CRISPDM. II Predictive Modeling Tools: Basic Tools for Understanding Data. Multiple Linear Regression. Logistic Regression. Lift Charts. Tree Models. Neural Network Models. Putting It All Together. III Grouping Methods: Ward’s Method of Cluster Analysis and Principal Components. K-Centroids Partitioning Cluster Analysis. Bibliography. Catalog no. K14501, May 2012, 315 pp., Soft Cover ISBN: 978-1-4665-0396-0, $73.95 / £46.99

David Roi Hardoon Galit Shmueli Indian School of Business, Hyderabad

"A must read for college students and business managers interested in big data and analytics. The book beautifully integrates the business and technology aspects of analytics. It provides in-depth know-how to enable the reader to ‘know’ what and ‘how’ to effectively leverage analytics to deliver business solutions. If you want to get into business analytics, start your journey here!" —Ram D. Gopal, Professor and Department Head, School of Business, University of Connecticut

Helping students understand how to make sound decisions based on hard data, this text provides an integrated framework of data mining in business analytics. It explores the contents, capabilities, and applications of business analytics without assuming any prior knowledge or technical skills. The authors describe business analytics from a non-commercial standpoint, demystify the main concepts and terminologies, and give many examples of real-world applications. They take you on a journey through this datarich world, showing you how to deploy business analytics solutions in your organization. • Explains the fundamentals of analytics methodologies and how they should be applied • Requires no prior knowledge of the subject • Defines and clarifies hyped buzzwords • Provides real-world examples of business analytics applications • Includes suggested business analytics projects • Offers supplementary resources at www.businessanalytics-book.com

Selected Contents: Introduction to Business Analytics: The Paradigm Shift. The Business Analytics Cycle. Data Mining and Data Analytics: Data Mining in a Nutshell. From Data Mining to Data Analytics. Business Analytics: Customer Analytics. Social Analytics. Operational Analytics. Catalog no. K14271, March 2013, 190 pp. ISBN: 978-1-4398-9653-2, $59.95 / £38.99

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

15


Machine Learning & Data Mining Business Analytics An Introduction

A First Course in Machine Learning

Edited by

Simon Rogers

Jay Liebowitz

University of Glasgow, Scotland

Harrisburg University of Science and Technology, Pennsylvania, USA

University College London, UK

Business Analytics: An Introduction explains how to use business analytics to sort through an ever-increasing amount of data and improve the decision-making capabilities of an organization. Covering the key areas of business analytics, the book explores the concepts, techniques, applications, and emerging trends that professionals across a wide range of industries need to be aware of. As the field of business analytics continues to emerge rapidly, there is a need for a reliable textbook on the subject. Filling this need, this book is suitable for graduate-level students and undergraduate seniors. It maintains a focus on only the key areas so the material can be covered adequately in a one-semester or one-quarter course. Each chapter includes softwaregeneric exercises, labs, and associated answers to the exercises/labs.

Mark Girolami Requiring minimal mathematical prerequisites, this classroom-tested text covers the core mathematical and statistical techniques needed to understand some of the most popular machine learning algorithms, including classification, clustering, and projection algorithms. The MATLAB®/Octave scripts available online enable readers to recreate plots that appear in the book and investigate changing model specifications and parameter values. By experimenting with the various algorithms and concepts, readers see how an abstract set of equations can be used to solve real problems. A solutions manual is available upon qualifying course instruction. Solutions manual available upon qualified course adoption

Catalog no. K11175, October 2011, 305 pp. ISBN: 978-1-4398-2414-6, $73.95 / £38.99 Also available as an eBook

• Introduces business analytics concepts, techniques, issues, applications, and emerging trends • Includes software-generic exercises and labs along with answers to labs/exercises • Examines legal and privacy issues • Explores social media in analytics

Selected Contents: The Value of Business Analytics. Producing Insights from Information through Analytics. Executive/Performance Dashboards. Data Mining: Helping To Make Sense of Big Data. Big Data Analytics for Business Intelligence. Text Mining Fundamentals. Neural Network Fundamentals. Measuring Success in Social Media: An Information Strategy in a Data Obese World. The Legal and Privacy Implications of Data Mining. Epilogue: Parting Thoughts. Catalog no. K20757, December 2013, 288 pp. ISBN: 978-1-4665-9609-2, $89.95 / £57.99 Also available as an eBook

Forthcoming!

Machine Translation Pushpak Bhattacharyya Indian Institute of Technology Bombay, Mumbai

This accessible text explains machine translation through the study of phenomena, formalization, and elucidation of the techniques. It extensively uses case studies, examples, and historical perspectives. The book lucidly covers the foundations, insights, and case studies for practical concerns. The text also points toward where the field is heading in the future. Catalog no. K14284, January 2015, c. 192 pp. Pack - Book and Ebook ISBN: 978-1-4398-9718-8, $79.95 / £49.99 Also available as an eBook

16

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Machine Learning & Data Mining New Edition of a Bestseller!

Machine Learning An Algorithmic Perspective, Second Edition Stephen Marsland Massey University, Palmerston North, New Zealand

Along with updating all chapters and Python code examples, the second edition of this bestseller includes new chapters on Gaussian processes, Boltzmann machines, and deep belief networks. It also revises coverage of kernel methods and adds new material on random forests and model selection. This updated edition retains the popular algorithmic approach used by its popular predecessor as well as its focus on how to use the algorithms that make up machine learning methods and how and why these algorithms work.

Selected Contents:

Taking a practical approach to the subject for students without a strong mathematical background, the text explains how to use the algorithms underlying machine learning methods and includes actual programming examples throughout.

Support Vector Machines

Updates to This Edition Include: • The addition of two new chapters on Deep Belief Networks and Gaussian Processes • The reworking of the Support Vector Machine material so that there is running code and suggestions of experiments to be performed

Introduction Preliminaries Neurons, Neural Networks, and Linear Discriminants The Multi-layer Perceptron Radial Basis Functions and Splines Dimensionality Reduction Probabilistic Learning Optimisation and Search Evolutionary Learning Reinforcement Learning Learning with Trees Decision by Committee: Ensemble Learning Unsupervised Learning Markov Chain Monte Carlo (MCMC) Methods Graphical Models Symmetric Weights and Deep Belief Networks

• The addition of Random Forests, the Perceptron convergence theorem, a proper consideration of accuracy methods, conjugate gradient optimisation for the MLP and more on the Kalman filter and particle filter

Gaussian Processes

• Improved code included with better use of naming conventions in Python.

Code Basics

Solutions manual and figure slides available upon qualified course adoption

Further Reading

Appendix: Python Installing Python and Other Packages Getting Started Using Numpy and Matplotlib Practice Questions Index

Catalog no. K18981, October 2014, c. 474 pp. Pack - Book and Ebook ISBN: 978-1-4665-8328-3, $79.95 / £49.99 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

17


Programming Introduction to the Art of Programming Using Scala

Dynamic Web Programming and HTML5 Paul S. Wang

Mark C. Lewis

Kent State University, Ohio, USA

Trinity University, San Antonio, Texas, USA

"...suitable for instruction at the upper-division undergraduate level or the first year of graduate school, as well as for self-study..."

Series: Chapman & Hall/CRC Textbooks in Computing

"This well-written, comprehensive book covers material beyond a two-semester introductory curriculum ... The pace is appropriate for beginners; programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains … Highly recommended.” —D. Papamichail, University of Miami, Writing in CHOICE

With its flexibility for programming both small and large projects, Scala is an ideal language for teaching beginning programming. Introduction to the Art of Programming Using Scala presents concepts from CS1 and CS2 using a modern, JVM-based language that works well for both programming in the small and programming in the large. Ancillary resources, including video lectures and more exercises, are available at www.programmingusingscala.net. • Introduces the concepts of parallelism and parallel collections • Covers a variety of advanced topics, including multithreading and networking • Includes numerous exercises and hands-on projects in each chapter Solutions manual and figure slides available upon qualified course adoption

Selected Contents: Introductory Concepts: Basics of Computers, Computing, and Programming. Getting to Know the Tools. Scala Basics. Conditionals. Functions. Recursion for Iteration. Arrays and Lists in Scala. Loops. Text Files. Case Classes. GUIs. Graphics. Sorting and Searching. XML. Recursion. ObjectOrientation, Abstraction, and Data Structures: Object-Orientation. Bigger Programs/New Tools. A Project (Drawing Program). Abstraction and Polymorphism. Other Collection Types. Multithreading and Concurrency. Stream I/O. Networking. Stacks and Queues. Linked Lists. Priority Queues. Refactoring. Recursion. Trees. Regular Expressions and Context-Free Parsers. Spatial Trees. Binary Heaps. Direct Access Binary Files. Actors. Augmenting Trees. Catalog no. K14273, November 2012, 936 pp. Soft Cover ISBN: 978-1-4398-9666-2, $83.95 / £46.99

—Computing Reviews, March 2014

Helping readers master web development, this comprehensive and up-to-date guide covers specific web programming languages, APIs, and coding techniques and provides an in-depth understanding of the underlying concepts, theory, and principles. The author leads readers through page structuring, page layout/styling, user input processing, dynamic user interfaces, database-driven websites, and mobile website development. Numerous examples illustrate how the programming techniques and other elements work together to achieve practical goals. Encouraging hands-on practice, the book’s companion website offers live examples, code, and additional resources. • Covers new web standards, including HTML5 and CSS3 • Emphasizes dynamism and user friendliness with PHP and JavaScript • Requires no prior knowledge of web development • Discusses advanced topics such as the HTML5 DOM, database-driven websites, the LAMP package, XML, MathML, SVG, and AJAX • Includes a chapter on mobile websites • Presents many examples and ready-to-run programs, along with end-of-chapter exercises • Provides live examples, code, appendices, and additional resources on a companion website Figure slides available upon qualified course adoption

Selected Contents: The Web: An Overview. Webpage Markup with HTML5. Audio, Video, and More HTML5. Styling with CSS. Forms, PHP, and Form Processing. Dynamic User Interface with JavaScript. HTML5 DOM and APIs. Server-Side Programming with PHP. Database-Driven Websites. Web Hosting: Apache, PHP, and MySQL. XML, AJAX, and Web Services. SVG and MathML. HTML5 and Mobile Websites. Catalog no. K13293, November 2012, 664 pp. Soft Cover ISBN: 978-1-4398-7182-9, $83.95 / £51.99 Also available as an eBook

Also available as an eBook

18

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Programming X86 Assembly Language and C Fundamentals Joseph Cavanagh Santa Clara University, California, USA

Designed as a tutorial, this book explains how to write programs in the X86 language, the C programming language, and the X86 assembly language modules embedded in a C program. It presents the general computer architecture of the X86 microprocessor, individual addressing modes, stack operations, procedures, arrays, macros, and input/output operations. The book also details the most commonly used X86 assembly language instructions. A wealth of program design examples—including the complete assembly language code and actual outputs—help you grasp the concepts more easily. • Explains how to write programs in the X86 assembly language, the C programming language, and X86 assembly language modules embedded in a C program • Describes the general computer architecture of the X86 microprocessor • Presents the most commonly used X86 assembly language instructions • Explains the theory behind the design of program examples, where necessary

Pedagogical Features: • Supplies end-of-chapter homework problems that range from simple to complex • Includes a multitude of program design examples with complete code and outputs • Offers answers to select problems in an appendix and a complete solutions manual available upon qualifying course adoption Solutions manual and electronic figures available upon qualified course adoption

Selected Contents: Number Systems and Number Representations. X86 Processor Architecture. Addressing Modes. C Programming Fundamentals. Data Transfer Instructions. Branching and Looping Instructions. Stack Operations. Logic, Bit, Shift, and Rotate Instructions. Fixed-Point Arithmetic Instructions. Binary-Coded Decimal Arithmetic Instructions. Floating-Point Arithmetic Instructions. Procedures. String Instructions. Arrays. Macros. Interrupts and Input/Output Operations. Additional Programming Examples. Appendix A: ASCII Character Codes. Appendix B: Answers to Select Problems.

Some Assembly Required Assembly Language Programming with the AVR Microcontroller Timothy S. Margush The University of Akron, Ohio, USA

A comprehensive treatment of assembly language programming and computer organization, this text teaches the basic system capabilities of 8-bit AVR microcontrollers. It provides a foundation for understanding compilers, linkers, loaders, and operating systems in addition to the processors themselves. The book covers function call mechanisms and parameter passing techniques, explains how to use the XPLAIN Evaluation Kit, and describes data representation for integers, floating point, and character data. Along with many examples to illustrate the assembly language concepts, each chapter includes standard questions and programming exercises. • Presents a comprehensive treatment of assembly language programming and basic computer organization • Focuses on the popular Atmel AVR microcontroller series • Covers function call mechanisms and parameter passing techniques • Uses many examples to illustrate assembly language concepts • Describes data representation for integers, floating point, and character data • Explains how to use the XPLAIN Evaluation Kit • Includes standard questions and programming exercises in each chapter

Selected Contents: Introduction. Computer Systems. The Atmel AVR Microcontroller Family. Assembly Language. Integer Data Representation. AVR Core: Startup, Reset, and Memories. The Stack and Function Calls. Serial Communications Using the Universal Synchronous and Asynchronous Serial Receiver and Transmitter. Logical Operations. Control Structures. Interrupts. Arithmetic Operations. Arrays. Real Numbers. Programming the AVR in C. Appendix. Catalog no. K11091, August 2011, 643 pp. ISBN: 978-1-4398-2064-3, $98.95 / £62.99 Also available as an eBook

Catalog no. K16377, January 2013, 813 pp. ISBN: 978-1-4665-6824-2, $139.95 / £89.00 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

19


Programming Introduction to Compiler Construction in a Java World

A Functional Start to Computing with Python

Bill Campbell, Swami Iyer, and Bahar Akbal-Delibas

Ted Herman

University of Massachusetts, Boston, USA

Immersing students in Java and the JVM, this text enables a deep understanding of the Java programming language and its implementation. It focuses on design, organization, and testing, helping students develop essential software engineering skills and become better programmers. By working with and extending a real, functional compiler, students develop a hands-on appreciation of how compilers work, how to write compilers, and how the Java language behaves. Fully documented Java code for the compiler is accessible on a supplementary website. Catalog no. K12801, November 2012, 381 pp. ISBN: 978-1-4398-6088-5, $93.95 / £51.99 Also available as an eBook

Programming in C++ for Engineering and Science

University of Iowa, Iowa City, USA

Series: Chapman & Hall/CRC Textbooks in Computing

Taking a student-friendly, interactive approach to teaching computing, this text enables students to quickly learn computing without having to use loops, variables, and object abstractions at the start. Requiring no prior programming experience, the book draws on Python’s flexible data types and operations as well as its capacity for defining new functions. Along with the specifics of Python, the author covers important concepts of computing. A companion website provides many supplementary materials. Catalog no. K14528, July 2013, 427 pp., Soft Cover ISBN: 978-1-4665-0455-4, $79.95 / £49.99 Also available as an eBook

Introduction to Programming Languages Arvind Kumar Bansal

Larry Nyhoff

Kent State University, Ohio, USA

Calvin College, Grand Rapids, Michigan, USA

Designed for a one-semester undergraduate course, this classroom-tested book separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level. The author explains the principles of programming language design and implementation and covers both classical and newer topics, such as concurrent programming constructs and mobile computing models. Along with problems and further reading in each chapter, the text includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.

This text guides students in designing programs to solve real problems encountered in engineering and scientific applications. It gives students a solid understanding of how C++ can be used to process complex objects, including how classes can be built to model objects. Exercises and programming projects are included in each chapter and various ancillaries are accessible on the book’s website. A solutions manual and PowerPoint slides are also available with qualifying course adoption. Solutions manual and PowerPoint slides available upon qualified course adoption

Catalog no. K11207, August 2012, 744 pp. Soft Cover ISBN: 978-1-4398-2534-1, $93.95 / £59.99 Also available as an eBook

20

Catalog no. K16083, December 2013, 624 pp. Soft Cover ISBN: 978-1-4665-6514-2, $79.95 / £49.99 Also available as an eBook

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Programming A Concise Introduction to Programming in Python

Programming Languages for MIS

Mark J. Johnson

Concepts and Practice

Central College, Pella, Iowa, USA

Hai Wang

Series: Chapman & Hall/CRC Textbooks in Computing

Saint Mary's University, Halifax, Nova Scotia, Canada

Suitable for newcomers to computer science, this text provides a concise yet complete first course in computer science using the Python programming language. The author presents basic programming constructs early, so that beginners can use them throughout the course. He then covers objects and defines classes. Each chapter introduces a main idea through a concrete example and a series of exercises. The examples, exercises, and projects reflect a wide range of applications in biology, textual analysis, and other areas. • Includes code examples, exercises, and projects from a variety of application domains • Allows instructors to easily adapt the book to their preferences, as each chapter takes approximately one class period

Shouhong Wang University of Massachusetts Dartmouth, USA

This book supplies a synopsis of the major computer programming languages, including C++, HTML, JavaScript, CSS, VB.NET, C#.NET, ASP.NET, PHP (with MySQL), XML (with XSLT, DTD, and XML Schema), and SQL. Ideal for undergraduate students in IS and IT programs, this textbook and its previous versions have been used in the authors’ classes for the past 15 years. Focused on web application development, the book considers client-side computing, server-side computing, and database applications. Catalog no. K22290, January 2014, 317 pp. ISBN: 978-1-4822-2266-1, $79.95 / £49.99 Also available as an eBook

• Introduces basic programming constructs such as functions, selection, and repetition early, allowing them to be used throughout the course • Covers object terminology in the middle of the course and class design toward the end • Presents chapters on functional and parallel programming • Provides source code, a Python dictionary, and other materials at www.central.edu/go/conciseintro/ Solutions manual available upon qualified course adoption

Selected Contents: Foundations: Computer Systems and Software. Python Program Components. Functions. Repetition: For Loops. Computer Memory: Integers. Selection: If Statements. Algorithm Design and Debugging. Repetition: While Loops. Project: Newton’s Method. Computer Memory: Floats. Simulation. Project: Visualization. Collections and Files: Strings. Building Strings. Project: ISBN Check Digits. Computer Memory: Text. Lists. Project: Program Performance. Project: Heat Diffusion. Files. String Methods. Project: File Compression. Mutable and Immutable Objects. Project: Hangman. Dictionaries. Project: ELIZA. Project: Shannon Entropy. Project: Reading DNA Frames. Catalog no. K14279, December 2011, 217 pp. Soft Cover ISBN: 978-1-4398-9694-5, $62.95 / £42.99

New!

ARM Assembly Language Fundamentals and Techniques, Second Edition William Hohl and Christopher Hinds Texas Instruments, Austin, USA

Providing a solid introduction to assembly language and embedded systems, this second edition continues to support the popular ARM7TDMI but also addresses the latest architectures from ARM®. These include the Cortex™-A, Cortex-R, and Cortex-M processors, all of which have slightly different instruction sets, programmer's models, and exception handling. This edition features three new chapters, a new appendix, and expanded coverage of the ARM7™. It also tackles IEEE 754 floating-point arithmetic and discusses both Keil™ MDK-ARM and Texas Instruments Code Composer Studio™. Catalog no. K22631, October 2014, c. 456 pp. ISBN: 978-1-4822-2985-1, $89.95 / £57.99 Also available as an eBook

Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

21


Software Engineering Flexible, Reliable Software Using Patterns and Agile Development Henrik B. Christensen University of Aarhus, Denmark

Series: Chapman & Hall/CRC Textbooks in Computing

“… This book brings together a careful selection of topics that are relevant, indeed crucial, for developing good quality software with a carefully designed pedagogy that leads the reader through an experience of active learning.” —Michael Kölling, Originator of the BlueJ and Greenfoot Environments

This text presents innovative agile methods and guides readers through the software development process. By describing practical stories, explaining the design and programming process in detail, and using projects as a learning context, the author helps readers understand why a given technique is required and why techniques must be combined to overcome the challenges facing software developers. He discusses the benefits and liabilities of each approach, provides a collection of design patterns, and includes projects that represent real-world tasks. The book also contains review questions, exercises, and selected solutions.

Software Engineering The Current Practice Vaclav Rajlich Wayne State University, Detroit, Michigan, USA

Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series

This text teaches students basic software engineering skills and helps practitioners refresh their knowledge and explore recent developments in the field. It covers the most common iterative processes: agile, directed, and centralized processes. The book also discusses the role of software change in these processes and the phases of software change, including concept location, impact analysis, refactoring, actualization, and verification. The text journeys through the software life span from the initial development of software from scratch to the final stages that lead toward software closedown. The book provides PowerPoint slides and other material at www.cs.wayne.edu/~vip/slides-se.html. Password-protected solutions manual available upon qualified course adoption

Catalog no. K11915, November 2011, 315 pp. ISBN: 978-1-4398-4122-8, $83.95 / £48.99

• Shows how to use agile testing and patterns for software design

Also available as an eBook

• Discusses the benefits and liabilities of each approach

Software Development

• Presents 15 design patterns as well as the principles behind them • Provides source code for all examples and projects, installation guides, and other resources on www.baerbak.com

Pedagogical Features: • Incorporates two elaborate projects that provide learning contexts for students to acquire the necessary skills

An Open Source Approach Allen Tucker, Ralph Morelli, and Chamindra de Silva Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series

Basic Terminology. The Programming Process. The First Design Pattern. Variability Management and 31-2. Compositional Design. A Design Pattern Catalogue. Frameworks. Outlook. Projects.

Written by experienced software developers and educators, this text immerses readers directly into an agile free and open source software (FOSS) development process. It focuses on the methodologies and goals that drive the development of FOSS, combining principles with real-world skill building, such as debugging, refactoring, and writing. The authors highlight the value of collaboration as a fundamental paradigm for software development and provide hands-on projects using real open source software. Numerous supporting materials are available on the book’s website.

Catalog no. C3622, May 2010, 527 pp. ISBN: 978-1-4200-9362-9, $75.95 / £48.99

Catalog no. K10655, January 2011, 398 pp. ISBN: 978-1-4398-1290-7, $83.95 / £55.99

Also available as an eBook

Also available as an eBook

• Summarizes key concepts at the end of chapters • Includes review questions, exercises, and selected solutions

Selected Contents:

22

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Operating Systems Operating System Design The Xinu Approach, Linksys Version Douglas Comer Purdue University, West Lafayette, Indiana, USA

Removing the mystery from operating system design, this text guides readers through the construction of a traditional process-based operating system using practical, straightforward primitives. It reviews the major system components and imposes a hierarchical design paradigm that organizes the components in an orderly and understandable manner. The text begins with the underlying machine and proceeds step by step through the design and implementation of a small, elegant system. The text provides code for each piece of the system. Software and instructions for building a laboratory are available on the author’s website. Catalog no. K13816, September 2011, 629 pp. ISBN: 978-1-4398-8109-5, $83.95 / £55.99 Also available as an eBook

Mastering Linux Paul S. Wang Kent State University, Ohio, USA

Encouraging hands-on practice, Mastering Linux provides a comprehensive, upto-date guide to Linux concepts, USAge, and programming. Through a set of carefully selected topics and practical examples, the book imparts a sound understanding of operating system concepts and shows how to use Linux effectively. It covers user interfaces, commands and filters, Bash Shell scripting, the file system, networking and Internet use, and kernel system calls. It presents many examples and complete programs ready to run on your Linux system. The companion website offers a host of ancillary materials, including appendices, links to resources, and an example code package for download. Catalog no. K10350, September 2010, 439 pp. Soft Cover ISBN: 978-1-4398-0686-9, $57.95 / £36.99 Also available as an eBook

Computer Organization, Design, and Architecture Fifth Edition Sajjan G. Shiva University of Memphis, Tennessee, USA

Suitable for a one- or twosemester undergraduate or beginning graduate course in computer science and computer engineering, Computer Organization, Design, and Architecture, Fifth Edition presents the operating principles, capabilities, and limitations of digital computers to enable development of complex yet efficient systems. With 50 percent updated material, 11 new sections, and four revised sections, this edition takes students through a solid, up-to-date exploration of single- and multiple-processor systems, embedded architectures, and performance evaluation. Catalog no. K19096, December 2013, 725 pp. ISBN: 978-1-4665-8554-6, $99.95 / £57.99 Also available as an eBook

New!

Linux with Operating System Concepts Richard Fox Northern Kentucky University, Highland Heights, USA

This text merges conceptual operating system (OS) and Unix/Linux topics into one cohesive textbook for undergraduate students. It is complete with review sections, problems, definitions, concepts, and relevant introductory material. The book covers Linux from both the user and system administrator positions and incorporates OS concepts not found in most Linux/Unix textbooks, including kernels, file systems, storage devices, virtual memory, and process management. Test bank, answer key, and instructor’s manual available upon qualified course adoption

Catalog no. K23087, August 2014, 688 pp. Soft Cover ISBN: 978-1-4822-3589-0, $89.95 / £57.99 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

23


Game Development & Design Programming 2D Games

Bestseller!

Real-Time Rendering

Charles Kelly

Third Edition Tomas Akenine-Möller, Eric Haines, and Naty Hoffman “Real-Time Rendering has been a required reference for professional graphics practitioners for nearly a decade. This latest edition is as relevant as ever, covering topics from essential mathematical foundations to advanced techniques used by today’s cutting-edge games.” —Gabe Newell, President, Valve, May 2008

“Real-Time Rendering ... has been completely revised and revamped for its updated third edition, which focuses on modern techniques used to generate three-dimensional images in a fraction of the time old processes took. From practical rendering for games to math and details for better interactive applications, it's not to be missed.” —The Bookwatch, November 2008

“You'll get brilliantly lucid explanations of concepts like vertex morphing and variance shadow mapping—as well as a new respect for the incredible craftsmanship that goes into today's PC games.” —Logan Decker, PC Gamer Magazine, February 2009

Thoroughly revised, this third edition of a bestseller focuses on modern techniques used to generate synthetic three-dimensional images in a fraction of a second. With the advent of programmable shaders, a wide variety of new algorithms have arisen and evolved over the past few years. This edition discusses current, practical rendering methods used in games and other applications. It also presents a solid theoretical framework and relevant mathematics for the field of interactive computer graphics, all in an approachable style. The authors have made the figures used in the book available for download on the book’s CRC Press web page. Catalog no. K00479, July 2008, 1045 pp. ISBN: 978-1-56881-424-7, $92.95 / £62.99 Also available as an eBook

Most of today’s commercial games are written in C++ and are created using a game engine. Addressing both of these key elements, Programming 2D Games provides a complete, up-todate introduction to game programming. All of the code in the book was carefully crafted using C++. As game programming techniques are introduced, students learn how to incorporate them into their own game engine and discover how to use the game engine to create a complete game. The text covers sprites, animation, collision detection, sound, text display, game dashboards, special graphic effects, tiled games, and network programming. It systematically explains how to program DirectX applications and emphasizes proper software engineering techniques. Every topic is explained theoretically and with working code examples. The example programs for each chapter are available at www.programming2dgames.com. • Focuses on 2D programming techniques such as collision detection • Takes students through the process of creating a game engine, demonstrating the advantages of using an engine to develop a complete game • Presents the latest DirectX and Windows coding methods using C++ • Includes questions and programming exercises at the end of each chapter • Provides thoroughly tested example programs and a discussion forum on the book’s website PowerPoint slides available upon qualified course adoption

Selected Contents: Getting Started. Windows Programming Fundamentals. Introduction to DirectX. The Game Engine. Sprites and Animation. Collisions and Entities. Sound. Text. Enhanced Appearance. Tiled Games. Building a Complete Game. Network Programming. The Journey. Index. Catalog no. K14701, June 2012, 438 pp. ISBN: 978-1-4665-0868-2, $62.95 / £40.99 Also available as an eBook

24

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Game Development & Design Introduction to Game Physics with Box2D Ian Parberry University of North Texas, Denton, USA

This book covers the theory and practice of 2D game physics in a relaxed and entertaining yet instructional style. It offers a cohesive treatment of the topics and code involved in programming the physics for 2D video games. Focusing on writing elementary game physics code, the first half of the book helps students grasp the challenges of programming game physics from scratch, without libraries or outside help. It examines the mathematical foundation of game physics and illustrates how it is applied in practice through coding examples. The second half of the book shows students how to use Box2D, a popular open source 2D game physics engine. A companion website provides supplementary material, including source code and videos. • Explains how to program the physics used in 2D video games • Concentrates on coding and the underlying principles • Covers the math required in game physics, helping you visualize the mathematical connections and understand how the math works • Offers debugging tips, a brief primer on using the Bullet physics engine, and more in the appendices • Includes exercises at the end of each chapter • Provides source code, lecture notes, and videos on the author's website

2D Graphics Programming for Games John Pile, Jr. Champlain College, Burlington, Vermont, USA

Full of practical tools and tricks, this color book will help new programmers learn the concepts and techniques used to produce appealing 2D graphics. It starts with the basics, moves on to topics pertaining to motion and depth, and then describes advanced graphics. Code samples in the text and online allow readers to see a particular line of code in action or as it relates to the code around it. In addition, challenges and suggested projects encourage students to work through problems, experiment with solutions, and tinker with code. • Shows how the core concepts of graphics programming are the same regardless of platform • Helps graphics programmers communicate effectively with game artists and designers • Requires a basic understanding of programming • Reviews necessary math principles in the appendices • Provides code samples in C# and XNA, with more samples in C++, OpenGL, DirectX, and Flash available on a supporting website • Includes exercise questions or programming challenges at end of each chapter

Watch the Author’s Videos on Particle Effects/Systems: Fire Smoke, Snow, Explosions

Watch game demos on YouTube.

Student Samples

Selected Contents:

Watch the Author’s Videos on Depth:

Introduction to Game Physics: Mathematics for Game Physics. A Rigid Body Physics Game. A Soft Body Physics Toy. Game Physics with Box2D: Getting Started. A Tale of Three Modules. The Cannon Game. The Collision Module. Appendices. Bibliography.

Eye Level and Horizon

Catalog no. K16117, February 2013, 275 pp. Soft Cover ISBN: 978-1-4665-6576-0, $59.95 / £38.99 Also available as an eBook

Parallax

Selected Contents: Getting Started in 2D: Introduction. Basics of Computer Graphics. Sprites! Motion and Depth: Animation. Camera and Tiling. The Illusion of Depth. User Interface. Advanced Graphics: Particle Systems. GPU Programming. Polish, Polish, Polish! Appendices: Math Review: Geometry. Math Review: Vectors. Math Review: Trigonometry. Bibliography. Glossary. Catalog no. K14405, May 2013, 240 pp. ISBN: 978-1-4665-0189-8, $49.95 / £31.99 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

25


Game Development & Design iOS Game Development Developing Games for iPad, iPhone, and iPod Touch Thomas Lucka QIOO Interactive, Berlin, Germany

iOS Game Development: Developing Games for iPad, iPhone, and iPod Touch takes students from the basics of app coding to releasing and marketing their own game on the App Store. The book offers a wealth of previously unpublished information about the iOS platform. The text focuses on the concrete requirements of game developers, presenting in-depth details on each step in the mobile game development process. It explains the use of OpenGL ES for 2D/3D graphics and OpenAL for sound, both of which are recommended for game performance on the iOS platform. It also covers new APIs such as the GLKit, GameKit, and Box2D Physics Engine. • Provides the essential components for developing games in the iOS environment • Focuses on the Cocoa Touch framework, Core Graphics, and OpenGL ES • Requires only basic programming experience and knowledge of at least one object-oriented language such as Java, C#, or C++ • Keeps the source code as simple as possible • Offers numerous examples of iOS games on the author’s website

Selected Contents: Introduction—Let There Be…Games! The Basics— How Does It All Work? Game Development from 0 to 60 in No Time Flat. Making Connections: Multiplayer Games with Game Kit and Game Center. OpenGL ES: Turbocharged! The Third Dimension: 3D Games. On the Trail of Angry Birds—Physics Engine Box2D. The GLKit Framework—OpenGL ES Made Easy. Complete Control: Game Sounds with OpenAL. Waiting to Be a Millionaire. Catalog no. K16461, September 2013, 394 pp. Soft Cover ISBN: 978-1-4665-6993-5, $49.95 / £31.99

26

Game Development for iOS with Unity3D Jeff W. Murray Psychic Parrot Games, Ottawa, Ontario, Canada

Game Development for iOS with Unity3D takes students through the complete process of Unity iOS game development. It presents production-proven techniques and valuable tips and tricks needed to plan, build, test, and launch games for the iPhone, iPod, and iPad. It walks students through all the necessary procedures, including how to publish their own game to the App Store. This practical text begins with advice on writing a game design document and getting Apple developer certification. It then covers the build processes of the Unity Remote application and explains how to use the Unity editor. After focusing on debugging and optimization, the author describes tips for designing and marketing a successful App Store page. The book also features two iOS-ready games to explore, adapt, and play. Source files for the game examples are available at www.crcpress.com. • Covers the entire iOS game development process • Presents methods for debugging and issue finding with the MonoDevelop debugger • Provides links to open source, free, and low-cost software to help game projects stay on track • Includes full source files for two iOS-ready games on www.crcpress.com

Selected Contents: Designing Your Game. Getting Set Up for iOS Development. Setting Up Unity and Your Mac for iOS Development. Basics of the Unity Editor. Building a Game in Unity iOS: The Roll-a-Ball Game. Making a Kart-Racing Game. Debugging and Script Optimization. Optimizing for File Size and Performance. Publishing to the iTunes Store. Thinking Outside the Box. Glossary. Catalog no. K14133, July 2012, 280 pp., Soft Cover ISBN: 978-1-4398-9219-0, $52.95 / £33.99 Also available as an eBook

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Game Development & Design New!

Coming Soon!

GPU Pro 5

Unity Game Coding Using C#

Advanced Rendering Techniques Edited by

Wolfgang Engel Confetti Special Effects

In GPU Pro5: Advanced Rendering Techniques, section editors Wolfgang Engel, Christopher Oat, Carsten Dachsbacher, Michal Valient, Wessam Bahnassi, and Marius Bjorge have once again assembled a highquality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. Divided into six sections, the book covers rendering, lighting, effects in image space, mobile devices, 3D engine design, and compute. It explores rasterization of liquids, ray tracing of art assets that would otherwise be used in a rasterized engine, physically based area lights, volumetric light effects, screen-space grass, the usage of quaternions, and a quadtree implementation on the GPU. It also addresses the latest developments in deferred lighting on mobile devices, OpenCL optimizations for mobile devices, morph targets, and tiled deferred blending methods. In color throughout, GPU Pro5 is the only book that incorporates contributions from more than 50 experts who cover the latest developments in graphics programming for games and movies. • Covers the latest developments in game and movie rendering • Presents research and practical insight from experts in the game and movie industry • Offers both new and time-tested tips and tricks for creating interesting geometry, realistic shading, and real-time global illumination • Explains how to optimize 3D engines and take advantage of the advanced power of GPU • Addresses specific challenges involved in creating games on various platforms • Provides example programs with source code on the book’s CRC Press web page

Michael L. Croswell Consultant and Independent Game Developer

A how-to guide, this book covers areas where either a programmatic or procedural approach can add value or save time in the creation of games. The book uses standalone, concrete examples, and often complete but simple games to illustrate the tools and techniques of programming the Unity 3D game engine in C#. Unity Game Coding Using C# gives students the skills and knowledge to quickly develop various game genres. It contains enough examples to give game programmers the best approaches for their particular work-flow, whether team or solo. • Illustrates a series of actual game development scenarios with solutions • Includes examples that allow readers to experiment with the various technologies within the engine • Examines both object-oriented and component-oriented development • Covers the important API's needed to create complete games

About the Author: Michael L. Croswell is a consultant and independent game developer specializing in game programming. He is also an adjunct instructor of game technology and has taught both graduate and undergraduate computer sciences at various colleges and universities. Croswell's background is in artificial intelligence, computer graphics, simulation, and game technology. Besides working on numerous games, he has created decades worth of computer applications for the medical, government, and education industries. Catalog no. K16555, October 2014, 400 pp. Soft Cover ISBN: 978-1-4665-7170-9, $49.95 / £31.99

Selected Contents: Rendering. Lighting and Shading. Image Space. Mobile Devices. 3D Engine Design. Compute. Catalog no. K21596, May 2014, 522 pp. ISBN: 978-1-4822-0863-4, $79.95 / £49.99 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

27


Game Development & Design New!

New!

Virtual World Design

An Architectural Approach to Level Design

Ann Latham Cudworth Harrisburg University, Pennsylvania, USA

This book illustrates how the intertwining disciplines of 2D graphics, 3D models, lighting, sound, and storytelling come together by design in the creation of an accessible virtual environment for teaching, research, and entertainment. With 200 illustrations and 12 step-by-step projects, the book delivers hours of creative challenges for people working in public virtual worlds or on private grids. Using the modular components available for download on the author’s website, readers learn by building such things as a virtual classroom, an "all-access" terrain, and a sound-based game. • Provides a comprehensive design strategy for each aspect of a virtual environment, such as sound, lighting, and storytelling • Includes 12 hands-on, modular, and extensible projects that cover the fundamental concepts of virtual environment design • Explains the vitally important role that a designer plays in the creation of a virtual environment • Supports and promotes "Design for All" design principles throughout • Offers mesh models, textures, and sounds available for download on the author’s website

Selected Contents: Introduction to Virtual Worlds and Designing for Them. How to Start Doing Virtual World Design. Optimizing Your Design Workflow. Concepts in 3D Design for Virtual Environments. Virtual Terrain and Designing Landscapes. 3D Modeling, 2D Graphics, and Data Visualization. Color, Particles, and Sensory Spaces. Lighting in Virtual Environments: Second Life and OpenSim. Cameras and Collaborative Spaces. Virtual Goods and Design for Virtual Shopping Environments. Sound Design for Virtual Spaces. Avatars and Nonplayer Characters. Prototyping the Real World in a Virtual Environment. Scripting Basics for the Designer. HUDs in Virtual Environments. ... Catalog no. K16854, July 2014, 405 pp., Soft Cover ISBN: 978-1-4665-7961-3, $49.95 / £31.99

Christopher W. Totten George Mason University, Fairfax, Virginia, USA

"The book appears to have been written with great care and I was pleased to see a fresh description and illustration in the contents of the chapters ... . I found the presentation clear and lucid and it also summarized some new points that are not found in related books on this subject." —Sekhar Muddu, Indian Institute of Science, Bangalore

This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through game spaces, and creating better levels through architectural theory. • Presents case studies that offer insight on modern level design practices, methods, and tools • Shows how to use space to guide or elicit emotion from players • Discusses spatial design for real-world, persuasive games • Includes interviews of veteran game designers

Selected Contents: A Brief History. Tools and Techniques for Level Design. Basic Gamespaces. Teaching in Levels through Visual Communication. Introducing Emotional Level Design through Survival Instincts. Enticing Players with Reward Spaces. Storytelling in Gamespace. Possibility Spaces and Worldbuilding. Influencing Social Interaction with Level Design. Enhancing Level Design with Music and Sounds. Real-World Adaptive Level Design. Catalog no. K19091, June 2014, 469 pp., Soft Cover ISBN: 978-1-4665-8541-6, $59.95 / £38.99 Also available as an eBook

Also available as an eBook

28

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Game Development & Design New!

New!

HTML5 Game Engines

Game Design Workshop

App Development and Distribution

A Playcentric Approach to Creating Innovative Games, Third Edition

Dan Nagle Senior Software Engineer, Southern Vision Systems

HTML5 Game Engines: App Development and Distribution presents an introduction to development with HTML5 game engines as well as an indepth look at popular engines. Along with downloadable example projects for each engine, the book provides techniques for packaging and distributing the final app to all the major platforms. The book is divided into three parts. The first one covers the essentials of HTML5, discusses development strategies and techniques, and takes you through a basic pong game running in the browser with no dependencies. The second part implements four games using the Crafty, EaselJS, Impact, and Turbulenz game engines. In the third part, the author describes how several of these games are distributed on platforms, such as the Chrome Web Store, Apple iOS App Store, Google Play Store, and Facebook.

Tracy Fullerton University of Southern California, Los Angeles, USA

"Game Design Workshop is a truly great book and has become, in my opinion, the de facto standard text for beginner- to intermediate-level game design education. This updated new edition is extremely relevant, useful, and inspiring to all kinds of game designers." —Richard Lemarchand, School of Cinematic Arts, University of Southern California

• Explains how to package and distribute an HTML5 game app on all major platforms

Since the publication of the second edition, many changes have occurred in the games industry. This third edition expands discussions of new platforms and genres of play as well as processes, such as agile development (SCRUM). This new edition emphasizes how to work with analytics to improve game play experience and the commercial viability of games. It also includes interviews with a number of independent designers.

• Offers an introduction to HTML5 game development for those who would like a refresher or have limited HTML5 development experience

• Provides a step-by-step introduction to designing, prototyping, and playtesting innovative games

• Shows how to create four specific games using four different game engines

• Uses the design methodology from the cutting-edge USC Interactive Media program

• Provides source code and examples on a supporting website

• Includes hands-on exercises that demonstrate the design methodology and key concepts

Selected Contents:

• Discusses basic concepts and methods critical to beginning designers

HTML5 Game Development: Introduction to HTML5. HTML5 Development Strategies. HTML5 Game Engines: Crafty. EaselJS. Impact. Turbulenz. HTML5 App Distribution: Chrome Web Store. Apple iOS App Store. Google Play Store. Facebook App. Windows and Mac Native. Final Notes. Tools Appendix. Catalog no. K20660, April 2014, 216 pp., Soft Cover ISBN: 978-1-4665-9400-5, $49.95 / £31.99

Selected Contents: Game Design Basics: The Role of the Game Designer. The Structure of Games. Working with Formal Elements. Working with Dramatic Elements. Working with System Dynamics. DESIGNING A GAME: Conceptualization. Prototyping. Digital Prototyping. Playtesting. Functionality, Completeness, and Balance. Fun and Accessibility. Working as a Game Designer: Team Structures. Stages and Methods of Development. Communicating Your Designs. Understanding the New Game Industry. Selling Yourself and Your Ideas to the Game Industry. Catalog no. K22093, March 2014, 535 pp. Soft Cover ISBN: 978-1-4822-1716-2, $59.95 / £38.99

For more information and complete contents, visit www.crctextbooks.com

29


Game Development & Design New!

New!

Mobile & Social Game Design

HTML5 Game Development from the Ground Up with Construct 2

Monetization Methods and Mechanics, Second Edition Tim Fields

James Cook University, Singapore

Completely updated, this second edition explains how to use the interconnectedness of social networks to make "stickier," more compelling games on all types of devices. Through the book’s many design and marketing techniques, strategies, and examples, readers will acquire a better understanding of the design and monetization mechanics of mobile and social games as well as working knowledge of industry practices and terminology. Each chapter includes an interview with industry leaders who share their insight on designing and producing games, analyzing metrics, and much more. • Gives an overview of the evolution of the gaming sector, from the first cartridge-based games to the most innovative online mobile and social game monetization tricks • Presents in-depth strategies for monetizing your games • Offers real-world examples that reveal how and why social and mobile games make money • Clarifies the jargon used in the industry, such as DAU, MAU, ARPU, PCU, ARPPU, "whales," and "gold sinks" • Includes new interviews with industry leaders who are driving current game development • Provides a Facebook page to discuss new trends and games

Selected Contents: Introduction. What Is a Social Game? Are Mobile Games Social? History of Game Monetization. Why Create a Social or Mobile Game? Industry Terms and Metrics. What Is a Social Network? How to Acquire, Keep, and Regain Users. Monetization Strategies. Virtual Goods. Currency. Catalog no. K20902, January 2014, 236 pp. Soft Cover ISBN: 978-1-4665-9868-3, $49.95 / £31.99

30

Roberto Dillon HTML5 Game Development from the Ground Up with Construct 2 shows students how to use the sophisticated, yet user-friendly, HTML5-based game engine Construct 2 to develop and release two-dimensional games on a multitude of different platforms. The book also covers the foundational knowledge of game analysis and design based on the author’s research and teaching experiences. The author first helps students understand what really matters in games. He supplies guidance on how to become a better game designer from the ground up, how to play any game critically, and how to express their ideas in a clear and concise format. The book then presents step-by-step tutorials on designing games. It explains how to build an arcadestyle game as well as a platformer integrating some physics elements. It also shows students how to create a more complex puzzle game—the author’s own published game, Turky on the Run. Lastly, the book discusses different ways to deploy and monetize games across several platforms, including Facebook, iOS, Android, and web-based marketplaces. Sample Construct 2 project files for the games designed in the book are available on the author’s website.

Selected Contents: HTML5 and Construct 2. Understanding How Games Work. About Games and Ideas: Dream vs. Reality. Game Design Documentation for Indies. Moon Wolf, a Space Arcade Game. Moon Wolf Development. Kitty & Katty, a Platformer. Kitty & Katty Development. Turky on the Run, a Puzzle Game. Turky on the Run Development. The Journey Ahead. Deployment and Monetization. Catalog no. K22067, March 2014, 266 pp. Soft Cover ISBN: 978-1-4822-1661-5, $49.95 / £31.99

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Game Development & Design New!

The Art of Game Design Second Edition Jesse Schell Carnegie Mellon University and Schell Games, Pittsburgh, Pennsylvania, USA

"As indicated by its title, Jesse Schell's The Art of Game Design: A Book of Lenses uses many different perspectives (the titular lenses) which each prompt their own important questions, ranging from ‘What problems does my game ask the players to solve?’ to ‘What does beauty mean within the context of my game?’ These distinct points are interwoven throughout a step-by-step analysis of the design process that begins with the designer and his or her basic idea, and builds successfully from there. As with Rules of Play, the wealth of information presented by The Art of Game Design may seem daunting at first, but Schell's agreeable voice eases the reader into a series of invaluable angles we can (and should) use to evaluate what we play." —Book Review Appearing on www.1up.com

This second edition of a bestseller presents the fundamentals of game design from one of the world's top game designers. Exploring the unusual territory that is game design, the book demonstrates how the basic principles of psychology used in board games, card games, and athletic games also work in top-quality video games. The author gives readers 100+ sets of insightful questions to ask themselves to make their games better. These questions provide insight from fields as diverse as psychology, architecture, music, visual design, film, software engineering, theme park design, mathematics, puzzle design, and anthropology. • Contains insights from Jesse Schell, the former chair of the International Game Developers Association and award-winning designer of Disney online games • Includes 100+ sets of questions, each a different way of seeing a game that will inspire the design process • Provides 500 pages of detailed, practical instruction on creating world-class games that will be played again and again

Selected Contents: In the Beginning, There Is the Designer The Designer Creates an Experience The Experience Rises Out of a Game The Game Consists of Elements The Elements Support a Theme The Game Begins with an Idea The Game Improves through Iteration The Game Is Made for a Player The Experience Is in the Player’s Mind Some Elements Are Game Mechanics Game Mechanics Must Be in Balance Game Mechanics Support Puzzles Players Play Games through an Interface Experiences Can Be Judged by Their Interest Curves One Kind of Experience Is the Story Story and Game Structures Can Be Artfully Merged with Indirect Control. Stories and Games Take Place in Worlds Worlds Contain Characters Worlds Contain Spaces The Look and Feel of a World Is Defined By Its Aesthetics Some Games Are Played With Other Players Other Players Sometimes Form Communities The Designer Usually Works with a Team

Catalog no. K20900, November 2014, 600 pp. Soft Cover ISBN: 978-1-4665-9864-5, $64.95 / £41.99 Also available as an eBook

For more information and complete contents, visit www.crctextbooks.com

31


Game Development & Design New!

3D Animation for the Raw Beginner Using Maya

New Edition of a Bestseller!

Game Engine Architecture Second Edition

Roger King

Jason Gregory

University of Colorado, Boulder, USA

"… this book is the best of its kind ... . It covers the huge field of game engine architecture in a succinct, clear way, and expertly balances the breadth and depth of its coverage, offering enough detail that even a beginner can easily understand ... . The author, Jason Gregory, is not only a world expert in his field; he’s a working programmer with production-quality knowledge and many shipped game projects under his belt."

Providing a principles-based, yet pragmatic, approach to 3D animation, this first-of-itskind book describes the process for creating animated projects in a nonmathematical fashion, explaining why—and not just how— to apply Maya® techniques in the real world. Each chapter introduces critical aspects of the 3D animation process and presents clear and concise tutorials that link key concepts to practical Maya techniques. An ideal academic textbook and superlative do-it-yourself training manual, the book includes access to a dedicated web site with useful videos, lessons, and updates. • Introduces critical aspects of the 3D animation process • Presents clear and concise tutorials that link key concepts to practical techniques • Describes the process for creating animated projects in a nonmathematical fashion • Explains why—and not just how—to apply Autodesk® Maya® techniques in the real world • Includes access to a dedicated website featuring useful videos, lessons, and updates

Selected Contents: Getting Oriented. The Maya® Interface and Modeling Concepts in Maya. Modeling, Creating Materials, and Rendering. Hierarchies of Objects, a Polygon Example, Detailed Polygon Modeling, and a NURBS Example. Materials, Bump Maps, Lights, Projection versus Normal Textures, Connecting NURBS Surfaces, and Layered Textures. Particle Dynamics. A First Look at Adding Animation. The Fuzzy Border between Modeling and Animating. Light Fog, Fluids, and Another Look at Materials. An Example Model: A Closet. Specialized Animation Techniques. Specialized Materials and Material Effects. The UV Texture Editor. Multi-App Maya Workflow, Managing Complex Scenes, and Sculpting Applications. Advanced Light and Materials Properties and Effects. The Cabana. Cool Concepts. Catalog no. K12422, August 2014, 460 pp. ISBN: 978-1-4398-5264-4, $59.95 / £38.99

—Richard Lemarchand, School of Cinematic Arts, University of Southern California

Updating the content to match today’s landscape of game engine architecture, this second edition continues to thoroughly cover the major components that make up a typical commercial game engine. A new chapter on audio technology discusses the fundamentals of the physics, mathematics, and technology that go into creating an AAA game audio engine. Along with many updated sections, this edition also addresses the latest variant of the C++ programming language and the architecture of the Xbox One and PlayStation 4. • Provides a comprehensive guide to professional game development • Includes all necessary mathematical background • Offers sample materials for a two-semester course on the author’s website

Selected Contents: Foundations: Tools of the Trade. Fundamentals of Software Engineering for Games. 3D Math for Games. Low-Level Engine Systems: Engine Support Systems. Resources and the File System. The Game Loop and Real-Time Simulation. Human Interface Devices. Tools for Debugging and Development. Graphics, Motion, and Sound: The Rendering Engine. Animation Systems. Collision and Rigid Body Dynamics. Audio. Gameplay: Introduction to Gameplay Systems. Runtime Gameplay Foundation Systems. Conclusion. Catalog no. K15874, August 2014, 1040 pp. ISBN: 978-1-4665-6001-7, $69.95 / £47.99

Also available as an eBook

32

1-800-634-7064 • 1-859-727-5000 • +44 (0) 1235 400 524 • orders@crcpress.com


Premium Science, Technology, and Medical eBook Collections •

10 Million Pages of Rich Content

Ask about Your Free Trial

✦ More than 12,000 references in more than 350 subject areas ✦ Authoritative content from trusted experts ✦ Up-to-date information with new titles added monthly

Contact the CRCnetBASE team today e-reference@taylorandfrancis.com • 1-888-318-2367

www.CRCnetBASE.com


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.