Computer Science

Page 1


Contents Computation ..............................................................3 Machine Learning & Data Mining ..............................7 Programming Languages ............................................9 Software Engineering ................................................11 Operating Systems ....................................................13 Page 4

Page 5

Computational Biology..............................................14 Cryptography ............................................................15 Computer Graphics & Visualization ..........................18 Computer Game Design & Development ................21

Page 7

Page 11

!

New

Create Custom Textbooks with Ease

Page 14

Page 21

Choose materials from our entire CRC collection, articles from the web, or include your selfauthored papers and lectures. Instantly create custom textbooks in print or eBook format.

CRC Custom Publishing To get started now, visit us at: www.crctextbooks.com/custompub

To view more information and complete tables of contents for these and many other related books or to request your complimentary exam copy contact us at

www.crctextbooks.com +44 (0) 1235 400 524 • orders@crcpress.com

JVL03_TMC_UK 7.3012


Computation New!

New!

Programming in C++ for Engineering and Science

The Tao of Computing

Larry Nyhoff

Grinnell College, Iowa, USA

Calvin College, Grand Rapids, Michigan, USA

Series: Chapman & Hall/CRC Textbooks in Computing

Programming in C++ for Engineering and Science guides students in designing programs to solve real problems encountered in engineering and scientific applications. Using an object-centered design approach, the text illustrates how C++ can be used to process complex objects. Exercises and programming projects are included in each chapter and ancillaries are available at: http://cs.calvin.edu/books/c++/engr-sci.

Describing the practical details of interest to students as well as the high-level concepts and abstractions highlighted by faculty, The Tao of Computing, Second Edition supplies a comprehensive introduction to computers and computer technology. In addition to new research exercises and expanded discussion questions, this edition updates its popular predecessor with coverage of recent technological advances—including social media applications and RSS feeds.

A solutions manual and PowerPoint slides are available upon qualified course adoption.

Features: • Uses standard C++ throughout • Explains key concepts through a "use it first, build it later" approach • Emphasizing the proper techniques of design and style • Introduces the Standard Template Library along with important class and function templates • Develops numeric techniques and programs for some engineering and science example problems • Includes self-study questions and programming projects in each chapter • Highlights key terms, important points, design and style suggestions, and common programming pitfalls in the chapter summaries • Includes access to ancillary material on the book’s website Selected Contents: Introduction to Computing. 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. ... July 2012, 744 pp. Soft Cover, ISBN: 978-1-4398-2534-1, £57.99

Second Edition Henry M. Walker

Features: • Provides a complete introduction to the topics that every student should know • Covers up-to-date topics and supplies examples from popular culture • Includes new research exercises, as well as expanded discussion questions and exercises • Uses a question and answer format throughout Selected Contents: Underlying Building-Block Questions. How Are Computers Organized? How Are Numbers and Characters Represented in a Computer? How Are Images Represented? Where are Programs and Data Stored? What is an Operating System and What Does It Do? Software/Problem-Solving Questions. What Can Computers Do for Me? What Should I Know about the Sizes and Speeds of Computers? How Are Software Packages Developed? Networking/Distributed System Questions. How Are Computers Connected? How Do Computers Share Information, So That I Can Exchange Materials with Others Using a Computer Network? When Can I Consider My Personal Data Secure? Web/Internet Questions. How Does the Internet Work? How Do Web Applications Work? How Private Are Web Interactions? Social and Ethical Questions. How Universal Is Access to Computers and the Web? Can I Use Web-Based Materials in the Same Way as I Use Printed Sources? Can Computers Think? July 2012, 555 pp. Soft Cover, ISBN: 978-1-4398-9251-0, £44.99

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

3


Computation New!

Computers and Society

Linear Algebra and Probability for Computer Science Applications

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

Ernest Davis

Series: Chapman & Hall/CRC Textbooks in Computing

Courant Institute of Mathematical Sciences, New York University, New York, USA

Assuming little mathematical background, 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. The examples and programming assignments focus on computer science applications. The applications covered are drawn from a range of computer science areas, including computer graphics, computer vision, robotics, natural language processing, web search, machine learning, statistical analysis, game playing, graph theory, scientific computing, decision theory, coding, cryptography, network analysis, data compression, and signal processing. Features: • 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. ... May 2012, 431 pp. ISBN: 978-1-4665-0155-3, £39.95

4

“… many well-crafted, open-ended questions and projects at the end of the chapters guide student work and discussion. … shares the stories of people who have used their technical skills to positively affect the lives of many people, both directly and indirectly. I know of no other book like this one.” —Anthony J. Duben, Computing Reviews, May 2012

“… contains in-depth case studies with extensive, thought-provoking end-of-chapter questions and is appropriate for a wide variety of undergraduate and graduate majors … . The complex nature of the case studies allows them to be used in a standalone social and professional issues course, a capstone issues course, or as individual case studies that may be woven into a variety of computing or business courses. … a ‘must have’ book for all college or university libraries.” —Carol L. Spradling, PhD, Associate Professor, Northwest Missouri State University

Features: • Discusses socially relevant hot topics, such as Internet voting, poverty alleviation, social computing, and technology in healthcare • Includes exercises and projects at the end of each chapter • Offers ancillaries at: http://www.computers-and-society.com/ Visit the author’s blog at http://computing4society.blogspot.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. December 2011, 305 pp. Soft Cover, ISBN: 978-1-4398-1088-0, £44.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Computation A Concise Introduction to Programming in Python Mark J. Johnson Central College, Pella, Iowa, USA Series: Chapman & Hall/CRC Textbooks in Computing

Suitable for newcomers to computer science, this text provides a concise yet complete first course in computer science using the Python programming language. The author presents basic programming constructs early, so that beginners can use them throughout the course. He then covers objects and defines classes. Each chapter introduces a main idea through a concrete example and a series of exercises. The examples, exercises, and projects reflect a wide range of applications in biology, textual analysis, and other areas. Features: • Includes code examples, exercises, and projects from a variety of application domains • Allows instructors to easily adapt the book to their preferences, as each chapter takes approximately one class period • Introduces basic programming constructs such as functions, selection, and repetition early, allowing them to be used throughout the course • Covers object terminology in the middle of the course and class design toward the end • Presents chapters on functional and parallel programming • Provides source code, a Python dictionary, and other materials at www.central.edu/go/conciseintro/ Solutions manual available upon qualified course adoption

Selected Contents:

Introduction to Elementary Computational Modeling Essential Concepts, Principles, and Problem Solving Jose M. Garrido Kennesaw State University, Georgia, USA Series: Chapman & Hall/CRC Computational Science

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. Examples demonstrate the computation and visualization of the implemented models. Features: • Emphasizes analytical skill development and problem solving rather than programming language syntax • Discusses the design of algorithmic solutions to problems using standard flowcharts and pseudo-code • Provides the foundations of computational modeling and programming concepts that will facilitate a smooth transition to objectoriented modeling and programming • Includes summaries, examples, and problems in every chapter • Explains modularity and abstraction to help deal with large and complex models

Foundations: Computer Systems and Software. Python Program Components. Functions. Repetition: For Loops. Computer Memory: Integers. Selection: If Statements. Algorithm Design and Debugging. Repetition: While Loops. Project: Newton’s Method. Computer Memory: Floats. Simulation. Project: Visualization. Collections and Files: Strings. Building Strings. Project: ISBN Check Digits. Computer Memory: Text. Lists. Project: Program Performance. ...

Selected Contents:

December 2011, 217 pp. Soft Cover, ISBN: 978-1-4398-9694-5, £38.99

October 2011, 329 pp. Soft Cover, ISBN: 978-1-4398-6739-6, £49.99

Understanding Problem Solving: Understanding Word Problems. Problem Solving and Computing. MATLAB, R, and Octave Programming. Computational Models: Introduction To Computational Models. Computational Models and Simulation. Algorithms and Design Structures. Selection. Repetition. Data Lists. Modules. Mathematical Models: Basic Concepts. ...

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

5


Computation

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

Methods in Algorithmic Analysis Vladimir A. Dobrushkin

Series: Chapman & Hall/CRC Textbooks in Computing

Brown University, Providence, Rhode Island, USA

“This entry-level computer science textbook is intended for use in an introductory course for computer science majors or non-majors desiring an overview of the basic concepts and processes of computer programming. … 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. “

“… a remarkably beautiful book that would be a pleasure for a student to read, or for a teacher to make into a year's course.”

—SciTech Book News, February 2011

This text offers insight into how computation is used to solve a variety of important real-world problems. Taking an active learning approach, the text encourages students to explore computing ideas by running programs and testing them on different inputs. Ancillaries are available at: http://www.cs.uoregon.edu/eic/. Features: • Requires no prior experience with programming • Uses hands-on projects to teach computer science concepts and applications • Covers ideas important to encoding data • Explores how to use random numbers in a variety of algorithms, from games to scientific applications • Discusses key concepts in natural language processing, including syntax and semantics • Contains a set of exercises at the end of each chapter • Includes access to a lab manual for Ruby and RubyLabs on the book’s website 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. October 2010, 390 pp. ISBN: 978-1-4398-1262-4, £49.99

6

—Harvey Cohn, Computing Reviews, May 2010

Accompanied by more than 1,000 examples and exercises, this comprehensive, classroom-tested text presents numerous theories, techniques, and methods used for analyzing algorithms. It includes basic material on combinatorics and probability that can be used for students with weak backgrounds. It presents information on asymptotics not usually found in similar books, including Rice’s method, the Euler and Boole summation formulas, and recurrences. The author offers tutorials throughout the text on topics as diverse as continued fractions, functions of a complex variable, numerical calculations, and Stieltjes integration. Features: • Provides a solid theoretical and mathematical background on the analysis of algorithms • Includes basic material on combinatorics and probability that can be used for students with weak backgrounds • Offers tutorials on topics as diverse as continued fractions, functions of a complex variable, numerical calculations, and Stieltjes integration • Contains many problems of varying levels of difficulty and examples that are drawn from the field of computer science • Incorporates a comprehensive collection of useful formulas in an appendix Solutions manual available upon qualified course adoption

Contents: Preliminaries. Combinatorics. Probability. More about Probability. Recurrences or Difference Equations. Introduction to Generating Functions. Enumeration with Generating Functions. Further Enumeration Methods. Combinatorics of Strings. Introduction to Asymptotics. Asymptotics and Generating Functions. Review of Analytic Techniques. ... November 2009, 824 pp. ISBN: 978-1-4200-6829-0, £63.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Computation Statistical Computing in C++ and R Randall L. Eubank Arizona State University, Tempe, USA

Ana Kupresanin Lawrence Livermore National Laboratory, California, USA Series: Chapman & Hall/CRC The R Series

Parallel processing can be ideally suited for the solving of more complex problems in statistical computing. This book discusses code development in C++ and R, before going beyond to look at the valuable use of these two languages in unison. It covers linear equation solution with regression and linear models motivation, optimization with maximum likelihood and nonlinear least squares motivation, and random number generation. While the text does require a working knowledge of basic concepts in statistics and experience in programming, it does not require knowledge specific to C++ or R. Features: • Integrates both C++ and R for the solution of statistical computing problems

Machine Learning & Data Mining New!

Contemporary Artificial Intelligence Richard E. Neapolitan Northeastern Illinois University, Chicago, USA

Xia Jiang University of Pittsburgh, Pennsylvania, USA

One of the first AI texts accessible to students, this book presents strong AI methods and algorithms for solving challenging problems involving systems that behave intelligently in specialized domains such as medical and software diagnostics, financial decision making, speech and text recognition, genetic analysis, and more. The authors cover logicbased methods; probability-based methods; emergent intelligence, including evolutionary computation and swarm intelligence; data-derived logical and probabilistic learning models; and natural language understanding. Through reading this book, students discover the importance of AI techniques in computer science. Features:

• Provides an introduction to parallel processing in C++ and R

• 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 probabilitybased methods • Uses straightforward descriptions rather than complex mathematical notations

Selected Contents:

Selected Contents:

Introduction. Computer representation of numbers. A sketch of C++. Generation of pseudorandom numbers. Programming in R. Creating classes and methods in R. Numerical linear algebra. Numerical optimization. Abstract data structures. Data structures in C++. Parallel computing in C++ and R. An introduction to Unix. An introduction to R. C++ library extensions (TR1). The Matrix and Vector classes. The ranGen class. References. Index.

Introduction to Artificial Intelligence. 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. More Learning. LANGUAGE UNDERSTANDING: Natural Language Understanding. Bibliography. Index.

• Covers object-oriented programming in both languages • Uses C++ code in R and R functions in the C++ program • Presents applications of the C++ Standard Template Library for statistical computing purposes

December 2011, 556 pp. ISBN: 978-1-4200-6650-0, £57.99

August 2012, 515 pp. ISBN: 978-1-4398-4469-4, £49.99

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

7


Machine Learning & Data Mining New!

Customer and Business Analytics

A First Course in Machine Learning

Applied Data Mining for Business Decision Making Using R

Simon Rogers University of Glasgow, Scotland

Mark Girolami

Daniel S. Putler

University College London, UK

Alteryx, California, USA

Robert E. Krider Simon Fraser University, Burnaby, British Columbia, Canada Series: Chapman & Hall/CRC The R Series

Showing how data mining can improve the performance of organizations, this book and its Rbased software provide the skills and tools needed to successfully develop advanced analytics capabilities. It explains and demonstrates, via the accompanying open-source software, how advanced analytical tools can address various business problems. The authors also give insight into some of the challenges faced when deploying these tools. Readers can access a powerful, GUI-enhanced customized R package online as well as example data sets on the book’s website. Features: • Enables an understanding of the types of business problems that advanced analytical tools can address • Explores the benefits and challenges of using data mining tools in business applications • Provides online access to a powerful, GUI-enhanced customized R package, allowing easy experimentation with data mining techniques at: http://crantastic.org/packages/RcmdrPlugin-BCA • Includes example data sets at: http://www.customeranalyticsbook.com/ Selected Contents: PURPOSE AND PROCESS: Database Marketing and Data Mining. A Process Model for Data Mining—CRISP-DM. 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. Bibliography. Index. May 2012, 315 pp. Soft Cover, ISBN: 978-1-4665-0396-0, £44.99

8

A First Course in Machine Learning covers the core mathematical and statistical techniques needed to understand some of the most popular machine learning algorithms. The algorithms presented span the main problem areas within machine learning: classification, clustering and projection. The text gives detailed descriptions and derivations for a small number of algorithms rather than cover many algorithms in less detail. Referenced throughout the text and available on a supporting website (http://bit.ly/firstcourseml), an extensive collection of MATLAB®/Octave scripts enables students to recreate plots that appear in the book and investigate changing model specifications and parameter values. Requiring minimal mathematical prerequisites, the classroom-tested material in this text offers a concise, accessible introduction to machine learning. Features: • Introduces the main algorithms and ideas that underpin machine learning techniques and applications • Provides a starting point for students to further explore specific areas in the field • 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. Index. Exercises and Further Reading appear at the end of each chapter. October 2011, 305 pp. ISBN: 978-1-4398-2414-6, £34.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Programming Languages Forthcoming! Forthcoming!

Parallel Programming Using Games

Introduction to the Art of Programming Using Scala

A Hands-On Approach

Mark C. Lewis

Ashish Amresh and Ryan Anderson

Trinity University, San Antonio, Texas, USA

Arizona State University, Mesa, USA

Series: Chapman & Hall/CRC Textbooks in Computing

As application speed increases, most computer CPUs are no longer getting faster. To compensate for the loss of speed, they are now being provided in multiples instead. Using concepts and problems familiar to many students through their exposure to video games, this text provides a hands-on approach to understanding the concepts of parallel programming, the types of problems that can be solved through parallel programming, and the benefits from using it. The book includes labs, homework assignments, and projects, along with source code for each concept.

This text is the first to teach programming with Scala, one of a new generation of languages that combine the best from the procedural, functional, and object-oriented paradigms of programming. The first part of the book covers basic logic and problem decomposition and explains how to use GUIs and graphics in programs. The second part incorporates the core topics of object-orientation with a heavy focus on abstraction for constructing basic data structures, including stacks, queues, linked-lists, trees, and heaps. The text also introduces multithreading and networking.

Features:

Features:

• Covers the benefits and tradeoffs of parallel programming

• Represents the first textbook to use Scala to teach introductory programming • Progresses from true programming-in-the-small to more significant projects in later, leveraging the full benefits of object-orientation • Covers cross-platform libraries for GUIs, graphics, and XML • Introduces multithreading and networking to provide more motivating examples • Follows the development of a single, larger application in the second half of the book, demonstrating how Scala really works • Contains numerous examples of code and exercises in each chapter

• Uses video games as the key application • Discusses concurrency, threads, profiling, and synchronization • Introduces programming techniques through managed code • Provides source code for each concept, which students can transform into a parallel method of execution • Includes labs, problems, and projects Selected Contents: Concurrency Games and Concurrency Threads Profiling–Amplifier XE Nonblocking Programming Basic Synchronization More Synchronization Memory Models Parallel Tasks December 2012, c. 200 pp. ISBN: 978-1-4665-1372-3, £38.99

Solutions manual available upon qualified course adoption

Selected Contents: Introductory Concepts. Basics of Computers, Computing, and Programming. Getting to Know the Tools. Scala Basics. Conditionals. Functions. Recursion for Iteration. Arrays and Lists in Scala. Loops. Text Files. Case Classes. GUIs. Graphics. Sorting and Searching. XML. Recursion. ObjectOrientation, Abstraction, and Data Structures. Object-Orientation. Bigger Programs/New Tools. A Project (Drawing Program). Abstraction and Polymorphism. Other Collection Types. ... October 2012, c. 936 pp. Soft Cover, ISBN: 978-1-4398-9666-2, £44.99

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

9


Programming Languages Introduction to Concurrency in Programming Languages

Some Assembly Required Assembly Language Programming with the AVR Microcontroller

Matthew J. Sottile University of Oregon, Eugene, USA

Timothy G. Mattson Intel Corporation, Dupont, Washington, USA

Timothy S. Margush The University of Akron, Ohio, USA

A comprehensive treatment of assembly language programming and computer organization, this text teaches the basic system capabilities of 8-bit AVR microcontrollers. It provides a foundation for understanding compilers, linkers, loaders, and operating systems in addition to the processors themselves. The book covers function call mechanisms and parameter passing techniques, explains how to use the XPLAIN Evaluation Kit, and describes data representation for integers, floating point, and character data. Along with many examples to illustrate the assembly language concepts, each chapter includes standard questions and programming exercises. Features: • Presents a comprehensive treatment of assembly language programming and basic computer organization • Focuses on the popular Atmel AVR microcontroller series • Covers function call mechanisms and parameter passing techniques • Uses many examples to illustrate assembly language concepts • Describes data representation for integers, floating point, and character data • Explains how to use the XPLAIN Evaluation Kit • Includes standard questions and programming exercises at the end of each chapter Selected Contents: Introduction. Computer Systems. The Atmel AVR Microcontroller Family. Assembly Language. Integer Data Representation. AVR Core: Startup, Reset, and Memories. The Stack and Function Calls. Serial Communications Using the Universal Synchronous and Asynchronous Serial Receiver and Transmitter. Logical Operations. Control Structures. Interrupts. Arithmetic Operations. Arrays. Real Numbers. Programming the AVR in C. Appendix. Index. August 2011, 643 pp. ISBN: 978-1-4398-2064-3, £57.99

10

Craig E. Rasmussen Los Alamos National Laboratory, New Mexico, USA Series: Chapman & Hall/CRC Computational Science

“… this concise yet thorough book provides an outstanding introduction to the important field of concurrent programming … . It is clearly written, well organized, and cuts to the point … an informative read that I highly recommend to those interested in the design and implementation of parallel algorithms.” —Fernando Berzal, Computing Reviews, May 2010

Illustrating the effect of concurrency on programs written in familiar languages, this text focuses on novel language abstractions that truly bring concurrency into the language and aid analysis and compilation tools in generating correct programs. It also explains the complexity involved in taking advantage of concurrency with regard to program correctness and performance. Features: • Provides a solid understanding of many important concepts in concurrent/parallel computing and parallel languages • Describes the historical development of current programming languages and the common threads that exist among them • Contains several chapters on design patterns for parallel programming • Includes end-of-chapter exercises and algorithm case studies, along with quick reference guides to OpenMP, Erlang, and Cilk • Offers lecture notes, source code examples, and links to language compilers at: http://www.parlang.com/ Selected Contents: Introduction. Concepts in Concurrency. Concurrency Control. The State of the Art. High-Level Language Constructs. Historical Context and Evolution of Languages. Modern Languages and Concurrency Constructs. Performance Considerations and Modern Systems. ... September 2009, 344 pp. ISBN: 978-1-4200-7213-6, £53.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Software Engineering New!

Software Engineering Design Theory and Practice Carlos E. Otero Series: Applied Software Engineering Series

“… intended for use as a textbook for an advanced course in software design. Each chapter ends with review questions and references. … provides an overview of the software development process, something that would not be out of line in a course on software engineering … . To sum up, the intent of this book is educational on the topic of software design with emphasis on UML, software patterns and object-oriented programming. There is also enough software engineering material that makes this text also appropriate for use in a software engineering, object-oriented or software patterns lab course.” —Robert Schaefer, Research Engineer, MIT Haystack Observatory, in the New York Journal of Books

Features: • Supplies standards and guidelines for structuring high-quality code • Includes a section on engineering leadership for software designers • Contains real-world examples, review questions, lab exercises, and case studies • Takes a learn-by-doing approach to present the concepts relevant to software designers • Covers applied architectural, creational, structural, and behavioral design patterns Course notes, exercises with answers, online resources, and an instructor’s manual are available upon qualified course adoption.

Selected Contents: Introduction to Software Engineering Design. Software Design with Unified Modeling Language. Principles of Software Architecture. Patterns and Styles in Software Architecture. Principles of Detailed Design. Creational Design Patterns in Detailed Design. Structural and Behavioral Patterns in Detailed Design. Principles of Construction Design. Human–Computer Interface Design. Software Design Management, Leadership, and Ethics. June 2012, 368 pp. ISBN: 978-1-4398-5168-5, £60.99

Software Engineering The Current Practice Vaclav Rajlich Wayne State University, Detroit, Michigan, USA Series: Chapman & Hall/CRC Innovations in Software Engineering and Software Development

This text teaches students basic software engineering skills and helps them explore 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 from scratch to the final stages that lead toward software closedown. Features: • Emphasizes iterative processes of contemporary software engineering practice, including agile processes • Uses object-oriented technology and UML to illustrate software engineering concepts • Describes the phases of software change, including concept location, impact analysis, refactoring, unit testing, and frequent builds • 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: INTRODUCTION: 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. ... November 2011, 315 pp. ISBN: 978-1-4398-4122-8, £44.99

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

11


Software Engineering Software Development

Flexible, Reliable Software

An Open Source Approach

Using Patterns and Agile Development

Allen Tucker

Henrik Bærbak Christensen

Bowdoin College, Brunswick, Maine, USA

University of Aarhus, Denmark

Ralph Morelli Trinity College, Hartford, Connecticut, USA

Series: Chapman & Hall/CRC Textbooks in Computing

Chamindra de Silva

“… 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. The emphasis in the content is on practical goals—how to construct reliable and flexible software systems … . The text discusses not only what the end product should be like, but also how to get there. … I know that this book will be a great help for many of my students on the path from a novice programmer to a mature, professional software developer.”

Sahana Project, Colombo, Sri Lanka Series: Chapman & Hall/CRC Innovations in Software Engineering and Software Development

“… an excellent resource for teachers and students … . The book’s RMH Homebase case study and website 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

—Michael Kölling, originator of the BlueJ and Greenfoot environments and bestselling author of Introduction to Programming with Greenfoot

Features:

Features:

• 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 as well as rich case studies in debugging and refactoring • Offers an abundance of supporting material at: http://myopensoftware.org/textbook

• Shows how to use agile testing and patterns for software design • Discusses the benefits and liabilities of each approach • Presents 15 design patterns as well as the principles behind them • Provides source code for all examples and projects, installation guides, and other resources on www.baerbak.com

Password-protected solutions manual available upon qualified course adoption

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. Appendices. January 2011, 398 pp. ISBN: 978-1-4398-1290-7, £49.99

Pedagogical Features: • Incorporates two elaborate projects that provide learning contexts for students to acquire the necessary skills • Summarizes key concepts at the end of each chapter • Includes review questions, exercises, and selected solutions 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. May 2010, 527 pp. ISBN: 978-1-4200-9362-9, £44.99

12

Request your Complimentary Exam Copy at www.crctextbooks.com


Operating Systems

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

“… the book’s seamless integration of source code listings into the text … is the best I’ve encountered and works very well indeed. Superior and consistently followed C-language coding conventions give further evidence of the meticulousness with which this book was written. … a most outstanding and practical A-to-Z OS book. It has my highest recommendation.” —George Hacken, Computing Reviews, April 2012

“… the best operating systems book on the market … it removes the black magic and explains how to build an OS from the ground up.” —David Bafumba-Lokilo, École Polytechnique de Montréal

Features: • Covers topics in the order a designer follows when building a system • Presents the implementation details of each primitive, choosing a popular set • Includes many exercises as well as code that illustrates the functions provided by each level of the hierarchy • Integrates embedded processing into operating systems courses • Uses a widely available and inexpensive embedded platform • Emphasizes engineering principles • Use a real-world operating system, Xinu, to teach general operating systems concepts Provides software and instructions for building a laboratory at: www.xinu.cs.purdue.edu

Selected Contents: Introduction. Concurrent Execution and Operating System Services. An 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. ... September 2011, 629 pp. ISBN: 978-1-4398-8109-5, £49.99

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

“… This authoritative and exceptionally well-constructed book has my highest recommendation.” —Computing Reviews, August 2011

“… a primer for the popular Linux family of operating systems, this volume walks the reader quickly but clearly through basic operations and on into more advanced core concepts necessary for a deeper understanding of this open source software environment. … Each chapter in this volume provides illustrations, code examples, a concept summary and a collection of study exercises. Access to a companion website containing appendices and sample programs is included.” —SciTech Book News, February 2011

Features: • Explains both GUI and CLI usage, including the GNOME desktop and Bash shell • Covers commands, filters, pipelines, regular expressions, files, directories, networking protocols, and Internet security aspects • Shows how to web host with Apache, PHP, and MySQL • Offers Linux support for C-level programming • Describes GUI scripting with Ruby/GTK2 • Provides a host of ancillary materials, including appendices, links to resources, and an example code package at: http://ml.sofpower.com/ Selected Contents: A 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 Calls. Interprocess and Network Communication. GUI Programming with Ruby/GTK2. September 2010, 439 pp. Soft Cover, ISBN: 978-1-4398-0686-9, £32.99

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

13


Computational Biology Second Edition of a Bestseller

Statistics and Data Analysis for Microarrays Using R and Bioconductor

Dynamics of Biological Systems Michael Small Hong Kong Polytechnic University, Kowloon

Second Edition

Series: Chapman & Hall/CRC Mathematical & Computational Biology

Sorin Dra˘ghici Wayne State University, Detroit, Michigan, USA Series: Chapman & Hall/CRC Mathematical & Computational Biology

Praise for the Bestselling First Edition: … an excellent choice to be used as a textbook for a graduate-level bioinformatics course. —Journal of Statistical Computation and Simulation, Vol. 74

Now using R and Bioconductor, the second edition of this bestselling text has been expanded with 14 new chapters and 600 more pages. Illustrated in color, it 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, it takes a hands-on, examplebased approach that explains the basics of R and microarray technology. Features: • Covers background material for those with a limited mathematical, genetic, or molecular biology foundation • Presents an in-depth treatment of the statistical and data analysis aspects used in microarrays and bioinformatics • Provides the option of learning R in parallel with learning about data analysis • Includes a CD with R code Selected Contents:

Features: • Uses complex systems, complex networks, and dynamics to derive models and computer simulations of various biological systems • Presents a wide range of models, from ECG signal processing to pandemic modelling to population dynamics • Requires no advanced knowledge of mathematics • Includes exercises as well as computational and research projects at the end of each chapter • Offers MATLAB® implementations of many key algorithms and various case studies on the author’s website Solutions manual available upon qualified course adoption

Introduction. 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. ... December 2011, 1036 pp. ISBN: 978-1-4398-0975-4, £57.99

14

Through an extensive tour of various biological systems, this text introduces computational methods for simulating spatial diffusion processes in excitable media, such as the human heart, as well as mathematical tools for dealing with systems of nonlinear ordinary and partial differential equations. The mathematical models and computer simulations offer insight into the dynamics of temporal and spatial biological systems, including cardiac pacemakers, artificial electrical defibrillation, pandemics, pattern formation, flocking behaviour, the interaction of autonomous agents, and hierarchical and structured network topologies. Tools from complex systems and complex networks are also presented for dealing with real phenomenological systems.

Selected Contents: Biological Systems and Dynamics. Population Dynamics of a Single Species. Observability of Dynamic Variables. Biomedical Signal Processing. Computational Neurophysiology. Mathematical Neurodynamics. Population Dynamics. Action, Reaction and Diffusion. Autonomous Agents. Complex Networks. Conclusion. References. August 2011, 284 pp. ISBN: 978-1-4398-5336-8, £49.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Computational Biology Biological Computation Ehud Lamm Tel-Aviv University, Israel

Cryptography Cryptology Classical and Modern with Maplets Richard E. Klima

Ron Unger

Appalachian State University, Boone, North Carolina, USA

Bar-Ilan University, Ramat-Gan, Israel

Neil P. Sigmon

Series: Chapman & Hall/CRC Mathematical & Computational Biology

Radford University, Virginia, USA

“This book expertly presents fundamental concepts of molecular biology in its first chapter, and then goes on to develop many computing classics from biology. … The exercises flex the imagination, the definitions are clear and precise, and the explanations are unusually powerful. I have been searching for a text like this for years, and now I look forward to using it.” —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. Features: • Covers cellular automata, evolutionary computation, artificial neural networks, and molecular computation • Presents easy-to-follow explanations of several important proof techniques as well as detailed explanations of all derivations • Provides all necessary biological background • Introduces emerging topics, such as swarm intelligence and artificial immune systems • Includes plenty of theoretical and programming exercises in each chapter • Contains suggestions for further reading on each topic, along with an annotated bibliography • Offers PowerPoint slides for instructors at: http://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. May 2011, 343 pp. ISBN: 978-1-4200-8795-6, £49.99

Series: Discrete Mathematics and Its Applications

In a clear, nontechnical manner, this text explains how fundamental mathematical concepts are the bases of cryptographic algorithms. It covers the Enigma machine and Navajo code used during World War II, describes the implementation and cryptanalysis of classical ciphers, and gives straightforward explanations of the AES, publickey ciphers, and message authentication. Features: • Illustrates the importance of cryptology in cultural and historical contexts, including the Enigma machine and Navajo code • Describes the implementation and cryptanalysis of classical ciphers, such as substitution, transposition, shift, affine, Vigenère, and Hill • Gives straightforward explanations of the AES, public-key ciphers, and message authentication • Requires no prior programming knowledge or background in college-level mathematics • Integrates the easy-to-use technology of Maplets throughout • Offers material for teaching nonmathematical courses • Provides exercises in each chapter section, including some that can be used as projects • Presents all Maplet-based examples and exercises in separate sections • Supplies online access to Maplet exercises and all of the Maplets used in the text Solutions manual available with qualifying course adoption

Selected Contents: Introduction to Cryptology. Substitution Ciphers. Transposition Ciphers. The Enigma Machine and Navajo Code. Shift and Affine Ciphers. Alberti and Vigenère Ciphers. Hill Ciphers. RSA Ciphers. ElGamal Ciphers. The Advanced Encryption Standard. Message Authentication. Bibliography. Hints or Answers to Selected Exercises. June 2012, 548 pp. ISBN: 978-1-4398-7241-3, £49.99

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

15


Cryptography Introduction to Cryptography with OpenSource Software

A Multidisciplinary Introduction to Information Security

Alasdair McAndrew Victoria University, Melbourne, Australia

Edited by

Stig F. Mjølsnes Norwegian University of Science & Technology, Trondheim

Series: Discrete Mathematics and Its Applications

Series: Discrete Mathematics and Its Applications

“It would make a great first course in cryptography … . Overall this is an excellent book. … The pattern of mixing some theory followed by some practice is good at keeping the less theory-minded reader rolling along … a really good book. If you want to master cryptography, this is a great place to start.”

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.

—Mike James, IProgrammer, August 2011

The text 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. Each chapter includes recommendations for further reading and websites that provide more in-depth information.

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 provides a highly practical learning experience by progressing at a gentle pace, keeping mathematics at a manageable level, and including numerous end-of-chapter exercises.

Features:

Features:

• Covers the basic components of hardware and software security, including cryptographic algorithms

• Teaches the key concepts in a practical way via Sage, an open-source algebraic mathematics software

• Discusses communication and network security, intrusion detection systems, access policy and control, and risk and vulnerability analysis

• Includes examples that can be implemented on any computer—enabling students to run their own programs

• Examines information security policies in different organizations

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

• Includes a bibliography, recommendations for further reading, and websites that provide more in-depth information in each chapter Selected Contents: Introduction. 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. November 2011, 348 pp. ISBN: 978-1-4200-8590-7, £57.99

16

• Includes exercises at the end of every chapter Selected Contents: 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. Appendices. May 2011, 461 pp. ISBN: 978-1-4398-2570-9, £49.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Cryptography Introduction to Cryptography with Mathematical Foundations and Computer Implementations Alexander Stanoyevitch California State University– Dominguez Hills, Carson, USA Series: Discrete Mathematics and Its Applications

“… a particularly good entry in a crowded field. … Stanoyevitch’s writing style is clear and engaging, and the book has many examples illustrating the mathematical concepts throughout. … One of the many smart decisions that the author made was to also include many computer implementations and exercises at the end of each chapter. … It is also worth noting that he has many MATLAB® implementations on his website. … will be on the short list of books that I would recommend to a student wanting to learn about the field.” —MAA Reviews, May 2011

Features: • Covers elliptic curve cryptography • Offers complete coverage of all the needed material on number theory and abstract algebra • Presents algorithms in pseudo-code • Contains background material and extensive exercise solutions in the appendices • Includes both standard and computer exercises as well as numerous worked examples • Incorporates sample programs and platform-independent applets at: www.csudh.edu/math/astanoyevitch/ cryptography.html

Access Control, Security, and Trust A Logical Approach Shiu-Kai Chin and Susan Older Syracuse University, New York, USA Series: Chapman & Hall/CRC Cryptography and Network Security Series

“Focusing on the logic of access control, more than on actual computer programming, this volume is designed as a textbook for undergraduates. Each chapter ends with exercises and a concise description of expected learning outcomes. The authors, both in electrical engineering and computer science at Syracuse University, also teach an intensive summer course on access control for hundreds of ROTC cadets. It contains a useful selection of tables and figures, a notation index and a brief bibliography.” —SciTech Book News, February 2011

Features: • Employs propositional modal logic to explain access control principles • Shows how to perform derivations and calculations with mathematical precision and accuracy • Focuses on reference monitors in security • Presents numerous examples ranging from the control of physical memory in hardware to multilevel security policies • Includes exercises that deal with application, analysis, synthesis, and evaluation Solutions manual available upon qualified course adoption

Selected Contents:

An 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 (DES). Some Number Theory and Algorithms. Public Key Cryptography. Finite Fields in General and GF(28) in Particular. The Advanced Encryption Standard (AES) Protocol. Elliptic Curve Cryptography. Appendices.

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. A summary and further reading appear at the end of each chapter.

August 2010, 669 pp. ISBN: 978-1-4398-1763-6, £44.99

July 2010, 351 pp. ISBN: 978-1-58488-862-8, £59.99

Solutions manual available upon qualified course adoption

Selected Contents:

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

17


Computer Graphics & Visualization Programming GPS and OpenStreetMap Applications with Java

Computer Graphics Theory and Practice Jonas Gomes and Luiz Velho Institute of Pure and Applied Mathematics, Rio de Janeiro, Brazil

The RealObject Application Framework

Mario Costa Sousa University of Calgary, Alberta, Canada

Computer Graphics: Theory and Practice provides a complete and integrated introduction to this area. The book only requires basic knowledge of calculus and linear algebra, making it an accessible introductory text for students. It focuses on conceptual aspects of computer graphics, covering fundamental mathematical theories and models and the inherent problems in implementing them. In so doing, the book introduces readers to 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. This book, along with its companion Design and Implementation of 3D Graphics Systems, gives readers a full understanding of the principles and practices of implementing 3D graphics systems. Features: • 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 • Includes 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. The Illumination Equation. Appendix. Bibliography. April 2012, 544 pp. ISBN: 978-1-56881-580-0, £56.99

18

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 easily be adapted to the readers’ needs and locality. All components are brought together in a sample computer-game application modeled on the board game, Scotland Yard. Features: • 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 • Includes access to open source software code at: http://www.roaf.de/ 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. REALOBJECTS: Objects in Motion. Processing Digital Maps. Making Maps Navigable. Navigating Objects. ROAPPS: REALOBJECT 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. January 2012, 248 pp. Soft Cover, ISBN: 978-1-4665-0718-0, £38.99

Request your Complimentary Exam Copy at www.crctextbooks.com


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

Steve Cunningham Brown Cunningham Associates, Coralville, Iowa, USA

“Shaders are an essential tool in today’s computer graphics, from films and games to science and industry. In this excellent book, Bailey and Cunningham not only clearly explain the how and why of shaders, but they provide a wealth of cutting-edge shaders and development tools. If you want to learn about shaders, this is the place to start!” —Andrew Glassner, originator and editor of the Graphics Gems series

“Mike and Steve have filled their new edition with such a variety of interesting examples that you'll be running to your computer to begin writing your own shaders.” —Ed Angel, Professor Emeritus of Computer Science, University of New Mexico

Highly recommended by CHOICE (December 2009), the first edition of Graphics Shaders: Theory and Practice has proven to be a popular choice for shaders courses at universities and conferences. Incorporating changes in the OpenGL syntax, this second edition provides an engaging and accessible introduction to the latest developments in graphics shaders. The authors thoroughly explain the concepts, use sample code to describe details of the concepts, and then challenge readers to extend the examples. Sample source code for many of the book’s examples is available at: http://www.cgeducation.org/. Selected Contents: The Fixed-Function Graphics Pipeline. OpenGL Shader Evolution. Fundamental Shader Concepts. Using glman. The GLSL Shader Language. Lighting. Vertex Shaders. Fragment Shaders and Surface Appearance. Surface Textures in the Fragment Shader. Noise. Image Manipulation with Shaders. Geometry Shader Concepts and Examples. Tessellation Shaders. The GLSL API. Using Shaders for Scientific Visualization. Serious Fun. Appendices. November 2011, 518 pp. ISBN: 978-1-56881-434-6, £49.99

3D Graphics for Game Programming JungHyun Han Korea University, Seoul

“… presents the essential foundations of graphics programming that every serious game programmer needs in a straightforward no-nonsense style that gets right to the point. I highly recommend this book for anyone who wants to program 3D games.” —Jesse Schell, CEO of Schell Games and professor of entertainment technology at Carnegie Mellon University

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

Features: • Presents the theory and mathematics of real-time graphics and its applications to game design • Provides boxed MathNotes that can be accessed as required without interrupting the flow of the text • Includes homework problems and more than 300 detailed figures • Offers ancillary material on a companion website Solutions manual available upon qualified course adoption

Selected Contents: Modeling in Game Production. Vertex Processing. Rasterization. Fragment Processing and Output Merging. Illumination and Shaders. Parametric Curves and Surfaces. Shader Models. Image Texturing. Bump Mapping. Advanced Texturing. Character Animation. Physics-Based Simulation. February 2011, 330 pp. ISBN: 978-1-4398-2737-6, £49.99

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

19


Computer Graphics & Visualization Computer Graphics Through OpenGL®

The Art of Image Processing with Java

From Theory to Experiments Sumanta Guha

Kenny A. Hunt University of Wisconsin, La Crosse, USA

Asian Institute of Technology, Thailand

“… I would recommend this book to any computer science faculty member desiring to create a second graphics course that could be introduced at the sophomore or junior level, prior to the 3D computer graphics course.”

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

—Donald H. House, Journal of Mathematics and the Arts, March 2012

“From processing digital images based on light, color, and more, Kenny Hunt gives a complete and comprehensive guide and overview of just what Java can do with plenty of advanced techniques on editing and alterations as well as compression. … strongly recommended… .” —Midwest Book Review, January 2011

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. Each chapter includes problems for students, and an online supplement offers instructor resources. Features: • Illustrates how to acquire, archive, and display digital images for specific applications, including medicine, biology, environmental science, robotics, and astronomy • 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. Digital Images in Java. Point Processing Techniques. Regional Processing Techniques. Geometric Operations. Image Printing and Display. Frequency Domain. Image Compression. Morphological Image Processing. Advanced Programming. Appendices. November 2010, 300 pp. ISBN: 978-1-56881-717-0, £45.99

20

This comprehensive introduction to computer graphics uses an active learning style to teach key concepts. Equally emphasizing theory and practice, the book provides an understanding not only of the principles of 3D computer graphics, but also the use of the OpenGL API to program 3D applications. It includes 140 programs with 200 experiments based on them as well as 600 exercises, 100 worked examples, and nearly 600 color illustrations. A solutions manual and test bank are available for upon qualifying course adoption. Source code, installation guides, the book’s figures, and an interactive discussion forum can be found at www.sumantaguha.com. Features: • Covers the foundations of 3D computer graphics, including animation, visual techniques, and 3D modeling • Introduces classical and programmable pipelines in OpenGL • Integrates code with the theory to give students a hands-on appreciation of the subject • Includes 140 programs with 200 experiments based on them • Contains 600 exercises, 100 worked examples, and nearly 600 color illustrations • Requires no previous knowledge of computer graphics • Offers downloadable multiplatform programs in C++ and OpenGL, installation guides, and an interactive discussion forum at www.sumantaguha.com Solutions manual and test bank questions available upon qualified course adoption

Selected Contents: Hello World. Tricks of the Trade. Movers and Shapers. Geometry for the Home Office. Making Things Up. Lights, Camera, Equation. Pixels, Pixels, Everywhere. Anatomy of Curves and Surfaces. The Projective Advantage. The Time Is Pipe. Appendices. September 2010, 888 pp. ISBN: 978-1-4398-4620-9, £49.99

Request your Complimentary Exam Copy at www.crctextbooks.com


Computer Graphics & Visualization Interactive Data Visualization Foundations, Techniques, and Applications Matthew Ward Worcester Polytechnic Institute, Massachusetts, USA

Georges Grinstein University of Massachusetts, Lowell, USA

Daniel Keim University of Konstanz, Steisslingen, Germany

A CHOICE Outstanding Academic Title “With chapters on elaborating on the importance of visualization, understanding the data without it, the relation to the human eyes and mind, what technology has brought in the avenues of displaying and interacting data, no concept is really left untouched. Enhanced with example data, samples, a history of computer graphics, and more, Interactive Data Visualization is a solid text to have on hand for any community or college library collection.” —James A. Cox, The Midwest Book Review, August 2010

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. Selected Contents: Introduction. Data Foundations. Human Perception and Information Processing. Visualization Foundations. Visualization Techniques for Spatial Data. Visualization Techniques for Geospatial Data. Visualization Techniques for Multivariate Data. Visualization Techniques for Trees, Graphs, and Networks. Text and Document Visualization. Interaction Concepts. Interaction Techniques. Designing Effective Visualizations. Comparing and Evaluating Visualization Techniques. Visualization Systems. Research Directions in Visualization. June 2010, 513 pp. ISBN: 978-1-56881-473-5, £59.99

Computer Game Design & Development New!

Programming 2D Games Charles Kelly Associate Professor, Monroe County Community College, Michigan, USA

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

Selected Contents: Getting Started. Windows Programming Fundamentals. Introduction to DirectX. The Game Engine. Sprites and Animation. Collisions and Entities. Sound. Text. Enhanced Appearance. Tiled Games. Building a Complete Game. Network Programming. June 2012, 438 pp. ISBN: 978-1-4665-0868-2, £38.99

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

21


Computer Game Design & Development New!

Game Development for iOS with Unity3D

Unreal Game Development Ashish Amresh Arizona State University, Mesa, USA

Jeff W. Murray

Alex Okita

Psychic Parrot Games, Ottawa, Ontario, Canada

Float Hybrid Entertainment, San Francisco, California, USA

Game Development for iOS with Unity3D takes students through the complete process of Unity iOS game development. It presents production-proven techniques and valuable tips and tricks needed to plan, build, test, and launch games for the iPhone, iPod, and iPad. It walks students through all the necessary procedures, including how to publish games to the App Store.

“Unreal Game Development teaches game makers the basics of designing a computer game, and requires only a basic knowledge of computers … . From using 3D tools and 2D image-editing choices to programming and using design tools, this book teaches how to use Unreal Engine 3 to design a computer game … . Very highly recommended!”

The text begins with advice on writing a game design document and getting Apple developer certification. It then covers the build processes of the Unity Remote application and explains how to use the Unity editor. After focusing on debugging and optimization, the author describes tips for designing and marketing a successful App Store page. The book also features two iOS-ready games to explore, adapt, and play.

Using Unreal Engine 3, the authors teach aspiring game makers the fundamentals of designing a computer game. The only prerequisite is a basic working knowledge of computers. This book mirrors the curriculum used at a six-week summer program organized at New York University and Arizona State University. Students enter with no prior knowledge of game making whatsoever, and through the course of six intensive weeks, they finish as teams of budding game developers who have already completed fully functional games with their own designs, code, and art.

Features: • 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 Selected Contents: Designing Your Game. Getting Set Up for iOS and Development. Setting Up Unity and Your Mac for iOS Development. Basics of the Unity Editor. 3D Graphics for Unity iOS Games. Making a Game for Unity iOS #1 — The Ball Game. Making a Game for Unity iOS #2 — Happy Sparrows Game. Debugging and Script Optimization. Optimizing Assets for File Size and Performance. Publishing to the App Store. Thinking Outside the Box.

—The Midwest Book Review

Selected Contents: Design. Coming Up with a Plan. Level Design. Leading the Player with Lighting. Terrain. Managing Levels. Events and Triggers: What’s Kismet? User Interfaces and Menus. Refining Your Work. Special Effects and Cutscenes. Animated Characters in Cutscenes. Art. Art, The Unreal Way. 3D Design and Autodesk 3D Studio Max. 2D Images and GIMP. Using Max with GIMP. Process and Methods. Making Better Materials. Props and Objects. Weapons. Cascade and Particle Systems. Character Rigging. Character Animation. The AnimTree Editor. Programming. Why Learn Unreal? Introduction to Unreal Script. Mutators. Mods. Weapons and Characters. AI. Finishing Touches and UDK. August 2010, 500 pp. Soft Cover, ISBN: 978-1-56881-459-9, £39.99

August 2012, 280 pp. Soft Cover, ISBN: 978-1-4398-9219-0, £31.99

22

Request your Complimentary Exam Copy at www.crctextbooks.com


Professor Douglas Comer Purdue University, Department of Computer Science, West Lafayette, Indiana, USA

“the best operating systems book on the market … removes the black magic and explains how to build an OS from the ground up.” —David Bafumba-Lokilo, École Polytechnique de Montréal

• Covers topics in the same order a designer follows when building a system • Uses the real-world operating system— Xinu—to teach general OS concepts • Includes software, code, and instructions for building a laboratory at www.xinu.cs.purdue.edu

September 2011, ISBN: 978-1-4398-8109-5

See page 13 for more information


To get started now, visit us at: www.crctextbooks.com/custompub

CRC Custom Publishing

Create Custom Textbooks with Ease

! New

www.crctextbooks.com

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

Page 22

www.crctextbooks.com

Page 15

+44 (0) 1235 400 524 • orders@crcpress.com

Page 11


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.