Computer Science

Page 1

AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 1

Teach with the books you trust.™

Request your complimentary inspection copy today! CRC Press Textbooks

New and Noteworthy Textbooks in

Computer Science

WWW.CRCTEXTBOOKS.COM

CRC Press Taylor & Francis Group


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 2

CONTENTS Algorithms & Computation ....................................3 Mathematic for Computer Science ........................9 Computational Biology ........................................12 Compuer Graphics................................................14 Cryptography & Security ......................................21 Page 4

Page 9

Machine Learning & Data Mining ........................23 Programming........................................................25 Software Engineering ............................................28 Operating Systems................................................30 Game Development & Design..............................31

Page 12

Page 14

Page 21

Page 33

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.™ AVN01_Textbook Minicat_1.14.14_gtr


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 3

Algorithms & Computation Computational Thinking for the Modern Problem Solver

A Concise Introduction to Data Structures using Java

David D. Riley and Kenny A. Hunt

Mark J. Johnson

University of WisconsinLa Crosse, USA

Computational Thinking for the Modern Problem Solver begins by asking the question, “What do you know as computer scientists that is most valuable to the non-computer scientist?” Consistent with the spirit of Jeanette Wing's seminal CACM article that introduced the concept of computational thinking, this classroom-tested textbook presents concepts and techniques from computer science to a broader audience. It demonstrates the ways that computer science concepts are applicable in other fields using material that is accessible and relevant to non-computer science majors.

Features: • Introduces computational thinking as part of an introductory computing course • Includes both foundational computer science concepts and engineering topics • Focuses on algorithmic thinking and problem solving, rather than programming • Presents material in an accessible and relevant way for non-majors

Selected Contents:

Central College, Pella, Iowa, USA

Designed for a CS2 data structures course, this text provides a thorough, yet 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. • Introduces data structures in a concise and direct manner • Emphasizes one key idea at a time, allowing students to identify and focus on critical concepts • Uses an organization that is designed to help students learn, introducing simpler concepts first and then gradually building complexity • Includes partial implementation of most data structures, giving instructors flexibility to do examples and assign exercises • Presents an introductory chapter in Java basics that allows students unfamiliar with Java to quickly get up to speed • Offers source code for the examples on https://sites.google.com/a/central.edu/datastructures/ Solutions manual and figure slides are available upon qualified course adoption.

What Is Computational Thinking? How Real-World Information Becomes Computable Data

Selected Contents:

Logic

A Brief Introduction to Java

Solving Problems

Algorithm Analysis

Algorithmic Thinking

Integer Stacks

Modeling Solutions

Generic Stacks

Data Organization

Queues

Algorithmic Thinking

Lists

Let’s Get It Correct

Recursion

Limits of Computation

Trees

Concurrent Activity

Binary Search Trees

Information Security

Heaps

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

Hash Tables

Also available as an eBook

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

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

3


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 4

Algorithms & Computation 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

“... presents a well-balanced approach to theory and algorithms and introduces difficult concepts using rich motivating examples. It demonstrates the applicability of fundamental principles and analysis techniques to practical problems facing computer scientists and engineers.” —Professor Rami Melhem, University of Pittsburgh

A Functional Start to Computing with Python Ted Herman University of Iowa, Iowa City, USA

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.

Drawing on the authors’ classroom-tested material, this text takes students step by step through the concepts and methods for analyzing algorithmic complexity. Divided into three parts, it 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.

• Introduces data structure operations, including textual/string computing

• Covers optimal algorithms, polynomial reductions, and techniques that go beyond NP-completeness • Promotes an algorithmic approach to NP-completeness • Includes case studies that illustrate how to assess the complexity of a problem

• Covers recursion in both functional- and imperative-style Python

Figure slides are 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: NP-Completeness 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

• Requires no prior programming experience • Integrates core computer science ideas, such as self-referencing structures, aliases, and finite state machines

• Reinforces understanding of unit testing through interactive programming exercises with selected answers • Offers chapter supplements, demos, and other ancillary materials at: http://functionalfirstpython.com Figure slides available upon qualified course adoption

Selected Contents: Inspirations of Computing. Preview of Computing with Python. General Landscape of Computing Languages. Python Setup. Functional-Style Python: Types. Operators. Expressions. Printing. Functions I. Functions II. Conditional Logic. Slice, Split, Join. Comprehensions. Functional Patterns. ImperativeStyle Python: Names for Data. Functions and Variables. Mutation. Modules. Repetition. Documentation. Debugging. Accumulation Loop Patterns. Search Loop Patterns. Drawing. Input and Output. Network Programs. Objects, Classes, and Inheritance. Randomness, Time, and System Modules. Graphical User Interfaces. Appendices. Catalog no. K14528, July 2013, 427 pp., Soft Cover ISBN: 978-1-4665-0455-4, $79.95 / £49.99 Also available as an eBook

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 5

Algorithms & Computation Making Music with Computers

Information Technology

Creative Programming in Python

An Introduction for Today’s Digital World

Bill Manaris

Richard Fox

College of Charleston, South Carolina, USA

Northern Kentucky University, Highland Heights, USA

Andrew R. Brown

Suitable for any introductory IT course, this classroomtested text presents many of the topics recommended by the ACM Special Interest Group on IT Education. It offers a far more detailed examination of the computer than current computer literacy texts, focusing on concepts essential to all IT professionals—from operating systems and hardware to information security and computer ethics. The book highlights Windows/DOS and Linux with numerous examples of issuing commands and controlling the operating systems. It also provides details on hardware, programming, and computer networks.

Queensland University of Technology, Keperra, Australia

“... an impressive text. ... accessible to a reader who may know little to nothing about either music or computing/programming. ... Special mention should be given to the book’s examples. There are numerous, tidy, complete, and working Python programs throughout the text, which the reader can duplicate and run.” —William A. Greene, Professor Emeritus, University of New Orleans

Requiring minimal musical or programming experience, this text introduces important concepts and skills necessary to generate music with computers. It includes creative activities to help students understand computer programming and how to build computer music applications. It describes how to write music software and create algorithmic music compositions. A supplementary website provides access to a music library and other software resources. • Covers all the concepts found in a traditional introductory computer programming (CS1) course • Follows guidelines set by the College Board for computer science education • Assumes little musical and programming experience

Selected Contents: Introduction and History Building Blocks Organization and Data Transformation and Process Iteration and Lists Randomness and Choices Sonification and Big Data Interactive Musical Instruments Making Connections Music, Number, and Nature Exploring Powerful Ideas References Appendices Catalog no. K13083, January 2014, 384 pp. Soft Cover, ISBN: 978-1-4398-6791-4 $59.95 / £31.99 Also available as an eBook

• 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 • Includes further reading suggestions and questions at the end of each chapter • Offers animations and other material at: http://www.nku.edu/~foxr/IT/ Instructor’s manual, test bank, lab exercises, figures, and presentation slides available upon qualified course adoption

Selected Contents: Introduction 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 Information Technology Appendices Catalog no. K16379, February 2013, 564 pp. Soft Cover, ISBN: 978-1-4665-6828-0 $79.95 / £49.99 Also available as an eBook

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

5


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 6

Algorithms & Computation Programming in C++ for Engineering and Science

The Tao of Computing Second Edition Henry M. Walker

Larry Nyhoff

Grinnell College, Iowa, USA

Calvin College, Grand Rapids, Michigan, USA

Describing the practical details of interest to students and the high-level concepts and abstractions highlighted by faculty, The Tao of Computing, Second Edition provides a comprehensive introduction to computers and computer technology. This edition updates its popular predecessor with new research exercises and expanded discussion questions.

“... lavishly illustrated with examples and exercises, which would make it both an ideal course companion and a book for private study. The author’s abilities to explain briefly the history of computing and to write an engaging text are to be commended.” —Carl M. O’Brien, International Statistical Review (2013), 81

This text guides students in designing programs to solve problems encountered in engineering and scientific applications. It supplies students an understanding of how C++ can be used to process complex objects. Exercises and programming projects appear in each chapter and ancillaries are accessible on the book’s website. • Uses standard C++ throughout • Explains how to develop programs to solve real problems • Introduces the Standard Template Library • Develops numeric techniques and programs for some engineering and science example problems • Includes study questions, programming projects, and summaries in each chapter Solutions manual and PowerPoint slides available upon qualified course adoption

Selected Contents: Introduction. Programming and Problem Solving— Software Engineering. Types in C++. Getting Started with Expressions. Control Structures. Functions and Libraries. Using Classes. More Selection Control Structures. More Repetition Control Structures. Functions in Depth. Files and Streams. Arrays and the vector Class Template. Multidimensional Arrays and Vectors. Building Classes. Pointers and Linked Structures. Data Structures. Answers to Test Yourself Questions. Appendices. Catalog no. K11207, August 2012, 744 pp. Soft Cover, ISBN: 978-1-4398-2534-1 $93.95 / £59.99

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 • Why machines act the way they do • What is involved in getting computers to interact with networks The book offers a complete 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. This second edition describes new technological advances including social media applications and RSS feeds. Using a question and answer format throughout, it 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

Also available as an eBook

6

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 7

Algorithms & Computation Computers and Society Computing for Good Lisa C. Kaczmarczyk Evaluation and Assessment Consultant, San Diego, California, USA

“One of the most challenging topics to teach in the undergraduate computing curricula is the social and ethical implications of computing. … Kaczmarczyk’s book is a great help in answering these questions. … many well-crafted, open-ended questions and projects at the end of the chapters guide student work and discussion. The case studies are carefully researched and presented at an appropriate level for students to study any time after their freshman year.” —Anthony J. Duben, Computing Reviews, May 2012

This text uses 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. • Explores how computing is used in society through real-world examples and case studies • Discusses Internet voting, poverty alleviation, social computing, and technology in healthcare • Includes exercises and projects at the end of each chapter • Offers ancillaries on a supplementary http://www.computers-and-society.com/

Selected Contents: 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. K10542, December 2011, 305 pp. Soft Cover, ISBN: 978-1-4398-1088-0 $73.95 / £48.99 Also available as an eBook

A Concise Introduction to Programming in Python Mark J. Johnson Central College, Pella, Iowa, USA

Suitable for newcomers to computer science, this text provides a complete yet concise first course in computer science using the Python programming language. The author presents basic programming constructs early, so that students 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 • Introduces basic programming constructs early on • Covers object terminology in the middle of the course and class design toward the end • Presents chapters on functional and parallel programming • Provides access to 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. Projects: Newton’s Method. Visualization. Collections and Files: Strings. Building Strings. Project: ISBN Check Digits. Computer Memory: Text. Lists. Project: Program Performance. Project: Heat Diffusion. Files. String Methods. Projects: File Compression. Mutable and Immutable Objects. Hangman. Dictionaries. ELIZA. Shannon Entropy. Reading DNA Frames. Selected Topics: Sound Manipulation. Sound Synthesis. Image Manipulation. Project: Image Filters. Image Synthesis. Writing Classes. Cooperating Classes. Case Study: PPM Image Class. GUIs. Catalog no. K14279, December 2011, 217 pp. Soft Cover, ISBN: 978-1-4398-9694-5 $62.95 / £42.99 Also available as an eBook

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

7


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 8

Algorithms & Computation Introduction to Elementary Computational Modeling Essential Concepts, Principles, and Problem Solving Jose M. Garrido Kennesaw State University, Georgia, USA

“… offers a solid first step into scientific and technical computing for those just getting started. … Garrido methodically guides readers from problem statement and abstraction through algorithm design and basic programming.” —John West, SIGHPC Connect Newsletter, Vol. 1, June 2012

With an emphasis on problem solving, this book introduces the fundamental principles of computational modeling. The author provides case studies, along with an overview of computational models and their development. The first part of the text presents the basic concepts of models and techniques for designing and implementing problem solutions. It applies standard pseudo-code constructs and flowcharts for designing models. The second part covers model implementation with basic programming constructs using MATLAB®, Octave, and FreeMat. • Emphasizes analytical skill development and problem solving

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

“… Each chapter contains illustrations and code examples as well as a tutorial project that walks the student step by step through a task-related programming activity. Access to online resources, including a lab manual and links to the latest version of the open source Ruby software, is provided.” —SciTech Book News, February 2011

This text offers insight into how computation is used to solve a variety of interesting and important realworld 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. • Uses hands-on projects to teach computer science concepts and applications • Covers ideas important to encoding data

• Includes summaries, examples, and problems in every chapter

• Explores how to use random numbers in a variety of algorithms

• Explains modularity and abstraction to help deal with large and complex models

• Discusses key concepts in natural language processing

Selected Contents:

• Includes exercises in each chapter, with selected solutions in the appendices

Understanding Problem Solving: Word Problems. Problem Solving and Computing. MATLAB, R, and Octave Programming. Computational Models: Introduction. Computational Models and Simulation. Algorithms and Design Structures. Selection. Repetition. Data Lists. Modules. Mathematical Models: Basic Concepts. Models with Quadratic Growth. Models with Polynomial Functions. Data Estimation and Empirical Modeling. Models with Geometric Growth. Vectors and Matrices. Text Data. Advanced Data Structures. MATLAB and GNU Octave Software. Computer Systems. Key Terms.

• Provides access to a lab manual for Ruby and RubyLabs and updated versions of the software at: http://ix.cs.uoregon.edu/~conery/eic/

Catalog no. K13027, October 2011, 329 pp. Soft Cover, ISBN: 978-1-4398-6739-6 $87.95 / £55.99

Catalog no. K10640, October 2010, 390 pp. ISBN: 978-1-4398-1262-4, $83.95 / £55.99

Selected Contents: Introduction. The Ruby Workbench. The Sieve of Eratosthenes. A Journey of a Thousand Miles. Divide and Conquer. When Words Collide. Bit by Bit. The War of the Words. Now for Something Completely Different. Ask Dr. Ruby. The Music of the Spheres. The Traveling Salesman. Appendices.

Also available as an eBook

Also available as an eBook

8

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 9

Algorithms & Computation Introduction to the Simulation of Dynamics Using Simulink Michael A. Gray American University, Washington, D.C., USA

Requiring no prior programming experience, this book shows students how to use the powerful tool of Simulink® to investigate and form intuitions about the behavior of dynamical systems. Step by step, the author presents the basics of building a simulation in Simulink. He also offers overviews of some advanced topics, including the simulation of chaotic dynamics and partial differential equations. Written in an informal, accessible style, the text includes many diagrams, graphics, and exercises. It also draws on numerous examples from the science, engineering, and technology fields. • Supplies a step-by-step introduction to simulating dynamics • Uses the student version of Simulink for constructing simulations • Requires no general-purpose programming skills • Includes a wide range of examples and exercises from the areas of physics, biology, economics, mathematics, and engineering • Includes PowerPoint slides and solutions to exercises at: http://nw08.american.edu/~gray

Selected Contents:

Mathematics for Computer Science Practical Linear Algebra A Geometry Toolbox, Third Edition Gerald Farin Arizona State University, Tempe, USA

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

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 hundreds of numerical examples and illustrations • Contains a summary of main points and exercises in each chapter • Includes selected solutions to chapter exercises • Offers Mathematica® code at http://www.farinhansford.com/books/pla/ Solutions manual, lecture slides, and test bank available upon qualifying course adoption

Introduction. The Basics of Simulation in Simulink. Simulation of First-Order Difference Equation Models. Simulation of First-Order Differential Equation Models. Fixed-Step Solvers and Numerical Integration Methods. Simulation of First-Order Equation Systems. Simulation of Second-Order Equation Models: Nonperiodic Dynamics. Simulation of Second-Order Equation Models: Periodic Dynamics. Higher-Order Models and Variable-Step Solvers. Advanced Topics: Transforming Ordinary Differential Equations, Simulation of Chaotic Dynamics, and Simulation of Partial Differential Equations. Appendices.

Selected Contents:

Catalog no. K11000, July 2010, 332 pp. ISBN: 978-1-4398-1897-8, $104.95 / £65.99

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

Also available as an eBook

Also available as an eBook

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. Bibliography. Index.

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

9


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 10

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

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 general introduction to discrete structures • Includes extensive end-of-chapter exercises with selected solutions • Offers suggestions for research projects Solutions manual available upon qualifying 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 available on the author’s website. • Focuses on mathematical techniques that are most relevant to computer scientists • Assumes as little mathematical background as possible • Covers applications from computer graphics, web search, machine learning, cryptography, and a host of other computer science areas • Includes MATLAB functions, MATLAB programming assignments, and problems in each chapter • Offers MATLAB code at www.cs.nyu.edu/ faculty/davise/MathTechniques/index.html

Selected Contents: MATLAB Linear Algebra: Vectors Matrices Vector Spaces Algorithms Geometry Change of Basis, DFT, and SVD Probability: Probability Numerical Random Variables Markov Models Confidence Intervals Monte Carlo Methods Information and Entropy Maximum Likelihood Estimation References Notation Index Catalog no. K14397, May 2012, 431 pp. ISBN: 978-1-4665-0155-3, $62.95 / £41.99 Also available as an eBook

10

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 11

Mathematics for Computer Science Discrete Mathematics with Ducks sarah-marie belcastro Research Associate, Smith College, Northampton, Massachusetts, USA

“I had a lot of fun teaching from Discrete Mathematics with Ducks! ... I think the discovery/exploratory/problem-solving approach is ABSOLUTELY the way this course should be taught ... . Having the in-class activities included is a huge benefit ... .” —Dana Rowland, Associate Professor of Mathematics, Merrimack College

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 Solutions manual available upon qualified course adoption

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

This classroom-tested 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. A solutions manual is available upon qualifying course adoption. Features: • Follows the recommendations of the ACM • Introduces several supplementary topics that can form an excellent basis for student projects • Includes a wide variety of examples and exercises, with solutions in the appendices • Incorporates computer exercises that teach students how to write their own programs Solutions manual available upon qualified course adoption.

Selected Contents:

Selected Contents:

Logic and Sets

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

Relations and Functions, Boolean Algebra, and Circuit Design The Integers, Induction, and Recursion Number Systems Counting Techniques, Combinatorics, and Generating Functions Discrete Probability and Simulation Complexity of Algorithms Graphs, Trees, and Associated Algorithms Graph Traversal and Optimization Problems Randomized Search and Optimization Algorithms Catalog no. K10918, January 2011, 1002 pp. ISBN: 978-1-4398-1768-1, $104.95 / £46.99 Also available as an eBook

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

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

11


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:32 PM Page 12

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

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. • Presents methods for the analysis of motifs, modules, and large-scale networks • Explains how deterministic models and graphs can be used in the analysis and verification of networks

Second Edition of a Bestseller!

Statistics and Data Analysis for Microarrays Using R and Bioconductor Second Edition Sorin Dra˘ghici Wayne State University, Detroit, Michigan, USA

Richly illustrated in color, 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 hands-on, 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.

• Shows how to model the complete synthesis of macromolecules and compare measured data

• Provides in-depth treatment of the statistical and data analysis aspects used in microarrays and bioinformatics

• Uses the lactose uptake system to demonstrate various modeling and analysis tools

• Supplies the option of learning R in parallel with learning about data analysis

• Contains many analytical and numerical examples

• Covers background material for those with a limited mathematical, genetic, or molecular biology foundation

• Offers MATLAB® code on the book’s CRC Press web page Solutions manual and figure slides available upon qualified course adoption

Selected Contents: Fundamentals: Biological Basics. Mathematical Modeling. Model Calibration and Experimental Design. Modeling of Cellular Processes: Enzymatic Conversion. Polymerization Processes. Signal Transduction and Genetically Regulated Systems. Analysis of Modules and Motifs: General Methods of Model Analysis. Aspects of Control Theory. Motifs in Cellular Networks. Analysis of Cellular Networks: Metabolic Engineering. Topological Characteristics. Appendix. Index. Catalog no. K16367, November 2013, 379 pp. ISBN: 978-1-4665-6789-4, $79.95 / £49.99 Also available as an eBook

• Includes R code on CD

Selected Contents: 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. Functional Analysis and Biological Interpretation of Microarray Data. Uses, Misuses, and Abuses in GO Profiling. A Comparison of Several Tools for Ontological Analysis. Focused Microarrays. ID Mapping Issues. Pathway Analysis. Machine Learning Techniques. The Road Ahead. Catalog no. K10487, December 2011, 1036 pp. ISBN: 978-1-4398-0975-4, $93.95 / £59.99 Also available as an eBook

12

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 13

Computational Biology Biological Computation

Algorithms in Bioinformatics

Ehud Lamm

A Practical Introduction

Tel-Aviv University, Israel

Ron Unger

Wing-Kin Sung

Bar-Ilan University, Ramat-Gan, Israel

National University of Singapore

“Biological computing, the three-billion-year-old goldmine of information processing concepts, is ready for our educational mainstream. This beautiful undergraduate text by Lamm and Unger may be the first step. ... The exercises flex the imagination, the definitions are clear and precise, and the explanations are unusually powerful.” —Computing Reviews, August 2011

A unified overview of computer science ideas inspired by biology, Biological Computation presents the most fundamental and significant concepts in this area. Students will discover profound ideas about computer science through biological examples, such as the use of DNA for performing computations and how evolution solves optimization problems. The text focuses on cellular automata, evolutionary computation, neural networks, and molecular computation. Each chapter explores the biological background, describes the computational techniques, gives examples of applications, discusses possible variants of the techniques, and includes exercises and solutions. • Presents easy-to-follow explanations of several important proof techniques as well as detailed explanations of all derivations • Provides all necessary biological background • Introduces intelligence and artificial immune systems • Contains suggestions for further reading on each topic, along with an annotated bibliography • Offers PowerPoint slides for instructors at: https://faculty.biu.ac.il/~unger/books.htm

Selected Contents: Introduction and Biological Background. Cellular Automata. Evolutionary Computation. Artificial Neural Networks. Molecular Computation. The Never-Ending Story: Additional Topics at the Interface between Biology and Computation. Catalog no. C7959, May 2011, 343 pp. ISBN: 978-1-4200-8795-6, $83.95 / £51.99

“… an excellent guide. The book is appropriate for advanced undergraduates and graduates in mathematics or CS. … This selfcontained, well-designed, and well-written book, with its many good exercises, bibliographic references, and photo-quality figures, is an ideal introduction to bioinformatics.” —George Hacken, Computing Reviews, March 2010

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. • Presents a comprehensive overview of principles and methods in bioinformatics • Covers numerous applications of algorithms in bioinformatics • Discusses the practical issues and actual performance of using various methods with real biological data • Assumes no prior knowledge of molecular biology • Offers PowerPoint slides and other supplementary material on the author’s website Solutions manual available upon qualified course adoption

Selected Contents: Introduction to Molecular Biology. Sequence Similarity. Suffix Tree. Database Search. Multiple Sequence Alignment. Genome Alignment. Phylogeny Reconstruction. Phylogeny Comparison. Genome Rearrangement. Motif Finding. RNA Secondary Structure Prediction. Peptide Sequencing. Population Genetics. References. Index. Catalog no. C7033, November 2009, 407 pp. ISBN: 978-1-4200-7033-0, $91.95 / £43.99 Also available as an eBook

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

13


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 14

Computer Graphics Introduction to Computer Graphics A Practical Learning Approach Fabio Ganovelli, Massimiliano Corsini, Sumanta Pattanaik, and Marco Di Benendetto This classroom-tested text presents the fundamentals of graphics in an interactive and engaging way. Using the authors’ simple clientserver framework called EnvyMyCar, it guides students through key concepts in computer graphics while explaining step by step how to write code and implement the rendering engine for an interactive car race game. The book includes exercises in each chapter and uses JavaScript and WebGL throughout. Building on the concepts and theory presented in the text, students can create an increasingly sophisticated rendering of the race by the end of each chapter. • Teaches computer graphics using a multiplayer car race game • Discusses key concepts and theory of computer graphics • Explains how to write code and implement a rendering engine for an interactive car race game • Interweaves theory and practice • Provides exercises in every chapter • Uses JavaScript and WebGL for the implementation of the EnvyMyCar framework

Selected Contents:

Practical Algorithms for 3D Computer Graphics Second Edition R. Stuart Ferguson The Queen’s University of Belfast, UK

"A valuable book to accompany any course that mixes the theory and practice of 3D graphics. The book’s website has many useful programs and code samples." —Karen Rafferty, Queen’s University, Belfast

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. • Covers the most important topics in 3D graphics • Presents the algorithms in the simplest possible way • Discusses 3D graphics for both iOS and Android • Describes how to use OpenFX for 3D graphics, including implementing the code for your own purposes, such as writing a radiosity renderer • Includes many OpenGL-based examples • Offers source code, documentation, and more at: http://www.ee.qub.ac.uk/graphics/pa3dcg/ default.html

What Real-Time Rendering Is

Selected Contents:

EnvyMyCar How a 3D Model Is Represented

Basic Principles: Basic Theory and Mathematical Results

Geometric Transformations

Data Structures for 3D Graphics

Hidden Surface Removal (HSR)

Basic Visualization

Lighting and Shading

Realistic Visualization

Texturing

Computer Animation

Shadows

Practical 3D Graphics: Real-Time 3D: OpenGL

Image-Based Rendering

Mobile 3D: OpenGLES

GPU Techniques

The Complete Package: OpenFX

Many Many 3D Objects

Practical Algorithms for Modeling and Procedural Textures: Modeling with Polygonal Datasets

Global Illumination Catalog no. K12432, March 2014, c. 423 pp. ISBN: 978-1-4398-5279-8, $89.95 / £49.99 Also available as an eBook

14

Algorithms for Procedural Textures Catalog no. K18939, December 2013, 520 pp. Soft Cover, ISBN: 978-1-4665-8252-1 $79.95 / £49.99

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 15

Computer Graphics Computer Graphics

Computer Graphics

From Pixels to Programmable Graphics Hardware

Theory and Practice

Alexey Boreskov and Evgeniy Shikin

“... emphasizes a mathematical approach and particularly mathematical models in teaching computer graphics. … An accompanying eBook provides complete working implementations and courserelated material. … Recommended.”

Moscow State University, Russia

This text explores all major areas of modern computer graphics, starting from basic mathematics and algorithms and concluding with OpenGL and real-time 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 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 Catalog no. K13022, October 2013, 568 pp. ISBN: 978-1-4398-6730-3, $99.95 / £49.99 Also available as an eBook

Jonas Gomes, Luiz Velho, and Mario Costa Sousa

—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 at: http://pages.cpsc.ucalgary.ca/~mario/cgtpweb/

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 Illumination Equation Catalog no. K00376, April 2012, 544 pp. ISBN: 978-1-56881-580-0, $93.95 / £58.99 Also available as an eBook

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

15


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 16

Computer Graphics 3D Graphics for Game Programming

Experimental Design

JungHyun Han

From User Studies to Psychophysics

Korea University, Seoul

Douglas W. Cunningham

“JungHyun Han is a masterful teacher, and nowhere do his teachings come through more clearly than in 3D Graphics for Game Programming. Han presents the essential foundations of graphics programming that every serious game programmer needs in a straightforward nononsense style that gets right to the point. I highly recommend this book ... .”

Brandenburg University of Technology, Cottbus, Germany

—Jesse Schell, Carnegie Mellon University

Copiously illustrated with more than 300 figures, this textbook allows students to quickly learn the key aspects of real-time graphics in video game development. Authored by leaders in the field, it explores rendering, texturing, post-processing, and animation. Each chapter includes boxed Math Notes that enable students to access mathematical or theoretical content without interrupting the flow of the text and homework problems.

Christian Wallraven Korea University, Seoul

This book explains the basic terminology used to discuss experiments and takes a brief look at the more than 150-year history of experiments in psychology. It covers how to generalize from a few people to the whole population. The largest part of the book is dedicated to the most flexible, and arguably the most central, aspect of an experiment: What do the participants do? Each chapter follows the same structure and includes two examples, one from traditional psychophysics and one using computer-animated facial expressions as stimuli. • Presents a wide range of experimental tasks, describing what types of questions each task can answer • Includes real-world research examples

• Presents the theory and mathematics of real-time graphics and its applications to game design

• Offers details on how to present stimuli, including how to use PsychToolBox

• Provides boxed MathNotes that can be accessed as required without interrupting the flow of the text

• Provides an annotated list of stimulus databases available to researchers

• Includes homework problems and more than 300 detailed figures • Offers ancillary material on a companion website Solutions manual available upon qualified course adoption

• Contains an in-depth statistics section that focuses on relevant tests for various task categories

Selected Contents: Introduction: What Is an Experiment?

Selected Contents:

Designing an Experiment

Modeling and Representation

Response Measures: The Task

Rendering Pipeline Overview

Free Description

Direct3D Programmable Pipeline

Rating Scales

Illumination

Forced Choice

Texturing

Specialized Multiple Choice

Post Processing

Real-World Tasks

Animation

Physiology

Catalog no. K11350, February 2011, 330 pp. ISBN: 978-1-4398-2737-6, $87.95 / £55.99 Also available as an eBook

Stimuli: Choosing Stimuli Presenting Stimuli: The Psychtoolbox Data Analysis: Statistical Issues Free Description, Questionnaires, and Rating Scales Force and Multiple Choice Catalog no. K00394, November 2011, 408 pp. ISBN: 978-1-56881-468-1, $65.95 / £41.99 Also available as an eBook

16

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 17

Computer Graphics Visual Perception from a Computer Graphics Perspective William Thompson, Roland Fleming, Sarah Creem-Regehr, and Jeanine Kelly Stefanucci Suitable for students studying computer graphics and visualization, cognitive science, and visual neuroscience, this book provides an introduction to human visual perception. It focuses on how computer graphics images are generated, rather than solely on the visual system’s organization, to provide a more direct tie between image generation and perceptual phenomena. It covers topics such as illumination, action, and perception of factors including material properties, pictorial space, image statistics, and spatial cognition. • Ties together image generation and the resulting perceptual phenomena • Includes topics seldom seen in introductory perception texts, such as the perception of material properties, illumination, the perception of pictorial space, image statistics, perception and action, and spatial cognition • Emphasizes visual performance, with coverage of biological mechanisms in specific situations to aid in the understanding of practical issues • Covers issues specific to computer graphics and suggestions for further reading in each chapter

Selected Contents: Introduction: Overview Building Blocks: Visual Sensitivity 2D Image Features Color 2D Motion Stereo and Accommodation Surfaces and Movement: Perspective Texture Illumination, shading, and shadows Perception of Material Properties Motion of Viewer and Objects Pictorial Space Perception of Higher Level Entities: Spatial Orientation and Spatial Cognition Perception and Action Object and Scene Recognition Visual Attention and Search Event Recognition—Inanimate Event Recognition—Biological Catalog no. K07000, June 2011, 540 pp. ISBN: 978-1-56881-465-0, $75.95 / £47.99

Graphics Shaders Theory and Practice, Second Edition Mike Bailey Oregon State University, Corvallis, USA

Steve Cunningham Brown Cunningham Associates, Coralville, Iowa, USA

Graphics Shaders: Theory and Practice is intended for a second course in computer graphics at the undergraduate or graduate level, introducing shader programming in general, but focusing on the GLSL shading language. While teaching how to write programmable shaders, the authors also teach and reinforce the fundamentals of computer graphics. The second edition has been updated to incorporate changes in the OpenGL API (OpenGL 4.x and GLSL 4.x0) and also has a chapter on the new tessellation shaders, including many practical examples. The authors provide sample source code for many of the book’s examples at www.cgeducation.org.

Features of the Second Edition: • Written using the most recent specification releases including code examples brought up to date with the current standard of the GLSL language • More examples and more exercises • A chapter on new tessellation shaders • An expanded Serious Fun chapter with examples that illustrate using shaders to produce fun effects

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 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

17


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 18

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

Ian Parberry University of North Texas, Denton, USA

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. • Contains numerous C++ and HLSL examples that illustrate how to put the techniques into practice • Provides hundreds of worked problems that reinforce the basic concepts and explore interesting side quests • Includes expanded, graceful introductions to the mathematics fundamental to game development • Covers two important application areas— graphics and physics—in introductory overviews Visit the book’s companion website, gamemath.com, to download the example code and access other resources.

Selected Contents:

The Art of Image Processing with Java Kenny A. Hunt University of WisconsinLa Crosse, USA

This introductory image processing text is ideal for college students studying computer science or software engineering. With an emphasis on software design, the text builds on an accessible mathematical foundation and on extensive sample Java code to teach students the fundamentals of image processing. The text is accompanied by rich illustrations that demonstrate the results of performing processing on famous art pieces. This approach gives readers realworld examples of ways they may use image processing. Each chapter includes problems for students, and an online supplement offers instructor resources. • Illustrates how to acquire, archive, and display digital images for specific purposes or applications, including medicine, biology, environmental science, robotics, astronomy, and more • Emphasizes software design • Presents an accessible mathematical foundation • Includes numerous illustrations, sample Java code, and homework problems

Selected Contents: Introduction Optics and Human Vision Digital Images

Cartesian Coordinate Systems

Digital Images in Java

Vectors

Point Processing Techniques

Multiple Coordinate Spaces

Regional Processing Techniques

Introduction to Matrices

Geometric Operations

Matrices and Linear Transformations

Image Printing and Display

More on Matrices

Frequency Domain

Polar Coordinate Systems

Image Compression

Rotation in Three Dimensions

Morphological Image Processing

Geometric Primitives

Advanced Programming

Mathematical Topics from 3D Graphics

Appendices

Mechanics 1: Linear Kinematics and Calculus

Catalog no. K00509, November 2010, 300 pp. ISBN: 978-1-56881-717-0, $75.95 / £51.99

Mechanics 2: Linear and Rotational Dynamics Curves in 3D. Appendices Catalog no. K13210, November 2011, 846 pp. ISBN: 978-1-56881-723-1, $73.95 / £46.99 Also available as an eBook

18

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 19

Computer Graphics Computer Graphics Through OpenGL® From Theory to Experiments Sumanta Guha Asian Institute of Technology, Thailand

Requiring no previous knowledge of computer graphics, this textbook provides a comprehensive introduction to computer graphics. Equally emphasizing theory and practice, it not only supplies an understanding of the principles of 3D computer graphics, but also the use of the OpenGL API to program 3D applications. The text includes 140 programs with 200 experiments based on them as well as 600 exercises, 100 worked examples, and nearly 600 color illustrations. Source code, installation guides, the book’s figures, and an interactive discussion forum can be found at www.sumantaguha.com • Covers the foundations of 3D computer graphics • Introduces classical and programmable pipelines in OpenGL • Integrates code with the theory to give students a hands-on appreciation of the subject Solutions manual and test bank available upon qualified course adoption

Selected Contents: Tricks of the Trade

Interactive Data Visualization Foundations, Techniques, and Applications Matthew Ward, Georges Grinstein, and Daniel Keim

A CHOICE Outstanding Academic Title “College-level collections strong in concepts and theory surrounding data visualization will find Interactive Data Visualization: Foundations, Techniques, and Applications to be a powerful addition, covering all the details and tools needed for building visualizations around data. From math and statistical graphs to cartography and scientific displays, this offers plenty of details for creating visual displays of data, offering color illustrations throughout and plenty of refinement details.” —The Midwest Book Review, August 2011

This book covers the full spectrum of the field, including mathematical and analytical aspects. Sample programs are provided as starting points for building one's own visualization tools. Numerous data sets have been made available that highlight different application areas and allow readers to evaluate the strengths and weaknesses of different visualization methods. Exercises, programming projects, and related readings are given for each chapter. The book concludes with an examination of several existing visualization systems and projections on the future of the field.

Movers and Shapers

Selected Contents:

Geometry for the Home Office

Data Foundations

Making Things Up

Human Perception and Information Processing

Lights, Camera, Equation

Visualization Foundations

Pixels, Pixels, Everywhere

Visualization Techniques for Spatial Data

Anatomy of Curves and Surfaces

Visualization Techniques for Geospatial Data

The Projective Advantage

Visualization Techniques for Multivariate Data

The Time Is Pipe

Visualization Techniques for Trees, Graphs, and Networks

Catalog no. K12068, September 2010, 888 pp. ISBN: 978-1-4398-4620-9, $104.95 / £55.99 Also available as an eBook

Text and Document Visualization Interaction Concepts Interaction Techniques Designing Effective Visualizations Comparing and Evaluating Visualization Techniques Visualization Systems Research Directions in Visualization Catalog no. K00427, June 2010, 513 pp. ISBN: 978-1-56881-473-5, $93.95 / £62.99

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

19


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 20

Computer Graphics Programming GPS and OpenStreetMap Applications with Java The RealObject Application Framework Kristof Beiglböck This book provides a concrete paradigm for objectoriented modeling and programming. It introduces the use of available global positioning data for the development of applications involving digital maps. The author describes the different formats of GPS data and digital maps and shows how to use recorded GPS traces to replay and display this data on a digital map. Then, he works through in detail the processing steps of obtaining dedicated data from OpenStreetMaps and how to extract a network for a simple navigation application. For each topic covered—GPS data, OpenStreetMaps, and navigation—Java code is developed that can be adapted to students’ needs and locality. • Includes open source software code that students can use for their own applications • Provides a concrete example of the paradigm for object-oriented modeling and programming • Demonstrates the team development effort required for complex software applications • Allows students to customize the sample application to their own geographical location and make it available for remote access

Selected Contents: From Vision to Mission: Software Objects and Real-World Representations. The Vision. OOA Analysis and Mission. Global Positioning: Space and Time. From Geography to Cartography. Real Objects (ROs): Objects in Motion. Processing Digital Maps. Making Maps Navigable. Navigating Objects. RO APPS: Real Object Applications: Separating the RO Client and the ROA Server. Client Server Architecture. Rolling out a ROApp. Mission Accomplished: Time to Play. ROAF: Real Object Application Framework: Evolution.

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.” —The Midwest Book Review, December 2009

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. This edition has four new chapters, written by experts in their fields; revised material on the graphics pipeline; improved and expanded coverage of triangle meshes and mesh data structures; a new organization for the early chapters.

Selected Contents: 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. K00408, July 2009 ISBN: 978-1-56881-469-8, $104.95 / £69.99 Also available as an eBook

Catalog no. K14656, January 2012, 248 pp. Soft Cover, ISBN: 978-1-4665-0718-0 $62.95 / £40.99 Also available as an eBook

20

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 21

Cryptography & Security Introduction to Computer and Network Security Navigating Shades of Gray Richard R. Brooks Clemson University, South Carolina, USA

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. • Describes technical details of attacks and security mechanisms • Discusses social issues and economic factors • Examines the history, emerging issues, and likely trends of computer security • Includes lab assignments and instructions on setting up a security laboratory Solutions manual, instructor’s 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. Catalog no. K12789, August 2013, 320 pp. ISBN: 978-1-4398-6071-7, $79.95 / £49.99 Also available as an eBook

A Multidisciplinary Introduction to Information Security Edited by

Stig F. Mjolsnes Norwegian University of Science & Technology, Trondheim

Bringing together methods in pure mathematics, computer and telecommunication sciences, and social sciences, this book focuses on the security, privacy, and safety of information and communication technology. It begins with the basic components of hardware and algorithms, then covers integration and systems, and concludes with human factors in these systems. It discusses cryptography, hardware and software security, communication and network security, intrusion detection systems, access policy and control, risk and vulnerability analysis, and security technology management. • Covers the basic components of hardware and software security, including cryptographic algorithms • Discusses communication and network security, intrusion detection systems, access policy and control, and risk and vulnerability analysis • Examines information security policies in different organizations • Includes a bibliography, recommendations for further reading, and websites with more in-depth information in each chapter

Selected Contents: Security Electronics. Public Key Cryptography. Cryptographic Hash Functions. Quantum Cryptography. Cryptographic Protocols. Public Key Distribution. Wireless Network Access. Mobile Security. A Lightweight Approach to Secure Software Engineering. ICT Security Evaluation. ICT and Forensic Science. Risk Assessment. Information Security Management—From Regulations to End-Users. Catalog no. C5905, November 2011, 348 pp. ISBN: 978-1-4200-8590-7, $93.95 / £59.99 Also available as an eBook

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

21


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 22

Cryptography & Security Introduction to Cryptography with OpenSource Software

Access Control, Security, and Trust

Alasdair McAndrew

Shiu-Kai Chin and Susan Beth Older

Victoria University, Melbourne, Australia

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 author, a noted educator in the field, covers the methods, algorithms, and applications of modern cryptographic systems. He provides a highly practical learning experience by progressing at a gentle pace, keeping mathematics at a manageable level, and including numerous end-ofchapter exercises. • Teaches the key concepts in a practical way via Sage, an open-source algebraic mathematics software

A Logical Approach Syracuse University, New York, USA

This book equips students with an access control logic they can use to specify and verify their security designs. Throughout the text, the authors use a single access control logic based on a simple propositional modal logic. The first part of the book presents the syntax and semantics of access control logic, basic access control concepts, and an introduction to confidentiality and integrity policies. The second section covers access control in networks, delegation, protocols, and the use of cryptography. In the third section, the authors focus on hardware and virtual machines. The final part discusses confidentiality, integrity, and role-based access control. • Employs propositional modal logic to explain access control principles

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

• Shows how to perform derivations and calculations with mathematical precision and accuracy

• Takes students through the necessary mathematics gradually, introducing more advanced concepts one chapter at a time

• Focuses on reference monitors in security

• Includes exercises in each chapter

• Presents numerous examples ranging from the control of physical memory in hardware to multilevel security policies

Selected Contents:

• Includes exercises that deal with application, analysis, synthesis, and evaluation

Introduction to Cryptography 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

22

• Offers HOL-4 implementation and slides for each chapter Solutions manual available upon qualified course adoption

Selected Contents: Access Control, Security, Trust, and Logic. Preliminaries. A Language for Access Control. Reasoning about Access Control. Basic Concepts. Security Policies. Distributed Access Control. Digital Authentication. Delegation. Networks: Case Studies. Isolation and Sharing. A Primer on Computer Hardware. Virtual Machines and Memory Protection. Access Control Using Descriptors and Capabilities. Access Control Using Lists and Rings. Access Policies. Confidentiality and Integrity Policies. Role-Based Access Control. Appendix: Summary of the Access Control Logic. Catalog no. C8628, July 2010, 351 pp. ISBN: 978-1-58488-862-8, $104.95 / £65.99 Also available as an eBook

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 23

Cryptography & Security Introduction to Cryptography with Mathematical Foundations and Computer Implementations Alexander Stanoyevitch California State University–Dominguez Hills, Carson, USA

This self-contained introduction provides a focused tour of the central concepts of cryptography. It delineates cryptographic concepts in chronological order, developing the mathematics as needed. The text includes numerous examples and exercises, along with computer implementation sections that guide readers through the process of writing their own programs. Detailed solutions to many of the exercises can be found in the appendices. • Covers elliptic curve cryptography • Offers complete coverage of number theory and abstract algebra • Presents algorithms in pseudo-code • Contains background material and extensive exercise solutions • Includes standard and computer exercises as well as numerous worked examples • Provides sample programs as well as downloadable platform-independent applet pages for some core programs and algorithms at: www.csudh.edu/math/astanoyevitch/ cryptography.html Solutions manual available upon qualified course adoption

Selected Contents: Overview. Divisibility and Modular Arithmetic. The Evolution of Codemaking until the Computer Era. Matrices and the Hill Cryptosystem. The Evolution of Codebreaking until the Computer Era. Representation and Arithmetic of Integers in Different Bases. Block Cryptosystems and the Data Encryption Standard. Some Number Theory and Algorithms. Public Key Cryptography. Finite Fields in General and GF(28) in Particular. The Advanced Encryption Standard Protocol. Elliptic Curve Cryptography.

Machine Learning & Data Mining Getting Started with Business Analytics Insightful Decision-Making 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. " —Professor Ram D. Gopal, University of Connecticut

Helping students make sound decisions based on hard data, this self-contained guide 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 data-rich world, showing you how to deploy business analytics solutions in your organization. • Explains the fundamentals of analytics methodologies • Requires no prior knowledge of the subject • Includes 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

Catalog no. K10916, August 2010, 669 pp. ISBN: 978-1-4398-1763-6, $93.95 / £46.99

Operational Analytics

Also available as an eBook

Catalog no. K14271, March 2013, 190 pp. ISBN: 978-1-4398-9653-2, $59.95 / £38.99

Bibliography

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

23


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 24

Machine Learning & Data Mining Contemporary Artificial Intelligence

Customer and Business Analytics

Richard E. Neapolitan

Applied Data Mining for Business Decision Making Using R

University Feinberg School of Medicine, Chicago, Illinois, USA

Xia Jiang University of Pittsburgh, Pennsylvania, USA

This accessible AI text presents powerful AI methods and algorithms for addressing problems involving systems that behave intelligently in specialized domains such as medical and software diagnostics, financial decision making, speech and text recognition, and genetic analysis. The authors cover logic-based methods, probabilitybased methods, emergent intelligence, data-derived logical and probabilistic learning models, and natural language understanding. Through reading this book, students will discover the importance of AI techniques in computer science. • Focuses on AI-based algorithms that are currently used to solve diverse problems • Enables students to solve problems and improve their computer science skills • Introduces difficult concepts with simple, accessible examples • Covers large-scale applications of probability-based methods • Uses straightforward descriptions rather than complex mathematical notations

Selected Contents: Introduction to AI. Logical Intelligence: Propositional Logic. First-Order Logic. Certain Knowledge Representation. Probabilistic Intelligence: Probability. Uncertain Knowledge Representation. Advanced Properties of Bayesian Network. Decision Analysis. Emergent Intelligence: Evolutionary Computation. Swarm Intelligence. Learning: Learning Deterministic Models. Learning Probabilistic Model Parameters. Learning Probabilistic Model Structure. Language Understanding. Catalog no. K11981, August 2012, 515 pp. ISBN: 978-1-4398-4469-4, $104.95 / £51.99 Also available as an eBook

Daniel S. Putler Alteryx, California, USA

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

"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 the challenges faced when deploying these tools. Students can access a powerful, GUIenhanced customized R package online as well as example data sets at: http://www.customeranalyticsbook.com/. • Illustrates 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, GUI-enhanced customized R package

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

24

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 25

Machine Learning & Data Mining

Programming

A First Course in Machine Learning

Programming Languages for MIS

Simon Rogers

Concepts and Practice

University of Glasgow, Scotland

Mark Girolami University College London, UK

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. • Introduces the main algorithms and ideas that underpin machine learning techniques and applications • Keeps mathematical prerequisites to a minimum, providing mathematical explanations in comment boxes and highlighting important equations • Includes exercises in each chapter • Offers MATLAB/Octave code at: http://www.dcs.gla.ac.uk/~srogers/firstcourseml/ Solutions manual available upon qualified course adoption

Selected Contents: Linear Modelling: A Least Squares Approach. Linear Modelling: A Maximum Likelihood Approach. The Bayesian Approach to Machine Learning. Bayesian Inference. Classification. Clustering. Principal Components Analysis and Latent Variable Models. Glossary. Catalog no. K11175, October 2011, 305 pp. ISBN: 978-1-4398-2414-6, $73.95 / £38.99 Also available as an eBook

Hai Wang University of Massachusetts Dartmouth, USA

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

Programming Languages for MIS: Concepts and Practice 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. It emphasizes programming techniques, including structured programming, object-oriented programming, client-side programming, server-side programming, and graphical user interface. • Introduces the basics and key characteristics of computer languages • Covers C++ and the fundamental concepts of the two programming paradigms: functionoriented and object-oriented • Considers HTML, JavaScript, and CSS for web page development • Presents VB.NET for graphical user interface development • Introduces PHP, a popular open source programming language, and explains the use of the MySQL database in PHP • Discusses XML and its companion languages, including XSTL, DTD, and XML Schema

Selected Contents: C++ HTML, JavaScript , and CSS VB.NET C#.NET ASP.NET PHP XML SQL Catalog no. K22290, January 2014, 317 pp. ISBN: 978-1-4822-2266-1, $79.95 / £49.99

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

25


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 26

Programming Introduction to Programming Languages

Dynamic Web Programming and HTML5

Arvind Kumar Bansal

Paul S. Wang

Kent State University, Ohio, USA

Kent State University, Ohio, USA

Designed for a one-semester undergraduate course, this classroom-tested textbook 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.

Helping students master web development, this comprehensive 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.

• Provides examples from modern languages, including Java, C++, C#, Ada 2012, Ruby, Perl, Python, Scala, and Haskell

• Requires no prior knowledge of web development

• Describes implementation models of various paradigms, such as imperative, functional, logic, and object-oriented programming • Covers up-to-date topics in concurrent programming, web-based programming, and distributed computing • Gives insight into low-level implementation behavior Solutions manual, figure slides, and PowerPoint slides available upon qualified course adoption

Selected Contents:

• Includes a chapter on mobile websites • Presents many examples and ready-to-run programs, along with end-of-chapter exercises • Discusses advanced topics such as the HTML5 DOM, database-driven websites, the LAMP package, XML, MathML, SVG, and AJAX • 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

Fundamental Concepts. Syntax and Semantics. Abstractions in Programs and Information Exchange. Implementation Model for Imperative Languages. Dynamic Memory Management. Type Theory. Concurrency Programming Paradigm. Functional Programming Paradigm. Logic Programming Paradigm. Object-Oriented Programming Paradigm. Web and Multimedia Programming Paradigms. Other Programming Paradigms. Scripting Languages. Conclusion and Future of Programming Languages. Appendices.

Audio, Video, and More HTML5

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

XML, AJAX, and Web Services. SVG and MathML

Also available as an eBook

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 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

26

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 27

Programming Introduction to Compiler Construction in a Java World Bill Campbell, Swami Iyer, and Bahar Akbal-Delibas University of Massachusetts, Boston, USA

“… covers most standard compiler construction techniques well, and does a good job of exposing students to actual implementation environments. … Highly recommended. Upper-division undergraduates and above.” —C. Vickery, Queens College of CUNY in CHOICE Magazine

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 learn good software engineering skills and become better programmers. By working with and extending a real, functional compiler, students develop a handson appreciation of how compilers work, how to write compilers, and how the Java language behaves. • Presents a hands-on introduction to compiler construction, Java technology, and software engineering principles • Teaches how to fit code into existing projects • Describes a JVM-to-MIPS code translator, along with optimization techniques • Discusses well-known compilers from Oracle, IBM, and Microsoft • Includes end-of-chapter exercises that encourage students to write tests, re-factor code, and create new code • Provides fully documented Java code on a supplementary website Figure slides available upon qualified course adoption

Selected Contents: Compilation. Lexical Analysis. Parsing. Type Checking. JVM Code Generation. Translating JVM Code to MIPS Code. Register Allocation. Celebrity Compilers. Appendices. Catalog no. K12801, November 2012, 381 pp. ISBN: 978-1-4398-6088-5, $93.95 / £51.99 Also available as an eBook

Introduction to the Art of Programming Using Scala Mark C. Lewis Trinity University, San Antonio, Texas, USA

"... aimed at students in computing, but it would also be useful for students in other fields since it is about problem solving. … a great textbook, containing a huge amount of useful information for students." —Claudiu Popescu, Computing Reviews, March 2013

This text presents many 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. It teaches fundamental problem solving and programming in the small, illustrates the benefits of object-oriented design, and presents data structures showing different implementations of key ADTs. It also covers advanced topics such as multithreading and networking. • Introduces the concepts of parallelism and parallel collections • Contains numerous exercises and hands-on projects in each chapter • Provides video lectures, data sets, additional exercises and projects, and sample solutions on the book’s website Solutions manual and figure slides available with qualified course adoption

Selected Contents: Introductory Concepts: Basics of Computers, Computing, and Programming. Scala Basics. Conditionals. Functions. Recursion for Iteration. Arrays and Lists in Scala. Loops. Text Files. Case Classes. GUIs. Graphics. Sorting and Searching. XML. Recursion. Object-Orientation, Abstraction, and Data Structures: 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 Also available as an eBook

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

27


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 28

Programming

Software Engineering

Some Assembly Required

Software Engineering

Assembly Language Programming with the AVR Microcontroller

The Current Practice

Timothy S Margush

This text teaches students basic software engineering skills and guides them through recent developments in the field. It covers the most common iterative processes: agile, directed, and centralized processes. It 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 to the final stages that lead toward software closedown.

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. • 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 • Includes standard questions and programming exercises at the end of each chapter

Vaclav Rajlich Wayne State University, Detroit, Michigan, USA

• Uses object-oriented technology and UML to illustrate software engineering concepts • Shows how to develop iteratively new programs from scratch and how to deal with existing legacy code • Covers related issues, such as ethics and software management • Gives examples of the solo iterative process (SIP) and software change • Provides PowerPoint slides and other material at www.cs.wayne.edu/~vip/slides-se.html Password-protected solutions manual available upon qualified course adoption

Selected Contents: 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.

History of Software Engineering. Software Life Span Models. Software Technologies. Software Models. Software Change: Introduction to Software Change. Concepts and Concept Location. Impact Analysis. Actualization. Refactoring. Verification. Conclusion of Software Change. Software Processes: Introduction to Software Processes. Team Iterative Processes. Initial Development. Final Stages. Conclusion: Related Topics. Example of Software Change. Example of SIP.

Catalog no. K11091, August 2011, 643 pp. ISBN: 978-1-4398-2064-3, $98.95 / £62.99

Catalog no. K11915, November 2011, 315 pp. ISBN: 978-1-4398-4122-8, $83.95 / £48.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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 29

Software Engineering Software Development An Open Source Approach Allen Tucker, Ralph Morelli, and Chamindra de Silva “The book’s RMH Homebase case study and online supporting materials, RMH Homebase code base releases, and staging server setup instructions transform an individual reading experience of a well-written textbook into a collective software development effort that is productive, effective, and, above all, captivating.” —Mihaela Sabin, University of New Hampshire, Manchester, USA

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. • Provides hands-on projects using real open source software • Describes the principles and practice of effective software teams • Presents modern tools for working with code • Covers software architecture and security • Includes end-of-chapter exercises and case studies on debugging and refactoring • Offers numerous supporting materials on the book’s website

Selected Contents: Overview and Motivation Working with a Project Team Using Project Tools Software Architecture Working with Code Developing the Domain Classes Developing the Database Modules Developing the User Interface User Support Project Governance New Project Conception

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

“…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 students 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 students 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. • Explains how to use agile testing and patterns for software design • Incorporates two elaborate projects that provide learning contexts for students to acquire the necessary skills • Includes review questions, exercises, and selected solutions • Provides source code, installation guides, and other resources at: www.baerbak.com

Selected Contents: Basic Terminology The Programming Process The First Design Pattern Variability Management and 3-1-2 Compositional Design A Design Pattern Catalogue Frameworks Outlook Projects Bibliography Indices

Appendices

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

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

29


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 30

Operating Systems Mastering Linux

Operating System Design

Paul S. Wang Kent State University, Ohio, USA

The Xinu Approach, Linksys Version Douglas Comer Purdue University, West Lafayette, Indiana, USA

"... the best book for students and professionals to learn how a computer operating system works. The computer code, along with clear, concise explanations, is simply the best way to learn OS." —John C. Lin, Bell Labs

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. • Covers topics in the order a designer follows when building a system • Includes exercises and code that illustrate the functions provided by each level of the hierarchy • Uses a real-world operating system to teach general operating systems concepts Provides software and instructions for building a laboratory on the author’s website - www.xinu.cs.purdue.edu

Selected Contents: Concurrent Execution and OS Services. Overview of the Hardware and Run-Time Environment. List and Queue Manipulation. Scheduling and Context Switching. More Process Management. Coordination Of Concurrent Processes. Message Passing. Basic Memory Management. High-Level Memory Management and Virtual Memory. High-Level Message Passing. Interrupt Processing. Real-Time Clock Management. Device Independent Input and Output. An Example Device Driver. DMA Devices and Drivers. Minimal Internet Protocol Stack. Remote Disk Driver. File Systems. Remote File Mechanism. Syntactic Namespace. System Initialization. Exception Handling. System Configuration. Example User Interface. Catalog no. K13816, September 2011, 629 pp. ISBN: 978-1-4398-8109-5, $83.95 / £55.99

Encouraging hands-on practice, Mastering Linux provides comprehensive guidance on 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. The companion website offers a host of ancillary materials, including appendices, links to resources, and an example code package for download. • Contains a primer to help you get started quickly • Explains both GUI (desktop) and CLI (command line) usage • Shows how to web host with Apache, PHP, and MySQL • Offers Linux support for C-level programming • Describes GUI scripting with Ruby/GTK2 • Provides supplementary materials at: http://ml.sofpower.com/

Selected Contents: Linux Primer Interactive Use of the Shell Desktops, Windows, and Applications Filters and Regular Expressions Writing Shell Scripts The File System Networking, Internet, and the Web Web Hosting: Apache, PHP and MySQL C Programming in Linux I/O and Process Control System Call Interprocess and Network Communication GUI Programming with Ruby/GTK2 Catalog no. K10350, September 2010, 439 pp. Soft Cover, ISBN: 978-1-4398-0686-9 $57.95 / £36.99 Also available as an eBook

Also available as an eBook

30

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 31

Game Development & Design An Architectural Approach to Level Design

GPU Pro 5

Christopher W. Totten

Edited by

George Mason University, Fairfax, Virginia, USA

Wolfgang Engel

This book discusses level design, the discipline of creating interactive game environments, with an emphasis on architectural principles. These principles can help level designers create meaningful user experiences and emotional responses for players. This involves elements of spatial psychology, human survival instincts, visual communication, and spatial storytelling, among others. Topics are discussed in a non-software specific context so readers using different types of programs can utilize the content. The book includes an overview of real-world tools and techniques that level designers will find useful in crafting their interactive worlds.

This popular book offers new and time-tested tips and tricks for creating interesting geometry, realistic shading, real-time global illumination, and high-quality shadows as well as for optimizing 3D engines and taking advantage of the advanced power of the GPGPU. It discusses geometry manipulation, programming for handheld devices, effects in image space, shadows, 3D engine design, and environmental effects. A section on GPGPU programming also presents CUDA, DirectCompute, and OpenCL examples. Example programs and source code are available for download on the book’s CRC Press web page.

• Presents modern-level design practices, methods, and tools

• Explores cutting-edge techniques for advanced GPU programming

• Includes chapter exercises that explain how to create spaces that tell stories and facilitate action

• Presents tips on how to render real-time special effects and visualize data on common consumer software platforms

• Explains how to use space to guide or elicit emotion from players

Selected Contents: Workflows and Forms of Level Design Basic Game Spaces Visual Communication and Choice

Advanced Rendering Techniques

Confetti Special Effects

• Covers specific challenges involved in creating games on various platforms • Takes a practical approach that helps graphics programmers solve their daily challenges • Provides example programs with source code on the book’s CRC Press web page

Introducing Emotional Level Design through Survival Instincts

Selected Contents:

Enticing Players with Reward Systems

Geometry Manipulation, Wolfgang Engel

Storytelling in Gamespace

Rendering, Christopher Oat

Possibility Spaces and World Building

Global Illumination Effects, Carsten Dachsbacher

Influencing Social Interaction with Level Design

Shadows, Wolfgang Engel

Enhancing Level Design with Music and Sounds

3D Engine Design, Wessam Bahnassi

Real World Adaptive Level Design

GPGPU, Sebastien St-Laurent

Catalog no. K19091, June 2014, 496 pp. Soft Cover, ISBN: 978-1-4665-8541-6 $59.95 / £38.99

Catalog no. K21596, March 2014, c. 559 pp. ISBN: 978-1-4822-0863-4, $79.95 / £49.99 Also available as an eBook

Also available as an eBook

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

31


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 32

Game Development & Design Virtual World Design Ann Latham Cudworth Harrisburg University, Pennsylvania, USA

Virtual environments are being utilized globally in gaming, training simulations, and web-based social environments. This book provides readers with a solid understanding of how to plan, design, and build a dynamic virtual space that meets their functional needs, supports their message, and contributes to the immersion and retention of the participants. Understanding the qualities of good design for 3D space is critical and this book demonstrates how to give 3D design the visual and functional qualities that support the intended purpose and empower visitors to learn and enjoy the experience in an immersive way. • Provides a pathway for the start of all virtual environment design regardless of the ultimate usage the space will have • Guides the development of a personal design methodology for implementing a virtual space for game-based entertainment, teaching, and the creation of virtual worlds on the public grid structure • Supplies practical advice on how to design and build a globally accessible 3D virtual environment customized for students’ needs

Selected Contents: Introduction to 3D Design in Virtual Spaces. Construction and Optimization. Essential Concepts for Building Your World. The Main Components of Virtual Spaces. Organizing and Planning Your Projects. Project 1: Designing a Virtual Classroom. Project 2: Designing a Role-Play/Gaming Environment. Project 3: Designing a Data Visualization Environment. Project 4: Designing a Virtual Shopping Space. Project 5: Designing the Agora - A Virtual Meeting Place. Project 6: Designing a Virtual Healing Space. Project 7: Designing Autism Friendly Spaces. Project 8: Designing for Disabled Gamers. Working with Scripts, Code and Coders. Catalog no. K16854, April 2014, c. 389 pp. Soft Cover, ISBN: 978-1-4665-7961-3 $49.95 / £31.99 Also available as an eBook

HTML5 Game Development from the Ground Up with Construct 2 Roberto Dillon James Cook University, Queensland, Australia

This book discusses design and development of 2D games with Construct 2, a HTML5-based game engine that can target a multitude of different platforms. It takes a practical, hands-on approach with exercises that are effectively supported by a solid foundation in game analysis and design. Coverage of foundational concepts provides readers with a basic but thoughtful understanding of game development, while the book’s focus on explaining how to play any game critically helps them understand what makes them good and how to express ideas in a clear and concise format. Readers can then apply these concepts to develop different game prototypes in a detailed step-bystep manner using Construct 2. • Explores 2D game development targeting mobile and online platforms through a simple yet powerful game engine • Complements hands-on, step-by-step practical tutorials with relevant game design concepts and insights • Includes a list of resources to help indie game developers in their own work • Offers code available online

Selected Contents: HTML5 and Construct 2 Understanding How Games Work About Games and Ideas Game Design Documentation for Indies Arcade Space Game: Inspiration and Design Arcade Space Game: Development Platformer: Inspiration and Design Platformer: Development Puzzle Game: Inspiration and Design for Turky on the Run Turky on the Run: Development Deployment Resources for Indies Catalog no. K22067, March 2014, c. 293 pp. Soft Cover, ISBN: 978-1-4822-1661-5 $49.95 / £31.99

32

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 33

Game Development & Design HTML5 Game Engines

Game Design Workshop

App Development and Distribution

Third Edition

Dan Nagle

University of Southern California, Los Angeles, California, USA

Sr. Software Engineer, Southern Vision Systems

Despite the rise of HTML5based game engines, there is no comprehensive book that compares these engines to help developers decide which one is best for their project. This how-to guide covers game design and development and shows how to distribute an HTML5-based game. The book presents an introduction to game development using HTML5 engines, an analysis of the top engines, example game implementations using the engines, and techniques for packaging and distributing the final app. It also contains code, best practices, and many complete game examples. • Provides an in-depth review of HTML5 game engines, such as Impact, EaselJS, Turbulenz, and Crafty • Presents implementations of example games • Illustrates how to package and distribute an HTML5 game app • Offers project files and source code for the example game projects on the author’s website

Selected Contents: Introduction to Game Design Introduction to HTML5 Game Development Desktop Browsers Mobile Browsers Impact EaselJS Crafty LimeJS. iTunes Distribution

Tracy Fullerton

"Game Design Workshop is a truly great book and has become, in my opinion, the de facto standard text for beginner- to intermediatelevel 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

"This is the perfect time for a new edition. The updates refresh elements of the book that are important as examples, but don’t radically alter the thing about the book that is great: a playcentric approach to game design." —Colleen Macklin, Associate Professor, Parsons The New School for Design

"Tracy Fullerton’s Game Design Workshop covers pretty much everything a working or wannabe game designer needs to know. She covers game theory, concepting, prototyping, testing, and tuning, with stops along the way to discuss what it means to a professional game designer and how to land a job. When I started thinking about my game studies course at the University of Texas at Austin, this was one book I knew I had to use." —Warren Spector, Creative Director, Junction Point Studios

• Provides a step-by-step introduction to designing, prototyping, and playtesting innovative games • Uses the design methodology from the cutting-edge USC Interactive Media program • Includes hands-on exercises that demonstrate the design methodology and key concepts • Discusses basic concepts and methods critical to beginning designers

Google Play

• Offers insight from top industry game designers

Google Chrome Store

Selected Contents:

Facebook Distribution

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. ...

Catalog no. K20660, April 2014, c. 200 pp. Soft Cover, ISBN: 978-1-4665-9400-5 $49.95 / £31.99

Catalog no. K22093, March 2014, c. 536 pp. Soft Cover, ISBN: 978-1-4822-1716-2 $59.95 / £38.99

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

33


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 34

Game Development & Design Unity Game Coding Using C#

Game Engine Architecture

Michael L. Croswell

Second Edition

Consultant and Independent Game Developer

Jason Gregory

Praise for the AwardWinning First Edition: "This course resource provides an excellent, comprehensive look at every major system and issue related to modern game development … a must-have textbook for computer science, software engineering, or game programming majors ... ." —A. Chen, CHOICE, January 2010

The new edition of this 2010 CHOICE Outstanding Academic Title covers the theory and practice of game engine software development. It explains practical concepts and techniques used by real game studios, such as Electronic Arts and Naughty Dog. Suitable for both beginners and seasoned engineers, the text includes all the required mathematical background. Examples are grounded in specific technologies, but the discussions extend beyond any particular engine or API. This edition adds new material, including a chapter on audio. • Contains a new chapter on audio • Provides all necessary mathematical background • Includes extensive references for readers wanting to dig deeper into particular aspects of game development • Offers course materials on the author’s website

Selected Contents: Foundations: Introduction. 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 (HID). Tools for Debugging and Development. Graphics and Motion: The Rendering Engine. Animation Systems. Collision and Rigid Body Dynamics. Gameplay: Introduction to Gameplay Systems. Runtime Gameplay Foundation Systems. Conclusion: You Mean There’s More? Catalog no. K15874, May 2014, c. 1019 pp. ISBN: 978-1-4665-6001-7, $69.95 / £44.99

34

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 proramming the Unity 3D game engine in C#. It gives readers 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 APIs needed to create complete games

Selected Contents: Introduction to 3D Game Architecture within the Unity Game Engine Object-Oriented Programming the Unity Way User Interface In-Game Interaction and Game Mechanics Types of Motion Control–Character Controller, Explicit Transform Based, Rigidbody Free For-All, and Hybrid Approaches 3D Animation 2D Games Aspects (2D World, 2D or 3D characters, Animation 3D or Sheet) Sounds, Including MOD, OGG Ambient Music/Sound, and Triggered/Collision Sound Effects Custom Game Editors Artificial Intelligence Catalog no. K16555, July 2014, c. 400 pp. Soft Cover, ISBN: 978-1-4665-7170-9 $49.95 / £31.99

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 35

Game Development & Design Mobile & Social Game Design Monetization Methods and Mechanics, Second Edition Tim Fields This completely updated 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 • 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 game development

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

This book helps readers become capable 2D game physics programmers through its relaxed and entertaining yet instructional presentation of both the theory and applications of 2D game physics. It explains how to program the physics used in 2D video games and covers the math required in game physics. A companion website provides source code, videos, and other material. After reading the book and experimenting with the code samples, readers will understand the basics of 2D game physics and know how to use Box2D to make a 2D physics-based game. • 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 access to a Facebook page with discussions of recent trends and games at: https://www.facebook.com/SocialGameDesign MonetizationMethodsBook

• Provides source code, lecture notes, and videos at: http://larc.unt.edu/ian/books/gamephysics/

Selected Contents:

Read Me First

Selected Contents:

What Is a Social Game?

Introduction to Game Physics: Mathematics for Game Physics

Are Mobile Games Social?

A Rigid Body Physics Game

History of Game Monetization

A Soft Body Physics Toy

Why Create a Social or Mobile Game?

Game Physics with Box2D: Getting Started

Industry Terms and Metrics

A Tale of Three Modules

What Is a Social Network?

The Cannon Game

How to Acquire, Keep, and Regain Users

The Collision Module

Monetization Strategies

Appendices

Virtual Goods

Bibliography

Currency

Index

Catalog no. K20902, January 2014, 236 pp. Soft Cover, ISBN: 978-1-4665-9868-3 $49.95 / £31.99

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

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

35


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 36

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

Offering a wealth of previously unpublished information about the iOS platform, this color book takes students from the basics of app coding to releasing and marketing their own games on the App Store. It focuses on the concrete requirements of game developers, presenting in-depth details on each step in the mobile game development process. By following the book’s clear descriptions and example programs, students will understand how to implement the fundamentals in smaller game projects and be able to create their first game for the App Store. • 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 at: http://www.qioo.de/projects/book/iosgames/

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

This hands-on guide takes readers through the complete process of Unity iOS game development. A game developer for over 12 years, the author presents production-proven techniques and valuable tips and tricks needed to plan, build, test, and launch games for the iPhone, iPod, and iPad. He walks you through all the necessary procedures, including how to publish your game to the App Store. Full source files for two iOS-ready games are available at www.crcpress.com. • Covers the entire iOS game development process, from designing the game to choosing the right software and hardware to executing the game design to promoting and selling it on the App Store • 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:

Selected Contents:

Designing Your Game

Introduction—Let There Be…Games!

Getting Set Up for iOS Development

The Basics—How Does It All Work?

Setting Up Unity and Your Mac for iOS Development

Game Development from 0 to 60 in No Time Flat

Basics of the Unity Editor

Making Connections: Multiplayer Games with Game Kit and Game Center

Building a Game in Unity iOS: The Roll-a-Ball Game

OpenGL ES: Turbocharged!

Debugging and Script Optimization

The Third Dimension: 3D Games

Optimizing for File Size and Performance

On the Trail of Angry Birds—Physics Engine Box2D

Publishing to the iTunes Store

The GLKit Framework—OpenGL ES Made Easy

Thinking Outside the Box

Complete Control: Game Sounds with OpenAL

Glossary

Waiting to Be a Millionaire Catalog no. K16461, September 2013, 394 pp. Soft Cover, ISBN: 978-1-4665-6993-5 $49.95 / £31.99

36

Making a Kart-Racing Game

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 37

Game Development & Design 2D Graphics Programming for Games

Programming 2D Games

John Pile, Jr.

Most of today’s commercial games are written in C++ and are created using a game engine. Addressing both of these key elements, this text provides a complete introduction to game programming. 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. Every topic is explained theoretically and with working code examples.

Champlain College, Burlington, Vermont, USA

Full of practical tools and tricks, this color book helps 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 readers 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 the end of each chapter

Selected Contents: I Getting Started in 2D: Introduction Basics of Computer Graphics Sprites! II Motion and Depth: Animation Camera and Tiling The Illusion of Depth User Interface III Advanced Graphics: Particle Systems GPU Programming Polish, Polish, Polish! IV Appendices: Math Review: Geometry Math Review: Vectors Math Review: Trigonometry Bibliography Glossary Index

Charles Kelly

• Focuses on 2D programming techniques • 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 Catalog no. K14701, June 2012, 438 pp. ISBN: 978-1-4665-0868-2, $62.95 / £40.99 Also available as an eBook

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

37


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 38

Game Development & Design The Art of Game Design

Real-Time Rendering

A book of lenses

Third Edition

Jesse Schell

Tomas Akenine-Moller, Eric Haines, and Naty Hoffman

Carnegie Mellon University, Pittsburgh, Pennsylvania, USA

Winner of Game Developer's 2008 Front Line Award Game design is the act of deciding what a game should be. Decisions about rules, look and feel, timing, pacing, risk-taking, rewards, punishments, and everything else the player experiences are the responsibility of the game designer. Winner of the Game Developer 2008 Front Line Award in the book category, this work presents the fundamentals of designing classic games. Written by one of the world’s top designers, the book brings together the best principles and rules of game design for new game designers to study, use, and see how others have used them. • Presents a design methodology developed at Carnegie Mellon University's Entertainment Technology Center • Presents 100 boxed sets of questions that each present a different way of seeing a game to inspire the creative process • Supplies detailed, practical instruction on creating world-class games

Selected Contents: History of Games. Holographic Design. Cycle of Design. The Psychology of Play. The Spectrum of Humanity. Origin of Consciousness in the Breakdown of the Bicameral Mind. Consciousness of Consciousness. Subconscious Mind Part I: e Player. Salvador Dali: Fifty Secrets of Magic Craftsmanship: Secret Number Three: Slumber with a Key. The Subconscious Mind Part II: The Designer. The Elements of Game Mechanics. Toy Design. Skill and Chance. Decisions. Patterns of Rewards. Game Balancing. Case Study: Deconstructing Pac-Man. Puzzle Principles. Psychology of Story. Interactive Stories: The Promise and the Problem. Story and Gameplay. Story and Game Worlds. Lessons from Tabletop RPGs. Henry Jenkins: Transmedia Worlds. Transmedia Worlds. Scott McCloud: The Vocabulary of Comics. Characters in Games. A Pattern Language. Architecture in Games. Elegance. Character in Games. Brian Moriarty: The Point. Social Principles in Multiplayer Games. Online Communities. Technology. Iteration. Playtesting. Brainstorming. Team Communication. Design Documents. Business. The Art of the Pitch. Mills Penny Arcade. Location-Based Entertainment. Serious Games. The Ethics of Games.

“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

“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 focuses on modern techniques used to generate synthetic threedimensional 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 book includes access to an archive with most of the figures in Real-Time Rendering: http://www.realtimerendering.com/blog/our-books-figures-nowdownloadable-for-fair-use/ Catalog no. K00479, July 2008, 1045 pp. ISBN: 978-1-56881-424-7, $92.95 / £62.99 Also available as an eBook

Catalog no. K16148, August 2008, 520 pp. Soft Cover, ISBN: 978-0-12-369496-6 $65.95 / £41.99

38

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


AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:33 PM Page 39

Ask your librarian to ✦ sign up for a FREE TRIAL

The Best Science, Technology, and Medical eBooks from CRC Press ➢ More than 11,000 references in over 350 subject areas ➢ Over 50 discipline-specific CRCnetBASEs ➢ Build your own customized CRCnetBASE ➢ Anytime, anywhere access with CRCnetBASE Mobile

CRC Press Taylor & Francis Group

www.CRCnetBASE.com


Experience the textbook evolution.

➢ Custom Publishing available

➢ Easily search for key content

➢ Access anytime, anywhere

www.crctextbooks.com

6000 Broken Sound Parkway, NW, Suite 300 Boca Raton, FL 33487, USA

PRESORTED STANDARD US POSTAGE PAID CRC PRESS

AVN01_5.5x8.5_TMC_AVN01_5.5x8.5_TMC 1/14/14 4:34 PM Page 40


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.