You are on page 1of 73

Cengage Learning Asia Pte Ltd

5 Shenton Way #01-01 UIC Building


Singapore 068808
Tel: (65) 6410 1200 • Fax: (65) 6410 1208
Email: asia.info@cengage.com • Website: www.cengageasia.com

© 2009 Cengage Learning.


ALL RIGHTS RESERVED. No part of this work covered by the copyright herein may be reproduced, transmitted, stored, or used in any form or by any means graphic, electronic, or mechanical, including but not limited to photocopying,
recording, scanning, digitizing, taping, web distribution, information networks, or information storage and retrieval systems, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without the prior
written permission of the publisher.

Cvr Size:165x241mm 4cx4c


Cvr_CS_SL.indd 1 4/28/09 11:35:46 AM
Contact Information

Cengage Learning delivers highly customized


learning solutions for colleges, universities,
instructors, students, libraries, government agencies,
corporations and professionals around the world.
These solutions are delivered through specialized
content, applications and services that foster
academic excellence and professional development,
as well as provide measurable learning outcomes to
its customers

Our Mission Statement


Learning Solutions for diverse education and training needs. Our customers believe in advancement through
education. As a trusted partner, Cengage Learning
engages faculty, students, and institutions in
developing and delivering the results-oriented print
and digital materials they need.

SINGAPORE - Regional Headquarters Visit www.cengageasia.com for more information.


Cengage Learning Asia Pte Ltd Cengage Learning – Learning Solutions for diverse
5 Shenton Way education and training needs.
01-01 UIC Building
Singapore 068808 With a staff strength of 260 located across Asia
Tel (65) 6410 1200 and coordinated by a regional office in Singapore,
Fax (65) 6410 1208 Cengage Learning Asia aims to be the premier
e-mail asia.info@cengage.com information provider within the markets we serve.
JAPAN
Cengage Learning K. K.
CHINA No 2 Funato Building 5th Floor
Cengage Learning Asia Pte Ltd 1-11-11 Kudankita,
(Beijing Representative Office) Chiyoda-ku,
Room 1201 South Tower C Tokyo 102-0073, Japan
Raycom Info Tech Park Tel (81) 3 3511 4390
No 2 Kexueyuan South Road, Haidian District Fax (81) 3 3511 4391
Beijing 100080, China e-mail asia.infojapan@cengage.com
Tel (86) 10 8286 2095/2096/2097
Fax (86) 10 8286 2089
e-mail asia.infochina@cengage.com KOREA
Cengage Learning Korea Ltd TAIWAN
Suite 1801, Seokyo Tower Building, Cengage Learning Asia Pte Ltd
HONG KONG 353-1, 22 Seokyo-Dong Mapo-Gu, (Taiwan Branch)
Cengage Learning Hong Kong Limited Seoul 121-837, 9F-1 No.87 Cheng Chou RD
Unit 808-810 8/F, Tins Enterprises Centre Korea Ta Tong District
777 Lai Chi Kok Road, Tel (82) 2 322 4926 103 Taipei
Cheung Sha Wan, Kowloon, Fax (82) 2 322 4927 Taiwan
Hong Kong e-mail asia.infokorea@cengage.com Tel (886) 2 2558 0569
Tel (852) 2612 1833 Fax (886) 2 2558 0360
Fax (852) 2408 2498 e-mail asia.infotaiwan@cengage.com
e-mail asia.infohongkong@cengage.com MALAYSIA www.cengage.tw
Cengage Learning Asia Pte Ltd
(f.k.a. Thomson Asia Pte Ltd)
INDIA & THE INDIA SUB-CONTINENT (Malaysia Branch) Incorporated in Singapore THAILAND/INDOCHINA
Cengage Learning India Private Limited Co. Reg No: 993622K Cengage Learning (Thailand) Limited
418 F.I.E. Patparganj No. 4 Jalan PJS 11/18, Bandar Sunway 408/32 Phaholyothin Place Building
New Delhi 110 092 46150 Petaling Jaya 8th Floor, Phaholyothin Avenue,
India Selangor, Samseannai, Phayathai
Tel (91) 11 4364 1111 Malaysia Bangkok 10400,
Fax (91) 11 4364 1100 Tel (60) 3 5636 8351/52 Thailand
e-mail asia.infoindia@cengage.com Fax (60) 3 5636 8302 Tel (66) 2 619 0433-5
www.cengage.co.in e-mail asia.infomalaysia@cengage.com Fax (66) 2 619 0436
e-mail asia.infothailand@cengage.com

INDONESIA PHILIPPINES/OCEANIA
PT Cenage Learning Indonesia Cengage Learning Asia Pte Ltd VIETNAM
Ruko Sentral Bisnis Tanjung Duren (Philippine Branch) Cengage Learning Asia Pte Ltd
Blok B No. 20 Unit 2104-2106 Raffles Corporate Center (Vietnam Representative Office)
Jl. Tanjung Duren Raya Emerald Avenue Suite 1011, 10th Floor Zen Plaza
Jakarta Barat 11470 Ortigas Center, Pasig City 54-56 Nguyen Trai Street, District 1,
Indonesia Philippines 1605 Ho Chi Minh City, Vietnam
Tel (62) 21 565 3219 Tel (63) 2 915 5290 Tel (848) 39257 880
Fax (62) 21 565 2914 Fax (63) 2 915 1694 Fax (848) 39257 881
e-mail asia.infoindonesia@cengage.com e-mail asia.infophilippines@cengage.com e-mail asia.infovietnam@cengage.com

For territories not listed above, please contact Cengage Learning in Singapore

IFC-IBC_CS_SL.indd 1 4/28/09 11:40:05 AM


01-68_09CSci_SL_Cat:Layout 1 4/28/09 4:44 PM Page 1

CONTENTS

CONTENTS
COMPUTER SCIENCE
INTRODUCTION TO COMPUTING
Invitation to Computer Science, C++ version, International Edition, Fourth Edition | Schneider/Gersting 3
Invitation to Computer Science, Java Version, Third Edition | Schneider/Gersting 3
Connecting with Computer Science | Anderson/Ferro/Hilton 4
Foundations of Computer Science, Second Edition | Forouzan/Mosharraf 4

CS1 - INTRODUCTION TO PROGRAMMING


Java
Java Programming: Guided Learning with Early Objects | Malik/Burton NEW TITLE 5
Java Programming: From Problem Analysis to Program Design, Fourth Edition | Malik NEW EDITION 6
Java Programming: Program Design Including Data Structures | Malik 6
C++
Programming with Visual C++: Concepts and Projects | Allert NEW TITLE 7
Introduction to C++ Programming: Brief Edition | Malik NEW TITLE 8
C++ Programming: From Problem Analysis to Program Design, Fourth Edition | Malik NEW EDITION 9
C++ Programming: Program Design Including Data Structures, Fourth Edition | Malik NEW EDITION 10
C
C# Programming: From Problem Anaylsis to Program Design, Second Edition | Doyle 11
Computer Science: A Structured Programming Approach Using C, Third Edition | Forouzan/Gilberg 12
A First Book in Ansi C, Fourth Edition | Bronson 12
Python
Fundamentals of Python: From First Programs through Data Structures | Lambert NEW TITLE 13

CS 2 - DATA STRUCTURES
Data Structures Using C++, Second Edition | Malik NEW EDITION 14
Data Structures Using Java | Malik 15
Data Structures and Algorithms in C++, Third Edition | Drozdek 15
Data Structures and Algorithms in Java, Third Edition | Drozdek NEW EDITION 16
Data Structures: A Pseudocode Approach with C, Second Edition | Gilbert/Forouzan 17
Modern Software Development using Java, Second Edition | Tymann/Schneider 18
Modern Software Development using C#.NET | Wiener 18

OPERATING SYSTEMS
Principles of Operating Systems | Stuart 19
Understanding Operating Systems, Fifth Edition | McHoes/Flynn 20

SOFTWARE ENGINEERING
Model-Driven Software Development with UML and Java | Lano NEW TITLE 21
Software Engineering and Testing | Agarwal NEW TITLE 22
Software Testing | Koirala/Flynn NEW TITLE 23

ARTIFICIAL INTELLIGENCE
Artificial Intelligence: A Systems Approach | Jones 24
Roboitics | Appin Knowledge Solutions 25

OTHER ADVANCED TOPICS


Building Parallel Programs: SMPs, Clusters & Java | Kaminsky NEW TITLE 26
Building Interactive Systems: Principles for Human-Computer Interaction | Olsen NEW TITLE 27
Programming Languages: Principles and Practice, Second Edition | Louden 28
Compiler Construction: Principles and Practice | Louden 28
Human-Computer Interaction | Smith-Atakan 28
Database Principles and Design, Second Edition | Ritchie 29
FastTrack Computer Hardware | Blundell 29
Introduction to the Theory of Computation, Internatonal Edition, Second Edition | Sipser 30
Assembly Language and Computer Architecture Using C++ and Java | Dos Reis 30
Active Services: Concepts, Architecture and Implementation | Zhang/Fang 31
Ordering Chaos: Regulating The Internet | Ang 32

www.cengage.com/coursetechnolog 1
01-68_09CSci_SL_Cat:Layout 1 4/28/09 4:57 PM Page 2

PROGRAMMING
CONTENTS

CONCEPTS
Just Enough Programming Logic and Design | Farrell NEW TITLE 33
Programming Logic and Design Comprehensive, Fifth Edition | Farrell 34
Programming Logic and Design Introductory, Fifth Edition | Farrell 35
C++ Programs to Accompany Programming Logic and Design | Smith NEW TITLE 36
Java Programs to Accompany Programming Logic and Design, Second Edition | Smith NEW EDITION 36
Visual Basic Programs to Accompany Programming Logic and Design | Smith NEW EDITION 37
An Object-Oriented Approach to Programming Logic and Design, Second Edition | Farrell 37
Visual Logic | Vanguard 38

PROGRAMMING
Java
Java Programming,International Edition Fifth Edition | Farrell NEW EDITION 39
Learn to Program Java, Third Edition | Poo 40
Learn to Program Java User Interface | Poo 41
Java Actually: A Comprehensive Primer in Java Programming | Mughal 42
Java Actually: A First Course in Programming | Mughal/Hamre/Rasmussen 42
Object-Oriented Java
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition | Bronson 43
An Introduction to Java Programming and Object-Oriented Application Development | Johnson 43
C++
C++ Projects: Programming with Text-Based Games | Dawson NEW TITLE 44
Beginning C++ Through Game Programming, Second Edition | Dawson 45
Just Enough C/C++ Programming | Lecky-Thompson 45
An Introduction to Programming with C++, Fifth Edition | Zak 46
A First Book of C++, From Here to There, Third Edition | Bronson 46
C++ for Engineers and Scientists, Second Edition | Bronson NEW EDITION 47
Object-Oriented C++
Object-Oriented Programming Using C++, Fourth Edition | Farrell NEW EDITION 48
C#
Microsoft® Visual C# 2008 Comprehensive: An Introduction to Object-Oriented Programming | Farrell NEW TITLE 49
Microsoft® Visual C# 2008: An Introduction to Object-Oriented Programming, Third Edition | Farrell NEW EDITION 50
Python
An Introduction to Programming with Python | Dawson 51
Python for Rookies | Mount 51
Visual Basic
Clearly Visual Basic: Programming with Visual Basic 2008 | Zak NEW TITLE 52
Programming with Microsoft Visual Basic® 2008: An Object Oriented Approach, International Edition, Third Edition | Ekedahl NEW EDITION 53
Programming with Microsoft® Visual Basic® 2008, International Edition, Fourth Edition | Zak NEW EDITION 54
Microsoft® Visual Basic® 2005 Reloaded, Advanced | Johnson/Zak 55
Visual Basic® 2008: Reloaded, Third Edition | Zak 55
Alice
Alice 2.0: Introductory Concepts and Techniques | Shelly/Cashman 56
An Introduction to Programming Using Alice | Herbert 56
Alice in Action with Java | Adams 57
Alice in Action: Computing Through Animation | Adams 57

WEB DEVELOPMENT
ASP .NET Programming with C# & SQL Server | Gosselin NEW TITLE 58
Principles of Internet Marketing: New Tools and Methods for Web Developers, International Edition | Miletsky NEW TITLE 59
Principles of Web Design, Fourth Edition | Sklar 60
JavaScript, Fourth Edition | Gosselin 61
Introduction to ASP.NET 2.0, Third Edition | Kalata 62
Dynamic Web Application Development Using XML and Java | Parsons 63
Dynamic Web Application Development Using PHP and MySQL | Stobart/Parsons 63
PHP Programming with MySQL | Gosselin 64
Apache Web Server | Sawicki 64

INDEXES
Author Index 65
Title Index 67

2 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 3

INVITATION TO COMPUTER SCIENCE,

INTRODUCTION TO COMPUTING
C++ VERSION, INTERNATIONAL EDITION, FOURTH EDITION
G. Michael Schneider & Judith L. Gersting
ISBN:1-4239-0142-8 ISBN-13: 978-1-4239-0142-6 768 pp, ©2007

KEY FEATURES
• presents a breadth-first introduction to computer science, including
coverage of hardware, software, applications, and ethics
• prepares students for an introductory programming course through
two chapters on the C++ language
• offers updated content throughout each chapter, including revised
feature boxes, newly redesigned Laboratory Experiences, and expanded
end-of-chapter material
• provides hands-on practice through an optional Lab Manual containing
23 laboratory projects that map directly to the main text
CONTENTS
An Introduction to Computer Science. Algorithm Discovery and Design. The Efficiency of Algorithms. The Building
Blocks: Binary Numbers, Boolean Logic, and Gates. Computer Systems Organization. An Introduction to System
Software and Virtual Machines. Computer Networks, the Internet, and the World Wide Web. Introduction to High-
level Language Programming. The Tower of Babel. Compilers and Language Translation. Models of Computation.
Simulation and Modeling. Electronic Commerce and Information Security. Artificial Intelligence. Making Decisions
about Computers, Information, and Society.

INVITATION TO COMPUTER SCIENCE,


JAVA VERSION, THIRD EDITION
G. Michael Schneider & Judith L. Gersting
ISBN: 1-4239-0143-6 ISBN-13: 978-1-4239-0143-3 768 pp, ©2007

KEY FEATURES
• presents a breadth-first introduction to computer science, including
coverage of hardware, software, applications, and ethics
• prepares students for an introductory programming course through
two chapters on the Java language
• offers updated content throughout each chapter
• provides hands-on practice through an optional Lab Manual containing
23 laboratory projects that map directly to the main text
CONTENTS
An Introduction to Computer Science. Algorithm Discovery and Design. The Efficiency of Algorithms. The Building
Blocks: Binary Numbers, Boolean Logic, and Gates. Computer Systems Organization. An Introduction to System
Software and Virtual Machines. Computer Networks, the Internet, and the World Wide Web. Introduction to High-
level Language Programming. The Tower of Babel. Compilers and Language Translation. Models of Computation.
Simulation and Modeling. Electronic Commerce and Information Security. Artificial Intelligence. Making Decisions
about Computers, Information, and Society.

www.cengage.com/coursetechnology 3
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 4

INTRODUCTION TO COMPUTING

CONNECTING WITH
COMPUTER SCIENCE
Greg Anderson, David Ferro & Robert Hilton
ISBN: 0-619-21290-X ISBN-13: 978- 0-619-21290-2 760 pp, ©2006

KEY FEATURES
• maps fully to the CC 2001 recommendations for the CS0 course, including
chapters on Networks, Databases, and the Internet
• offers clear and concise explanations of key core topics
• includes Digging Deeper questions to encourage further study of new topics.
• fosters in-class interaction and learning with Discussion Questions
throughout each chapter
• reinforces concepts with extensive practice questions and self-study
exercises at the end of each chapter
CONTENTS
A Brief History of Computing. Software Tools for Techies. Computer Architecture. Numbering Systems and Data
Representation. Operating Systems. Networks. The Internet. Database Fundamentals. Data Structures. File Structures.
Programming. Software Engineering. Computing Security & Ethics. Emerging Technologies. Appendices: A. Answers to
Test Yourself Exercises. B. ASCII (American Standard Code for Information Interchange) table. C. Java Reserved Words.

FOUNDATIONS OF COMPUTER SCIENCE,


SECOND EDITION
Behrouz A. Forouzan & Firouz Mosharraf
ISBN: 1-844-80-700-2 ISBN-13 978-1-84480-700-0 450 pp, ©2008

KEY FEATURES
• all new material on Computer Ethics and Computer Crimes
• new chapter on Artificial Intelligence, including computer graphics
and virtual reality
• coverage of the LINUX operating system
• revised chapter on security with sections on steganography
• pedagogical features include: improved and augmented figures and screenshots,
improved and augmented exercises, selection solutions at the end, key terms
provided by page numbers, a test bank, augmented PowerPointTM presentations
on the companion Web site which includes lesson plans for lecturers
CONTENTS
Introduction. PART 1: Computer and Data. Number System. Storing Data. Operations on Data. PART 2: Computer
Hardware. Computer Organizations. Computer Networks. PART 3: Computer Software. Operating Systems.
Algorithms. Programming Languages. Software Engineering. PART 4: Data Organization. Data Structure. Abstract
Data Type. File Structure. Databases. PART 5: Advanced Topics. Data Compression. Security. Theory of Computation.
Artificial Intelligent. Appendices: A. Unicode. B. UML. C. Pseudocode. D. Structure Chart. E. Logic Circuits. F.
Example of Machine Language. G. Example of High-Level Languages. H. Some Mathematical Review.

4 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 5

CS1 — INTRODUCTION TO PROGRAMMING: JAVA


JAVA PROGRAMMING: GUIDED LEARNING
WITH EARLY OBJECTS
D.S. Malik & Robert P. Burton NEW
TITLE!
ISBN: 1-4239-0162-2 ISBN-13: 978-1-4239-0162-4 824 pp, ©2009

This innovative new text, intended for the beginning programmer,


introduces objects early but gently and includes a variety of
examples and exercises intended to support each new concept.
With a clear emphasis on self-study and the student learning
experience, Malik and Burton employ a straightforward writing
style that parallels the learning method of the contemporary
CS1 student. Before a key topic is introduced, the student
learns why the concept is important, and then sees examples.
Java Programming: Guided Learning with Early Objects is
an invaluable resource for all students, both in and out of
the classroom.
KEY FEATURES
• intended for a first course in Java programming (CS1);
no prior programming experience is required
• motivates beginning programmers through an early but
gentle introduction of objects
• employs classroom-tested pedagogy that emphasizes
ABOUT THE AUTHORS clear explanation and practice
• presents debugging and bug-avoidance techniques
Dr. D.S. Malik teaches Mathematics systematically throughout the text
and Computer Science at Creighton
• features a full-color interior design that displays accurate
University. He received his Ph.D.
Java code and comments
from Ohio University in 1985. He has
published more than 45 papers and 12 • programming code used in examples is accompanied by
books on abstract algebra, fuzzy automata a description of what each line does, leading readers
theory and languages, fuzzy logic and step-by-step through the programming process
its applications, information science, • contains a free CD that includes JDK 6.0, jGRASP, Eclipse,
and programming. additional text content, and source code files

Robert P. Burton is the senior Professor CONTENTS


An Introduction to Computers and Programming Languages. Basic Elements of Java.
of Computer Science at Brigham Young Input/Output. Introduction to Objects and Classes. Control Structures I (Selection).
University. After receiving a Ph.D. from Control Structures II (Repetition). User-Defined Methods. User-Defined Classes II. Arrays.
The University of Utah, he worked at Sorting and Searching Algorithms and the class Vector. Inheritance and Polymorphism.
Bell Laboratories as an experimental Exception Handling. Recursion. Generics, Dynamic Representations, and Collections.
systems engineer. Burton has published Appendices (some will be online only): Appendix A: Glossary. Appendix B: Unicode
Character Set. Appendix C: Java Reserved Words. Appendix D: Java Modifiers. Appendix E:
more than 70 technical papers and is
Operator Precedence. Appendix F: GUI Events. Appendix G: Coding Guidelines. Appendix
a recipient of the Karl G. Maeser H: Internet, World Wide Web, URLs, and Java.
Distinguished Teaching Award and the
Karl G. Maeser Research and Creative
Arts Award.

www.cengage.com/coursetechnology 5
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 6

CS1 — INTRODUCTION TO PROGRAMMING: JAVA

JAVA PROGRAMMING: FROM PROBLEM ANALYSIS


TO PROGRAM DESIGN, INTERNATIONAL EDITION,
FOURTH EDITION
D.S. Malik NEW
ISBN: 1-4390-4034-6
EDITION!
ISBN-13: 978-1-4390-4034-8 1,016 pp, ©2010

KEY FEATURES
• FOUR COLOR INTERIOR DESIGN: Four-color interior design displays accurate Java
code and comments.
• VISUAL DIAGRAMS: More than 240 visual diagrams clearly illustrate difficult concepts.
• PROGRAMMING CODE WITH DESCRIPTIONS: Programming code used in examples is
accompanied by a description of what each line in the code does, leading readers step-
by-step through the programming process.
• PROGRAMMING EXAMPLES: Extensive programming examples demonstrate the accu-
rate, concrete stages of Input, Output, Program Analysis and Algorithm Design, and a
Complete Program Listing, which challenge readers to write Java programs with a spec-
ified outcome.
• ACCOMPANYING CD: Accompanying CD contains JDK 6.0, jGRASP, and the Eclipse
IDE.
CONTENTS
1. An Overview of Computers and Programming Languages.2. Basic Elements of Java.3. Introduction to Objects and
Input/Output.4. Control Structures I (Selection).5. Control Structures II (Repetition).6. Graphical User Interface (GUI)
and Object-Oriented Design (OOD).7. User-Defined Methods.8. User-Defined Classes.9. Arrays.10. Inheritance and
Polymorphism.11. Handling Exceptions and Events.12. Advanced GUIs and Graphics.13. Recursion.14. Searching and
Sorting Algorithms.Appendices.Java Reserved Words.Operator Precedence.Character Sets.Additional Java
Topics.Enumeration Types.Answers to Odd Numbered Exercises.

JAVA PROGRAMMING: PROGRAM DESIGN


INCLUDING DATA STRUCTURES
D.S. Malik
ISBN: 1-4188-3540-4 ISBN-13: 978-1-4188-3540-8 1,616 pp, ©2006

KEY FEATURES
• offers thorough coverage of CS1 and CS2 topics in one clearly written and
student-friendly text
• contains complete programming examples, four-color code, and extensive
use of visual diagrams
• includes a free copy of Sun JDK (v.5.0) and the jGrasp IDE with each student copy
• provides online assessment and training via an optional OWL bundle
CONTENTS
An Overview of Computers and Programming Languages. Basic Elements of Java. Introduction to Objects and
Input/Output. Control Structures I. Control Structures II. Graphical User Interface (GUI) and Object-Oriented
Design (OOD). User-Defined Methods. User-Defined Classes and ADT. Arrays. The Classes Vector and String, and
Enumeration Types. Inheritance and Polymorphism. Handling Exceptions and Event. Advanced GUI and Graphics.
Recursion. Generic Methods, Classes, and Array-Based Lists. Linked Lists. Stacks and Queues. Searching and Sorting
Algorithms. Binary Trees. Graphs. Collections. Appendices: A: Java Reserved Words. B. Operator Precedence. C.
Character Sets. D. Additional Java Topics. E. Java Classes. F. References. G. Answers to Odd-Numbered Exercises.

6 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 7

PROGRAMMING WITH VISUAL C++:

CS1 — INTRODUCTION TO PROGRAMMING: C++


CONCEPTS AND PROJECTS NEW
James Allert TITLE!
ISBN: 1-4239-0186-X ISBN-13: 978-1-4239-0186-0 704 pp, ©2009

Visual, interactive, and engaging projects are the hallmark


of this innovative book that marks a rapid departure from
traditional computer science texts. Programming in Visual
C++: Concepts and Projects uses a graphical user interface
(GUI) approach instead of the traditional console (plan text)
mode, to provide a thorough introduction to computer science
and C++ concepts that is highly visual and enjoyable for the
reader. Because Visual C++ no longer requires advanced
skills to produce GUIs, even beginning readers are able to
produce attractive and functional GUIs within the first few
chapters. Coverage includes a comprehensive introduction to
programming basics, including control and data structures,
as well as object-oriented programming. Straightforward and
easy to understand, this is a valuable resource for anyone
interested in a computer science book that is as fun as it
is informative.
KEY FEATURES
• intended for a CS1 (Introduction to Programming) course
ABOUT THE AUTHOR in the C++ language
Dr. James Allert is an Assistant
• creative projects like orbiting planets, fractal images, and a
Professor in the Department of
maze use GUIs to illustrate important points and processes
Computer Science at the University
such as sorting, pointers, and linked lists
of Minnesota Duluth and has over
25 years of teaching experience. His • concepts are presented first and then followed by tutorials,
current research and recent publications encouraging readers to understand the basic concept on
address factors leading students of all its own and then apply it
majors to success in computer science. • tutorials walk readers step-by-step through the various
processes, allowing them to easily achieve results and
master key concepts
• use of GUI matches today’s users’ experiences with Web
pages, entertainment software, and other day-to-day
technology, immediately providing readers with a context
for the information they are learning
• Visual C++ is available with this text as an optional bundle
CONTENTS
Introduction. Reading, Processing and Displaying Data. Integral Data, Type Conversion
and Strings. Selection Control Structures. Instance Methods aand Parameters. Repetition.
Arrays. Sorting. Binary Search. Recursion. Pointers. Classes, The Linked List. Multiple
Classes. Appendices. Glossary. Index.

www.cengage.com/coursetechnology 7
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 8

CS1 — INTRODUCTION TO PROGRAMMING: C++

INTRODUCTION TO C++ PROGRAMMING:


BRIEF EDITION NEW
D.S. Malik TITLE!
ISBN: 1-4239-0246-7 ISBN-13: 978-1-4239-0246-1 824 pp, ©2009

Brand new from best-selling author D.S. Malik, Introduction


to C++ Programming: Brief Edition provides readers with a
succinct introduction to the C++ language supported by the
rich pedagogy that has made his past offerings so successful.
This text addresses the key issues that impede student learning,
including how data in a variable is manipulated and how actual
and formal parameters relate. Once students understand
these fundamental concepts, they readily grasp advanced
topics. Each chapter offers extensive examples and diagrams
as well as complete programming examples.
KEY FEATURES
• intended for a one-semester class in the C++ language,
containing only those topics typically covered in a CS1 course
• thorough pedagogy includes extensive visual diagrams,
examples, and end-of-chapter exercise sets
• programming examples accurately outline the concrete
stages of Input, Output, Problem Analysis, and Algorithm
ABOUT THE AUTHOR Design, and include a Complete Program Listing
D.S. Malik See page 5. • numbered examples within each chapter reinforce
programming concepts with relevant code
• debugging and bug-avoidance techniques are presented
systematically throughout the text, helping students to
learn how to produce correct programs
• four-color interior displays precise C++ code and comments
CONTENTS
An Introduction to Computers and Programming Languages. Basic Elements of C++
Introduction. Input/Output. Control Structures I (Selection). Control Structures II
(Repetition). User-Defined Function. Namespaces, the class string, and User-Defined
Simple Data Types. Classes and Data Abstraction. Arrays and Pointers. Applications of
Arrays and the class vector. Inheritance and Composition. Classes, Pointers, Virtual
Functions, and Abstract Classes. Operator Overloading and Templates. Exception
Handling. Recursion. Standard Template Library (STL). Appendix A: Reserved Words.
Appendix B: Operator Precedence. Appendix C: Character Sets. Appendix D: Operators
Overloading. Appendix E: Additional C++ Topics. Appendix F: Header Files. Appendix G:
Memory Size on a System and Random Number Generators. Appendix H: Answers to
Odd Numbered Exercises.

8 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 9

C++ PROGRAMMING: FROM PROBLEM ANALYSIS

CS1 — INTRODUCTION TO PROGRAMMING: C++


TO PROGRAM DESIGN, INTERNATIONAL EDITION,
FOURTH EDITION
D.S. Malik NEW
EDITION!
ISBN: 0-538-74756-0 ISBN-13: 978-0-538-74756-1 1,360 pp, ©2009

Now in its fourth edition, C++ Programming: From Problem


Analysis to Program Design remains the definitive text for CS1
courses. Best-selling author D.S. Malik employs a student-
focused approach, using complete programming examples to
teach introductory programming concepts. This fourth edition
has been enhanced to further demonstrate the use of OOD
methodology, to introduce sorting algorithms (bubble sort
and insertion sort), and to present additional material on
abstract classes. In addition, the exercise sets at the end of
each chapter have been expanded to include several calculus
and engineering-related exercises. All programs have been
written, compiled, and quality-assurance tested with
Microsoft Visual C++ .NET, available as an optional compiler
with this text. C++ Programming: From Problem Analysis to
Program Design, Fourth Edition is the ideal text to motivate
your students as they learn the theory behind programming.
KEY FEATURES
• programming examples accurately outline the concrete
ABOUT THE AUTHOR stages of Input, Output, Problem Analysis, and Algorithm
D.S. Malik See page 5. Design, and include a Complete Program Listing
• four-color interior displays precise C++ code and comments
• lab manual, available separately, contains additional exercises
and labs that correlate directly to the text
• accompanied by a content-rich Student Companion Web
Site (www.course.com/malik/cpp) that offers additional
hands-on practice including key terms, self-tests, programming
exercises, and a key-concepts review
CONTENTS
An Overview of Computers and Programming Languages. Basic Elements of C++.
Input/Output. Control Structures I (Selection). Control Structures II (Repetition). User-
Defined Function I. User-Defined Functions II. Namespaces, the class string, and User-
Defined Simple Data Types,. Arrays. Applications of Arrays and the class vector. Structs.
Classes and Data Abstraction. Inheritance and Composition. Pointers, Classes, and Virtual
Functions . Operator Overloading. Exception Handling. Recursion. Linked Lists. Stacks and
Queues. Appendix A: Reserved Words. Appendix B: Operator Precedence. Appendix C:
Character Sets. Appendix D: Operators Overloading. Appendix E: Additional C++ Topics
Appendix F: Header Files. G. Memory Size on a System and Random Number Generators.
Appendix H: Problem Solving Using Object-Oriented Methodology. Appendix I: Standard
Template Library. Appendix :. Answers to Odd-Numbered Exercises.

www.cengage.com/coursetechnology 9
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:35 AM Page 10

CS1 — INTRODUCTION TO PROGRAMMING: C++

C++ PROGRAMMING: PROGRAM DESIGN


INCLUDING DATA STRUCTURES, INTERNATIONAL EDITION,
FOURTH EDITION
D.S. Malik NEW
EDITION!
ISBN: 0-538-74751-X ISBN-13: 978-0-538-74751-6 1,624 pp, ©2009

Now in its fourth edition, C++ Programming: Program Design


Including Data Structures remains the definitive text for a course
sequence covering CS1 and CS2 topics. Best-selling author D.S.
Malik employs a student-focused approach, using complete
programming examples to teach fundamental programming
concepts. This fourth edition has been enhanced to further
demonstrate the use of OOD methodology, to introduce sort-
ing algorithms (bubble sort and insertion sort), and to present
additional material on abstract classes. In addition, the exercise
sets at the end of each chapter have been expanded to include
calculus and engineering-related exercises.
KEY FEATURES
• intended for a two-semester CS1/CS2 sequence in the C++
language, beginning with introductory topics and moving
into data structures later in the text
• thorough pedagogy includes extensive visual diagrams,
examples, and end-of-chapter exercise sets
ABOUT THE AUTHOR • Programming Examples accurately outline the concrete
D.S. Malik See page 5. stages of Input, Output, Problem Analysis, and Algorithm
Design, and include a Complete Program Listing
• Numbered Examples within each chapter reinforce
programming concepts with relevant code
• a four-color interior displays precise C++ code and comments
• a content-rich Student Companion Web Site offers additional
hands-on practice including key terms, self-tests, programming
exercises, and a key-concepts review
• all programs have been written, compiled, and quality-
assurance tested with Visual C++, available as an optional
compiler with this text
CONTENTS
An Overview of Computers and Programming Languages. Basic Elements of C++. Input/
Output. Control Structures I (Selection). Control Structures II (Repetition). User-Defined
Function I. User-Defined Functions II. Classes and Data Abstraction. Namespaces, the class
string, and User-Defined Simple Data Types, Arrays and Pointers, Applications of Arrays and
the class vector, Recursion. Appendix A: Reserved Words. Appendix B: Operator Precedence.
Appendix C: Character Sets. Appendix D: Operators Overloading. Appendix E: Additional
C++ Topics: a. Binary (Base 2) Representation of a Nonnegative Integer, b. Additional
Input/Output Tools, c. More on File Input/Output. Appendix F: Header Files. Appendix G:
Memory Size on a System and Random Number Generators. Appendix H: Answers to Odd
Numbered Exercises.

10 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 11

C# PROGRAMMING: FROM PROBLEM ANALYSIS

CS1 — INTRODUCTION TO PROGRAMMING: C


TO PROGRAM DESIGN, SECOND EDITION
Barbara Doyle
ISBN: 1-4239-0146-0 ISBN-13: 978-1-4239-0146-4 832 pp, ©2008

Master the problem-solving skills and techniques associated


with object-oriented program development using this hands-on,
reader-friendly text. C# Programming: From Problem Analysis
to Program Design, Second Edition, introduces a variety of
basic programming concepts, from data types and expressions
to arrays and collections, all using C# as the programming
language. Ideal for both novices and programmers with expe-
rience in other languages, this book goes beyond traditional
programming books by including new, advanced software
development features that are often only found in specialized
books. Full chapters are devoted to ADO.NET and ASP.NET.
The second edition has been revised to include new features
of Visual C# 2005, including generics and partial classes, so
readers receive an up-to-date education on programming.
KEY FEATURES
• Special Notes and examples are included throughout the
book to highlight important facts and place key concepts
into context
ABOUT THE AUTHOR
• comprehensive programming examples in every chapter
Barbara Doyle, Ph.D., is a Professor
contain all the distinct problem-solving stages, providing an
of Computing Sciences at Jacksonville
overview of problem-solving from inception through testing
University. She received her Ph.D. from
and implementation
Florida Institute of Technology and has
been teaching programming for more • design and development of Console, Windows, Web and
than 20 years. She is currently a data-driven applications round out the reader experience
Computer Science Program Evaluator CONTENTS
for ABET-CAD (Accreditation Board for Introduction to Computing and Programming. Your First C# Program. Data Types and
Engineering and Technology-Computing Expressions. Methods and Behaviors. Making Decisions. Repeating Instructions. Arrays
Accreditation Commission). Dr. Doyle and Collections. Introduction to Windows Programming. Programming Based on Events.
chaired the department of Computing Advanced Object-Oriented Programming Features. Debugging and Handling Exceptions.
Sciences at Jacksonville University from Working with Files. Database Access using ADO.NET. Web-Based Applications. Appendices
A. Compiling and Running an Application from the Command Line. B. Visual Studio
1992 through 2002, leading the faculty
IDE Code Editor. C. Code Editor Tools. D. Character Sets. E. Operator Precedence.
to develop tracks in Computer Science, F. C# Keywords. G. Coding Standards.
Computer Information Systems, and
Internet Information systems.

www.cengage.com/coursetechnology 11
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 12

CS1 — INTRODUCTION TO PROGRAMMING: C

COMPUTER SCIENCE: A STRUCTURED PROGRAMMING


APPROACH USING C, THIRD EDITION
Behrouz A. Forouzan & Richard F. Gilberg
ISBN: 0-534-49132-4 ISBN-13: 978-0-534-49132-1 1,184 pp, ©2007

KEY FEATURES
• intended for a first course in the C programming language
• introduces programming principles before details of the C language
are implemented
• emphasizes structured programming and software engineering
• contains robust end-of-chapter material, including Review Questions,
Exercises and Projects
CONTENTS
Introduction to Computers. Introduction to the C Language. Structure of a C Program. Functions. Selection-Making
Decisions. Repetition. Text Input/Output. Arrays. Pointers. Pointer Applications. Strings. Enumerated, Structure,
and Union Types. Binary Input/Output. Bitwise Operators. Lists
Appendices: A. Character Sets. B. Keywords. C. Flowcharting. D. Numbering Systems. E: Integer and Float Libraries.
F: Function Libraries. G: Preprocessor Commands. H: Command-Line Arguments. I: Pointers to Void and to Functions.
J: Storage Classes and Type Qualifiers. K: Program Development. L: Understanding Complex Declarations.

A FIRST BOOK OF ANSI C


FOURTH EDITION
Gary J. Bronson
ISBN: 1-4188-3556-0 ISBN-13: 978-1-4188-3556-9 768 pp, ©2007

KEY FEATURES
• Includes updated programs and descriptions that reflect C99 standards,
• Features Case Studies that deal with real-world programming applications.
• Offers multiple sections dealing with input-data validation.
• Stresses the modular nature of the C language and details the creation of a
personal library.

CONTENTS
PART ONE: FUNDAMENTALS. 1. Introduction to Computer Programming. 2. Getting Started in C Programming. 3.
Processing and Interactive Input. PART TWO: FLOW OF CONTROL. 4. Selection. 5. Repetition. 6. Modularity
Using Functions: Part I. 7. Modularity Using Functions: Part II. PART THREE: COMPLETING THE BASICS. 8. Arrays.
9. Character Strings. 10. Data Files. PART FOUR: ADDITIONAL TOPICS. 11. Arrays, Addresses, and Pointers. 12.
Structures. 13. Dynamic Data Structures. 14. Additional Capabilities. 15. A Brief Introduction to C++. 16.
Fundamentals of C++ (Online Only). 17. Additional C++ Class Capabilities (Online Only). Appendices. A: Operator
Precedence Table. B: ASCII Character Codes. C: Standard C Library. D: Input, Output, and Standard Error
Redirection. E: Floating-Point Number Storage. F: Creating a Personal Library. G: Solutions to Short Answer
Questions.

12 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 13

CS1 — INTRODUCTION TO PROGRAMMING: PYTHON


FUNDAMENTALS OF PYTHON: FROM NEW
FIRST PROGRAMS THROUGH DATA STRUCTURE TITLE!
Kenneth A. Lambert
ISBN: 1-4239-0218-1 SBN-13: 978-1-4239-0218-8 872 pp, ©2010

In FUNDAMENTALS OF PYTHON: FROM FIRST PROGRAMS


THROUGH DATA STRUCTURES, Washington and Lee
University professor Kenneth A. Lambert presents all of the
important topics in CS1 and CS2 in one volume. This economi-
cal format provides instructors with a consistent approach to
teaching introductory programming and data structures over
a standard two-term course sequence. The book uses the
Python programming language, which is both easy to learn
for beginners and scales well to advanced applications.
KEY FEATURES
• Uses a just-in-time approach, with no new concept intro-
duced before it is needed to solve a problem.
• Early emphasis on problem solving and algorithm develop-
ment.
• Covers multiple design strategies, including top-down
design and recursive design with functions, object-based
programming, and object-oriented design.
ABOUT THE AUTHOR • Engages students' interest with modern applications such as
Kenneth A. Lambert, is Professor of graphics, graphical user interfaces (GUIs), networks, and
Computer Science and Head of the image processing.
Department at Washington and Lee • Walks students through the development of complete pro-
University. He has taught introductory grams in numerous case studies.
courses for 25 years and has been an • Covers basic software development tools for design, testing,
active researcher in computer science and documentation.
education. Lambert has co-authored a • Provides exercises at the end of each section to reinforce
series of introductory C++ textbooks students' understanding of each concept.
with Douglas Nance and Thomas Naps
• Includes sets of programming projects to give students
and a series of introductory Java text-
practice in problem solving.
books with Martin Osborne.
• Offers complete source code for all program examples at
the publisher's Web site.
CONTENTS
1. Introduction.2. Data Types and Expressions. 3. Control Statements. 4. Strings and Text
Files.5. Lists and Dictionaries. 6. Design With Functions. 7. Simple Graphics and Image
Processing.8. Design with Classes.9. Graphical User Interfaces. 10. Multithreading,
Networks, and Client/Server Programming. 11. Searching, Sorting, and Complexity.12. Tools
for Design, Documentation, and Testing. 13. Collections, Arrays, and Linked Structures. 14.
Stacks. 15. Queues. 1 6. Linked Lists. 17. Recursion. 18. Hierarchical Collections: Trees. 19.
Unordered Collections: Sets and Dictionaries. 20. Graphics. Appendices. Glossary. Index.

www.cengage.com/coursetechnology 13
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 14

CS2— DATA STRUCTURES

DATA STRUCTURES
USING C++, INTERNATIOAL EDITION, SECOND EDITON
D.S. Malik NEW
ISBN: 1-4390-4023-0 ISBN-13: 978-1-4390-4023-2 976 pp, ©2010 EDITION!

Now in its second edition, D.S. Malik brings his proven


approach to C++ programming to the CS2 course. Clearly
written with the student in mind, this text focuses on Data
Structures and includes advanced topics in C++ such as
Linked Lists and the Standard Template Library (STL). The text
New cover features abundant visual diagrams, examples, and extended
Programming Examples, all of which serve to illuminate diffi-
coming soon! cult concepts. Complete programming code and clear display
of syntax, explanation, and example are used throughout the
text, and each chapter concludes with a robust exercise set.
KEY FEATURES
• Designed for a CS2 one-semester course focused on data
structures.
• Reinforces concepts through extensive diagrams and exam-
ples.
• Provides coverage of recursion and backtracking to solve
Sudoku problems.
• Offers expanded discussion of hashing, Shell sort, B-trees,
and the Euler circuit.
• Introduces virtual functions and abstract classes in Chapter
3, and incorporates the study of linked lists, stacks, and
queues using these concepts.
• Features complete Programming Examples throughout that
outline the critical steps to writing a program for a case
study including Input/Output, Algorithm Design, Main
Algorithm, and Complete Program.
• Offers robust end-of-chapter exercises that provide ample
opportunity for practice.
• Written to ANSI/ISO Standard C++ and can be used with
Microsoft Visual C++ .NET.
CONTENTS
1. Software Engineering Principles and C++ Classes. 2. Object-Oriented Design (OOD)
and C++. 3. Pointers and Array-Based Lists. 4. Standard Template Library (STL) I. 5. Linked
Lists.6. Recursion. 7. Stacks. 8. Queues. 9. Search Algorithms. 10. Sorting Algorithms. 11.
Binary Trees. 12. Graphs Algorithms. 13. Standard Template Library (STL) II. Appendices.A:
Reserved Words. B: Operator Precedence. C: Character Sets. D: Operator Overloading.
E: Header Files. F: Additional C++ Topics (Inheritance, Pointers, and Virtual Functions). G.
Problem Solving Using Object Oriented Methodology. H: C++ for Java Programmers. I:
References for Further Study. J: Answers to Odd-Numbered Exercises.

14 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 15

DATA STRUCTURES AND ALGORITHMS IN C++

CS2— DATA STRUCTURES


Adam Drozdek

ISBN: 0-534-49182-0 ISBN-13: 978-0-534-49182-6 776 pp, ©2004

KEY FEATURES
• illustrates a complete context in which certain algorithms
and data structures can be used with the case study
included in most chapters.
• integrates algorithms efficiently into your course with
extensive theoretical analysis. Illustrates
the practical importance of data structures with examples
of C++ code throughout the book.
• clarifies the topic of recursion with its presentation in the
context of the run-time stack.
• includes coverage of the Standard Template Library and
integrates its lessons into the
case studies.
CONTENTS
Object-Oriented Programming Using C++. Complexity Analysis. Linked Lists. Stacks
and Queues. Recursion. Binary Trees. Multiway Trees. Graphs. Sorting. Hashing. Data
Compression. Memory Management. String Matching. Appendices.

DATA STRUCTURES USING JAVA


D.S. Malik & P.S. Nair
ISBN :0-619-15950-2 ISBN-13: 978-0-619-15950-4 832 pp, ©2003

KEY FEATURES
• offers comprehensive coverage of all CS2 topics such as Structured Template
Libraries, Searching and Sorting, and Graph Algorithms
• features complete Programming Examples that outline the critical steps to
writing programs for a case study, including Input/Output, Algorithm Design,
Main Algorithm, and Complete Program
• exercises test the student’s ability to label declarations and statements as
valid or invalid
CONTENTS
Software Engineering Principles and Java Classes. Inheritance and Exception Handling. Array-Based Lists. Linked
Lists. Recursion. Stacks. Queues. Search Algorithms. Sorting Algorithms. Binary Trees. Graphs. Appendices: A. Java
Reserved Words. B. Operator Precedence. C. Character Sets. D. Packages and User-Defined Classes. E. Java Classes.
F. Java for C++ Programmers. G. References. H. Answers to Selected Exercises.

www.cengage.com/coursetechnology 15
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 16

CS2— DATA STRUCTURES

DATA STRUCTURES AND ALGORITHMS IN


JAVA, THIRD EDITION NEW
Adam Drozdek EDITION!
ISBN: 981-4239-23-2 ISBN-13: 978-981-4239-23-3 790 pp, ©2009

Using the Java programming language, Drozdek highlights


three important aspects of data structures and algorithms.
First, the book places special emphasis on the connection
between data structures and their algorithms, including an
analysis of the algorithms’ complexity. Second, the book
presents data structures in the context of object-oriented
program design. Finally, the book closely examines data
structure implementation.
Overall, this practical and theoretical book provides students
with a solid foundation in data structures for future courses
and work in design, implementation, testing, and mainte-
nance of virtually any software system.
KEY FEATURES
• Updated! This new edition contains updated Java code to
reflect the inclusion of generic classes in Java 5.
• Updated! Tables that list methods from java.util packages
have been updated to reflect modifications and additions
ABOUT THE AUTHOR
introduced in Java 5 and Java 6.
Adam Drozdek a graduate of Wright
State University, is an Associate • New! Coverage of two new sorting methods.
Professor of Computer Science at • New! Coverage of a new hashing technique.
Duquesne University. He is the author • Case Studies. Most chapters include a case study that illus-
of several books, including Elements of
trates a complete context in which algorithms and data
Data Compression.
structures can be used.
• Java code examples. Brief examples of Java code are includ-
ed to illustrate the practical importance of data structures.
• Theoretical analysis. Presentation of algorithms are inte-
grated with analyses of efficiency.
• Recursion topics. Clarifies recursion topics through their
presentation in context of the run-time stack.
CONTENTS
1. Object-Oriented Programming Using Java. 2. Complexity Analysis. 3. Linked Lists. 4.
Stacks and Queues. 5. Recursion. 6. Binary Trees. 7. Multiway Trees. 8. Graphs. 9. Sorting.
10. Hashing. 11. Data Compression. 12. Memory Management. 13. String Matching.
Appendix A: Computing Big-O. Appendix B: NP-Completeness.

16 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 17

DATA STRUCTURES: A PSEUDOCODE

CS2— DATA STRUCTURES


APPROACH WITH C, SECOND EDITION
Richard F. Gilberg & Behrouz A. Forouzan
ISBN: 0-534-39080-3 ISBN-13: 978-0-534-39080-8 672 pp, ©2005

This second edition expands upon the solid, practical founda-


tion established in the first edition of the text. A new four-
part organizational structure increases the flexibility of the
text, and all material is presented in a straightforward manner
accompanied by an array of examples and visual diagrams.
KEY FEATURES
• Simplifies learning the design of algorithms using
pseudocode with this non-theoretical and practical approach
to teaching.
• Eases into a solid working knowledge of data structures by
de-emphasizing the use of formal mathematical proofs.
• Enhances students' knowledge of the C programming lan-
guage through building algorithms and trees.
• Reinforces concepts learned with fully updated exercises
and projects at the end of every chapter.
CONTENTS
Part 1: Introduction. 1. Basic Concepts. 2. Recursion. Part 2: Linear Lists. 3. Stacks. 4.
Queues. 5. General Linear Lists. Part 3: Non-Linear Lists. 6. Introduction to Trees. 7.
Binary Search Trees. 8. AVL Search Trees. 9. Heaps. 10. Multiway Trees. 11. Graphs. Part 4:
Sorting and Searching. 12. Sorting. 13. Searching. Appendices. A: ASCII Tables. B:
Structure Charts. C: Integer and Float Libraries. D: Selected C Libraries. E: Mathematical
Series and Recursive Relations. F: Array Implementations of Stacks and Queues

www.cengage.com/coursetechnology 17
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 18

CS2— DATA STRUCTURES

MODERN SOFTWARE DEVELOPMENT


USING JAVA, SECOND EDITION
Paul T. Tymann & G. Michael Schneider
ISBN: 1-4239-0123-1 ISBN-13: 978-1-4239-0123-5 960 pp, ©2008

KEY FEATURES
• intended as a text for the second course in computer science
• revised to include Special Interest boxes, longer Challenge Work Exercises,
and updated problem sets in each chapter
• includes a major case study that ties together the area of object-oriented
design, including specification and design documents, UML, classes, state
and behaviors, inheritance, abstract classes, and interfaces
• treats data structures from a modern perspective where implementation is
equally important to understanding data structures libraries and how best
to select routines from those libraries
CONTENTS
Overview of Modern Software Development. Object-Oriented Design and Programming. Object-Oriented
Programming Using Java. Case Study in OO Software Development. The Analysis of Algorithms. Linear Data
Structures. Hierarchical Data Structures. Data Structures. The Java Collection Framework. Exceptions and Streams.
Threads. GUI. Networking

MODERN SOFTWARE DEVELOPMENT


USING C# .NET
Richard Wiener
ISBN: 0-619-21759-6 ISBN-13: 978-0-619-21759-4 768 pp, ©2007

KEY FEATURES
• exposure to fundamental concepts such as effective class design,
events, threads, graphical user interfaces (GUI), and object persistence
• object-oriented framework enabes students to use object-oriented
programming effectively
• examples throughout the text demonstrate key principles and are
summarized in the Important Principles Illustrated sections
• available with Microsoft Visual C# .NET Standard Edition software
CONTENTS
Thinking and Using Object-Oriented Programming: The Basics. From Problem Definition to Classes: Object-Oriented
Analysis and Design and the Software Life Cycle. From Design to Implementation. The Basics of Class Construction.
More Advanced Class Construction. Refactoring. Programming with Threads. Event Handling and GUIs. Delegates
and Events in C#. Form Classes and Event Handling. More Advanced GUI Construction. Data Structures. Recursion.
Linear Data Structures and Their Applications. Nonlinear Data Structures and Their Applications. Standard Collections
and Serialization. Regular Expressions. Putting It All Together. Ecological Simulation.

18 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 19

OPERATING SYSTEMS
PRINCIPLES OF OPERATING SYSTEMS,
INTERNATIONAL EDITION
Brian Stuart
ISBN: 0-538-74953-9 ISBN-13: 978-0-538-74953-4 600 pp, ©2009

Principles of Operating Systems: Design and Applications is


an ideal resource for anyone who wants to gain a basic
understanding of operating systems in the context of the
applications in which they are used. The main focus of this
text is to foster an understanding of operating system
fundamentals: what types of services they provide, how various
applications interface with them, and the restrictions they
have on those applications. Making this book unique in its
approach is the inclusion of a wide range of example systems
and detailed case studies of the Linux and Inferno operating
systems. By combining a traditional set of topics with this
real-life contextual background, readers will achieve an enriched
understanding of the material, which they can immediately
apply to the world of operating systems.
KEY FEATURES
• rich illustrations provide clear, visual explanations of
hard-to-grasp concepts
ABOUT THE AUTHOR • selected code fragments from real systems are incorporated
Brian Stuart is a Chief Engineer/ throughout the book, allowing readers to see first-hand
Principal for FedEx Corporate Services how pieces fit together
and an Adjunct Professor at the • coverage of the wide variety of operating systems that goes
University of Memphis. Previously, he beyond Windows and Linux, addressing the reality that there
taught at Rhodes College and has are many other valuable operating systems in existence
worked in the telecommunications, • end-of-chapter exercises reinforce key concepts and provide
automotive electronics and wireless the opportunity to apply what has been learned
telemetry industries. His consulting
activities have ranged from medical CONTENTS
Introduction to Operating Systems. Some Example Operating Systems. Inferno Overview.
instrumentation to agriculture. Dr. Linux Overview. Principles of Process Management. Some Examples of Process Management.
Stuart received his BS degree from the Process Management in Inferno. Process Management in Linux. Principles of Memory
Rose-Hulman Institute of Technology, Management. Some Examples of Memory Management. Memory Management in Inferno.
his MS from the University of Notre Memory Management in Linux. Principles of I/O Device Management. Some examples of
Dame and his PhD from Purdue I/O Device Management. I/O Devices in Inferno. I/O Devices in Linux. Principles of File
University. Systems. Some Examples of File Systems. File Systems in Inferno. File Systems in Linux.
Principles of Operating System Security. Principles of Distributed Systems. Appendices:
A. Principles of Computer Hardware. B. The IBM Compatible PC Hardware. C. The Dis Virtual
Machine. D. Compiling Inferno

www.cengage.com/coursetechnology 19
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 20

OPERATING SYSTEMS

UNDERSTANDING OPERATING SYSTEMS,


INTERNATIONAL EDITION, FIFTH EDITION
Ann McIver McHoes & Ida M. Flynn
ISBN: 1-4390-8011-9 ISBN: 978-1-4390-8011-5 560 pp, ©2008

With the same straightforward and clear writing style that


has made previous editions so successful, Understanding
Operating Systems, Fifth Edition, provides the ideal blend of
operating theory and practice. Coverage includes the funda-
mentals of operating systems: what they are, what they do,
how they function, how they can be evaluated, and how
they compare to one another.
Part One describes the management of memory, processors,
devices, files, and networks as well as system security, ethics,
and overall system management. The second part of the book
focuses on four specific operating systems (UNIX, MS-DOS,
Windows, and Linux) and how they apply the theory explained
in the first part of the text. Updates include discussions of
new technologies that affect operating system design, including
multi-core chips and virtualization, making this edition a
current and relevant resource.
KEY FEATURES
• describes technical concepts in a not-so-technical manner
ABOUT THE AUTHORS
allowing students to grasp the complexities of standalone
Ann McIver McHoes has been writing
and networking systems
about computers for 25 years including,
with the late Ida M. Flynn, the first four • contains research topics in each chapter to encourage students
editions of Understanding Operating to explore current events on fast-breaking subjects
Systems, two of which won awards from • contains numerous diagrams, examples, illustrations, and
the Text and Academic Authors notes in a two-color format
Association. On an adjunct basis, her • published now in a soft cover format as requested by students
teaching assignments have included and teachers
graduate courses at Chatham University CONTENTS
and undergraduate classes at Carlow Part One: Operating Systems Theory. Introducing Operating Systems. Memory Management:
University. Early Systems. Memory Management: Virtual Memory. Processor Management. Process
Management. Concurrent Processes. Device Management. File Management. Network
Organization Concepts. Management of Network Functions. Security and Ethics. System
Management. Part Two: Operating Systems in Practice. UNIX Operating System. MS-DOS
Operating System. Windows Operating Systems. Linux Operating System. Appendixes:
A: Command Translation Table. B: Guide to Microsoft Acronyms. C: Guide to Graphical User
Interfaces. D: ACM Code of Ethics and Professional Conduct.

20 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 21

SOFTWARE ENGINEERING
MODEL-DRIVEN SOFTWARE DEVELOPMENT
WITH UML AND JAVA NEW
Kevin Lano TITLE!
ISBN: 1-8448-0952-8 ISBN: 978-1-8448-0952-3 ©2009

Aimed at 2nd and 3rd year/MSc courses, Model Driven


Software Development using UML and Java introduces MDD,
MDA and UML, and shows how UML can be used to specify,
design, verify and implement software systems using an MDA
approach. Structured to follow two lecture courses, one inter-
mediate (UML, MDA, specification, design, model transforma-
tions) and one advanced (software engineering of web appli-
cations and enterprise information systems), difficult con-
cepts are illustrated with numerous examples, and exercises
with worked solutions are provided throughout.
KEY FEATURES
• Comprehensive coverage of UML and MDA including specifi-
cation, design, validation, model transformations and code
generation
• Wide range of examples, from information systems to reactive
and real-time systems
• Coverage of web application and enterprise information sys-
tem development
• Coverage of new standards such as QVT, and Java EE 5
Extensive study support material (exercises, projects, source
code, tools)
CONTENTS
1. Model-Driven Development. 2. The Unified Modelling Language. 3. Model Constraints. 4.
Specification Using UML. 5. Model Validation. 6. Design Techniques. 7. Model
Transformations. 8. Implementation. 9. System Evolution. 10. Web Application Development.
11. Enterprise Information Systems. Appendix A Metamodels of UML. Appendix B
Implementation of Enterprise Information Systems. Appendix C Exercise Solutions.

www.cengage.com/coursetechnology 21
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 22

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING AND TESTING


B.B. Agarwal, S.P. Tayal & M. Gupta
published by Infinity Science Press NEW
TITLE!
ISBN: 1-9340-1555-5 ISBN: 978-1-9340-1555-1 515 pp, ©2010

Designed for an introductory software engineering course or


as a reference for programmers, this up to date text uses
both theory and applications to design reliable, error-free
software. Starting with an introduction to the various types
of software, the book moves through life-cycle models, soft-
ware specifications, testing techniques, computer-aided soft-
ware engineering and writing effective source code. A chap-
ter on applications covers software development techniques
used in various applications including VisualBasic, Oracle,
SQLServer, and CrystalReports. A CD-ROM with source code
and third-party software engineering applications accompa-
nies the book.
KEY FEATURES
• Starts with various types of software, then life-cycle models,
software specifications, testing techniques, computer-aided
software engineering, and writing effective source code.
• Covers software development techniques used in various appli-
cations including VisualBasic, Oracle, SQLServer, and
ABOUT THE AUTHORS CrystalReports.
• Includes a CD-ROM with source code and third-party soft-
B.B. Agarwal is an instructor at the ware engineering applications.
College of Technology and has written
numerous articles in international jour- CONTENTS
nals. Part I SOFTWARE ENGINEERING AND TESTING. Chapter 1 Introduction to Software
Engineering. Chapter 2 Software-Development Life-Cycle Models. Chapter 3 Introduction
to Software Requirements Specification. Chapter 4 Software Reliability and Quality
S.P. Tayal is a software consultant and Assurance. Chapter 5 System Design. Chapter 6 Software Measurement and Metrics.
expert in VisualBasic.Net and C#. Chapter 7 Software Testing. Chapter 8 Software-Testing Strategies. Chapter 9 Software
Maintenance and Project Management. Chapter 10 Computer-Aided Software Engineering.
Chapter 11 Coding. Part II SOFTWARE DEVELOPMENT AND APPLICATIONS. Chapter 12
M. Gupta Introduction to Software Development. Chapter 13 Visual Basic 6.0. Chapter 14 Controls in
Visual Basic. Chapter 15 Variables and Operators in Visual Basic. Chapter 16 Functions in
Visual Basic. Chapter 17 Introduction to Databases. Chapter 18 MS Access 2000. Chapter
19 Oracle. Chapter 20 SQL Server 2000. Chapter 21 Programming in Visual Basic with MS
Access 2000. Chapter 22 Programming with Oracle and SQL Server 2000. Chapter 23
Graphs. Chapter 24 Data Reports. Chapter 25 Crystal Reports. Chapter 26 Error Handling.
Chapter 27 Creating the Setup Package.

22 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 23

SOFTWARE ENGINEERING
SOFTWARE TESTING
S. Koirala & S. Sheikh
published by Infinity Science Press NEW
TITLE!
ISBN: 1-9340-1524-5 ISBN: 978-1-9340-1524-7 220 pp, ©2009

The competence and quality of software testers are often


judged by the various testing techniques they have mastered.
As the name suggests, the book provides a self-study format
and is designed for certification course review, and for “fresh-
ers” as well as professionals who are searching for opportuni-
ties in the software testing field. Along with software testing
basics, the book covers software testing techniques and inter-
view questions (e.g., Six Sigma and CMMI) which are impor-
tant from the Software Quality Assurance (SQA) perspective.
It also has in-depth coverage of software expense estimation
topics like function points (FPA) and TPA analysis. A CD-ROM
supplements the content with the TestComplete™ software-
testing tool setup, software estimation templates (PDFs), an
interview rating sheet, a sample resume, third-party contribu-
tions, and more.
KEY FEATURES
• Provides a self-study format for certification course review,
and for “freshers” and professionals searching for opportuni-
ties in the software testing field.
• Covers important topics e.g., Six Sigma; CMMI; SQA; FPA; TPA;
Metrics; estimation; DRE; spoilage; Phage; Defect density;
automation testing; BVA, salary negotiation, etc.
• Includes a CD-ROM featuring the TestComplete™ software-
testing tool setup, software estimation templates (PDFs), an
interview rating sheet, a sample resume, and more.

www.cengage.com/coursetechnology 23
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:36 AM Page 24

ARTIFICIAL INTELLIGENCE

ARTIFICIAL INTELLIGENCE: A SYSTEMS APPROACH


M. Tim Jones
published by Infinity Science Press

ISBN: 0-9778-5823-5 ISBN: 978-0-9778-5823-1 500 pp, ©2008

This book offers students and AI programmers a new per-


spective on the study of artificial intelligence concepts. The
essential topics and theory of AI are presented, but it also
includes practical information on data input & reduction as
well as data output (i.e., algorithm usage). Because traditional
AI concepts such as pattern recognition, numerical optimiza-
tion and data mining are now simply types of algorithms, a
different approach is needed. This “sensor / algorithm /
effecter” approach grounds the algorithms with an environ-
ment, helps students and AI practitioners to better under-
stand them, and subsequently, how to apply them. The book
has numerous up to date applications in game programming,
intelligent agents, neural networks, artificial immune sys-
tems, and more. A CD-ROM with simulations, code, and fig-
ures accompanies the book.
KEY FEATURES
• Covers not only AI theory, but modern applications e.g.,
game programming, machine learning, swarming, artificial
ABOUT THE AUTHORS immune systems, genetic algorithms, pattern recognition,
M. Tim Jones is an author of numerous numerical optimization, data mining, and more.
articles on a variety of technical sub- • Discusses the various computer languages of AI – from LISP
jects. He is also the author of the best- to JAVA and Python.
selling, AI Applications 2/E.
• Includes a CD-ROM with simulations, code, and figures.
CONTENTS
1. Introduction. 2. Search. 3. Games. 4. Logic. 5. Planning. 6. Knowledge Representation.
7. Machine Learning. 8. Probabilistic Reasoning. 9. Stochastic Search. 10. Neural
Networks. 11. Intelligent Agents. 12. Hybrid Models. 13. Languages of AI.

24 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:37 AM Page 25

ARTIFICIAL INTELLIGENCE
ROBOTICS
Appin Knowledge Solutions
published by Infinity Science Press

ISBN: 1-9340-1502-4 ISBN: 978-1-9340-1502-5 400 pp, ©2008

This up-to-date text and reference is designed to present the


fundamental principles of robotics with a strong emphasis on
engineering applications and industrial solutions based on
robotic technology. It can be used by practicing engineers and
scientists -- or as a text in standard university courses in
robotics. The book has extensive coverage of the major robot-
ic classifications, including Wheeled Mobile Robots, Legged
Robots, and the Robotic Manipulator. A central theme is the
importance of kinematics to robotic principles. The book is
accompanied by a CD-ROM with MATLAB simulations.
KEY FEATURES
• Discusses the major robot classifications including Wheeled
Mobile Robots, Legged Robots, and the Robotic
Manipulator.
• Provides an introduction to basic mechanics and electronics;
presents mathematical modeling concepts; and performs
robotic simulations using MATLAB.
• Includes extensive coverage of kinematics, integrated
ABOUT THE AUTHORS
throughout the book whenever appropriate.
Appin Knowledge Solutions is an affili-
ate of the Appin Group of Companies • Includes a CD-ROM with demos, MATLAB simulations, and
(based in Austin, Texas) and develops figures
software and training products in areas CONTENTS
such as information security, nanotech- 1. Introduction. 2. Basic Mechanics. 3. Basic Electronics. 4. Wheeled Mobile Robot. 5.
nology and robotics. Kinematics of Robotic Manipulator. 6. Legged Robots. 7. Perception. Practical examples.
Appendix. Index.

www.cengage.com/coursetechnology 25
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:37 AM Page 26

OTHER ADVANCED TOPICS

BUILDING PARALLEL PROGRAMS:


SMPS, CLUSTERS & JAVA NEW
Alan Kaminsky TITLE!
ISBN: 1-4239-0198-3 ISBN: 978-1-4239-0198-3 632 pp, ©2010

This book teaches students the craft of designing and build-


ing parallel programs—specifically programs that employ mul-
tiple processors operating at once to solve a large computa-
tional problem—with the clear presentation and fresh, con-
temporary. Written by experienced instructor and industry
developer Alan Kaminsky, it addresses techniques for parallel
programming on both major categories of parallel comput-
ers—SMPs and clusters.
KEY FEATURES
• Teach your students how to effectively design and code par-
allel programs with this book's clear, contemporary
approach that emphasizes the leading programming lan-
guage, Java. Students learn how to create complete, working
parallel programs that enable them to run programs across
several computers and test many versions of one problem
simultaneously.
• Cover the key techniques for successful parallel program-
ming on SMPs and clusters, today's primary categories of
ABOUT THE AUTHORS parallel computers. No other text leaves students as well
Alan Kaminsky, with 31 years of com- prepared for parallel programming success in today's mod-
puting experience spanning industry ern computing environment.
and academia, Alan Kaminsky has devel-
• Give students hands-on practice with programs written in
oped telephone switching system soft-
Java as they use the author-developed Java class library,
ware at Bell Laboratories, developed
Parallel Java. This tool is ideal for Java programmers just
real-time embedded control software
beginning to program in parallel.
and fuzzy genetic algorithms at Harris
Corporation, and worked on printer sys- • Emphasize the use and importance of performance metrics
tem architectures at Xerox Corporation. in the design of parallel programs, as this book delves into
Now an Associate Professor in the this topic that is not even addressed in most other texts.
Department of Computer Science at the CONTENTS
Rochester Institute of Technology, Part I – PRELIMINARIES.1. Parallel Computing.2. Parallel Computers.3. How to Write
Professor Kaminsky teaches and con- Parallel Programs.4. A First Parallel Program.Part I - EXERCISES.Part II – SMPs.5. Massively
ducts research in parallel computing, Parallel Problems.6. SMP Parallel Programming.7. Massively Parallel Problems, Part 2.8.
Measuring Speedup.9. Cache Interference.10. Measuring Sizeup.11. Parallel Image File
computational science, distributed sys-
Generation.12. Load Balancing.13. Reduction.14. Parallel Random Number Generation.15.
tems, ad hoc collaborative applications, Reduction, Part 2.16. Sequential Dependencies.17. Barrier Actions.18. Overlapping.Part II
cryptography, security, small mobile EXERCISES.Part III – CLUSTERS.19. A First Cluster Program.20. Parallel Message Passing.21.
wireless devices, wireless networking, Massively Parallel Problems, Part 3.22. Data Slicing.23. Load Balancing, Part 2.24. Measuring
and ad hoc networking. Communication Overhead.25. Broadcast.26. Reduction, Part 3.27. All-Gather.28.
Pipelining.29. Overlapping, Part 2.30. All-Reduce.31. All-to-All.Part III - EXERCISES.Part IV –
HYBRID SMP CLUSTERS.32. Massively Parallel Problems, Part 4.33. Load Balancing, Part
3.34. Partitioning and Broadcast, Part 2.35. Parallel Datastore Querying.Part IV - EXERCIS-
ES.Part V – APPLICATIONS.36. MRI Spin Relaxometry.37. DNA Sequence Querying.38.
Phylogenetic Tree Construction.Appendices.A. Parallel Programming Projects.B. Numerical
Methods.C. OpenMP.D. Message Passing Interface (MPI).E. Lock-Free Concurrent
Programming.

26 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:37 AM Page 27

BUILDING INTERACTIVE SYSTEMS: PRINCIPLES

OTHER ADVANCED TOPICS


FOR HUMAN-COMPUTER INTERACTION
Dan Olsen
NEW
ISBN: 1-4239-0248-3 ISBN-13: 978- 1-4239-0248-5 672 pp, ©2010 TITLE!
This innovative text focuses on the architectures, mathe-
matics, and algorithms that are integral to creating reliable
user interfaces. The first sixteen chapters cover the con-
cepts required for current graphical user interfaces, includ-
ing specific emphasis on the Model-View-Controller archi-
tecture. The second part of the book provides an overview
of key research areas in interactive systems, with a focus
on the algorithms required to implement these systems.
Using clear descriptions, equations,and pseudocode, this
text simplifies and demystifies the development and appli-
cation of a variety of user interfaces.
KEY FEATURES
• Intended for an upper-division or graduate course in com-
puter graphics.
• Offers coverage of event-handling techniques and how
they integrate with modern development environments.
• Discusses architectures for implementing both simple and
complex interactive components.
ABOUT THE AUTHORS
Dr. Dan Olsen has been researching in • Includes an extensive appendix that covers many of the
interactive technologies for 30 years. He algorithms and mathematics referenced in the text.
has done work in generating interactive • Provides various techniques for text entry and discusses
systems, network-based interaction, their comparative advantages in different situations.
human-robot interaction, and portable CONTENTS
devices. He is the founding editor of 1. Introduction. 2. Drawing. 3. Event Handling. 4. Widgets. 5. Layout and Constraints.
ACM's Transactions on Computer 6. Multi-View Models. 7. Abstract Model Widgets. 8. Look and Feel. 9. Interface
Human Interaction and has received a Development Environments. 10. Internationalization.1 1. Dialog Design. 12. 2D
number of awards for his service and Geometry. 13. Geometric Transformations. 14. Interacting with Geometry. 15. Cut,
research in the field. He was the Copy, Paste. 16. Undo. 17. Distributed Interaction. 18. Functional Design. 19. Text Input.
Director of the Human-Computer 20. Digital Ink. 21. Selection and Fitts Law. 22. Display Space Management. 23.
Presentation Architecture. 24. Physical Interaction. 25. Web Interaction. 26.
Interaction Institute at Carnegie Mellon
Evaluation.Appendix – Math and Algorithms.
University and is currently a Professor
of Computer Science at Brigham Young
University.

www.cengage.com/coursetechnology 27
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:37 AM Page 28

OTHER ADVANCED TOPICS

PROGRAMMING LANGUAGES:
PRINCIPLES AND PRACTICE, SECOND EDITION
Kenneth C. Louden
ISBN: 0-534-95341-7 ISBN-13: 978-0-534-95341-6 720 pp, ©2003

CONTENTS
Introduction. History. Language Design Principles. Syntax. Basic Semantics.Data Types. Control I - Expressions
and Statements. Control II - Procedures and Environments. Modules and Abstract Data Types. Object-Oriented
Programming. Functional Programming. Logic Programming. Formal Semantics. Parallel Programming.

COMPILER CONSTRUCTION: PRINCIPLES AND PRACTICE


Kenneth C. Louden
ISBN: 0-534-93972-4 ISBN-13: 978-0-534-93972-4 592 pp, ©1997

CONTENTS
Introduction. Scanning. Context-Free Grammar and Parsing. Top-Down Parsing. Bottom-Up Parsing. Semantic
Analysis. Runtime Environments. Code Generation. Appendices: Compiler Project, Tiny Compiler Listing, Tiny
Machine Simulator Listing.

HUMAN-COMPUTER INTERACTION
Serengul Smith-Atakan
ISBN: 1-844-80-454-2 ISBN-13: 978-1-844-80-454-2 224 pp, ©2006

CONTENTS
Introduction. Making Interactive Systems Feel Natural for Users. User Modeling in User-Centred-System Design
(UCSD). The User-Centred System Design Process. Task Analysis. Requirements Gathering, Storyboarding and
Prototyping. Psychology: Memory. Cognitive Psychology: Perception. Evaluation. UCSD and Advanced Technology.
Universal Access and “Design for All”. Review.

28 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:37 AM Page 29

DATABASE PRINCIPLES AND DESIGN,

OTHER ADVANCED TOPICS


SECOND EDITION
Colin Ritchie
ISBN: 1-844-80540-9 ISBN-13: 1-844-80540-2 416 pp, ©2008

CONTENTS
Introduction and Background. The Relational Data Model. Conceptual Database Design. Physical Database Design.
Interfacing with the Database. Trasactions. Integrity and Security. Networked and Distributed Systems. Post
Relational Databases. Webg Databases. XML and Databases. Learning SQL. Learning Microsoft Access.

COMPUTER HARDWARE
Barry G. Blundell
ISBN: 1-844-80751-7 ISBN-13: 1-844-80751-2 240 pp, ©2008

CONTENTS
Computer Hardware. Aspects of Computer Operation. Fundamentals of Computer Operation. Computer Internals
and Memory. Computer Operation and Buses. Logic Gates and ASCII. Interrupts and I/O. Storage Devices and
Processor Basics. Multimedia, Networking and the Internet. Networking and Revision.

www.cengage.com/coursetechnology 29
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:37 AM Page 30

OTHER ADVANCED TOPICS

INTRODUCTION TO THE THEORY


OF COMPUTATION, INTERNATIONAL EDITION,
SECOND EDITION Michael Sipser
ISBN: 0-619-21764-2 ISBN-13: 978-0-619-21764-8 456 pp, ©2005

KEY FEATURES
• revised for currency with updated examples and end-of-chapter exercises
that review definitions, concepts, and problems to challenge and extend
students’ understanding
• covers the foundations of theoretical computing designed around theorems
and proofs
• includes Worked Out Examples throughout the text that make topics
conducive to students’ learning
• uses a student-friendly approach to teach computer theory
CONTENTS
Introduction. Automata and Languages. Regular Languages. Context-Free Languages. Computability Theory.
The Church-Turing Thesis. Decidability. Reducibility. Advanced Topics in Computability Theory. Complexity Theory.
Time Complexity. Space Complexity. Intractability. Advanced Topics in Complexity Theory. Selected Bibliography.
SUPPLEMENT
Solutions Manual

ASSEMBLY LANGUAGE AND COMPUTER


ARCHITECTURE USING C++ AND JAVA
Anthony J. Dos Reis
ISBN: 0-534-40527-4 ISBN-13: 978-0-534-40527-4 816 pp, ©2004

KEY FEATURES
• covers the H1 (an easy-to-learn computer model), the SPARC, the
Pentium, and the Java Virtual Machine
• allows students to implement new architectures with the included
software, which runs on DOS, Windows, X86 Linux, SPARC Sun Solaris,
and Macintosh OS X
• prepares students for advanced courses in computer science and
engineering, including compiler design, programming languages design,
operating systems, systems programming, computer engineering, and
advanced architecture
CONTENTS
Number Systems. Machine Language. H1 Assembly Language: Part 1. H1 Assembly Language: Part 2. Basic
Electronics and Digital Logic. Microlevel of H1 and V1. Evaluating the Instruction Set Architecture of H1: Part 1.
Evaluating the Instruction Set Architecture of H1. Advanced Assembly Language Programming. Linking and
Loading. Implementing an Assembler and Linker Using C++ or Java. Optimal Instruction Set. Using, Evaluating, and
Implementing the Optimal and Stack Instruction Sets. Memory Systems. Some Modern Architectures. Java Virtual
Machine. Appendices: A. Instruction Sets Summaries. B. Microlevel Summary. C. Microcode for the Standard
Instruction Set (s.has). D. SPARC Summary (sparc.txt). E. JVM Summary(jvm.txt). F. ASCII (ascii.txt) . G. Number
Conversion Summary (number.txt). H. Help with C++ for Java Programmers.

30 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 31

OTHER ADVANCED TOPICS


ACTIVE SERVICES
CONCEPTS, ARCHITECTURE AND IMPLEMENTATION
Yaoxe Zhang and Cunhao Fang
ISBN: 981-254-365-1 ISBN-13: 987-981-254-365-3 292 pp, ©2005

As Internet use becomes increasingly widespread, users


continually raise demands on its applications and services.
However, Internet services—usually created by software
developers—do not currently possess intelligent and self-
adapting functions. Fortunately, the development of
component technology, artificial intelligence technology, data
mining and Web service technologies laid a solid foundation
for research and development into active self-adapting
services.
Active Services: Concepts, Architecture and Implementation
toouches upon two new concepts in computer and Internet
sciences. “Active services” address the constraints of Web
services, which are generally based on fixed models and are
incapable of adjusting to user requirements. “Program
mining” involves searching for existing components on the
Internet and reusing them according to requirements.
KEY FEATURES
ABOUT THE AUTHOR • Introduces ‘active services,’ a new computing model on the
ZHANG Yaoxue is a professor at Tsinghua Internet, which addresses the constraints of Web services
University, and Director General of the Higher based on fixed models and the incapability to adjust to
Education Department, Ministry of Education
(MOE) in China. Dr. Zhang received his bachelor of
users’ requirements.
engineering from Xidian University, and his masters • ‘Program mining’ is another new model on how to discover
and doctorate in engineering from Tohoku
and search existing components on the Internet and reuse
University, Japan. His major academic research
areas include computer network and operating them according to user requirements, construct new pro-
systems, specializing in routing algorithms, control gram systems, adapt to user requirements with these new
algorithm of QoS (Quality of Service), protocol
program systems, and provide active services.
engineering, pervasive computing (ubiquitous) .
Dr. Zhang has published over 150 papers in CONTENTS
international journals and conferences, and he has 1. Introduction. 2. Web Services Architecture. 3. Active Services Architecture. 4. Program
been serving as an editorial board member for Mining: Implementation of Active Services. 5. Description of User Requirements and
several academic journals such as the International Interface for Program Mining. 6. Universal Component Description Language and
Journal of Wireless and Mobile Computing, and the Its Conversion. 7. Organization, Classification and Retrieval of Component Resources. 8.
Journal of Computer Science and Technology. Component Composition and Program Publication. 9. Agents in Program Mining. 10.
Prototype System, Application Examples, and Future Work. Index.
FANG Cunhao is currently an Assistant Research
Fellow at the Institute of HCI and Media Integration
at Tsinghua University. He received his Bachelor and
Masters degrees from Zhejiang University, and his
Doctorate (all in Engineering) from Tsinghua
University. Fang’s research interests include
pervasive computing (ubiquitous), active services,
and program mining.

www.cengage.com/coursetechnology 31
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 32

OTHER ADVANCED TOPICS

ORDERING CHAOS
REGULATING THE INTERNET
Peng Hwa Ang
ISBN: 981-243-715-0 ISBN-13: 978-981-243-715-0 228 pp, ©2005

Back in the early 1990s, in its infancy, the Internet was said by
many to be incapable of being regulated and that it should
stay that way. This book shows why the Internet needs
regulating and how it has been and can be done. It takes
empirical evidence from real-life cases and uses them to
explain regulatory approaches and paradigms.
The book adopts an expansive view of regulation, including
the deployment of technology, the use of market forces, the
formulation of industry self-regulation as well as legislation. It
shows the possibilities and limits of the regulatory
approaches and why policy makers should take a light-handed
approach to regulation—attempting alternative regulatory
means and letting technology “settle” before passing
legislation.
KEY FEATURES
• Offers an international perspective and future outlook of
the Internet.
ABOUT THE AUTHOR
• Discuss on the policy rationale behind the Internet laws.
Peng Hwa Ang is Dean of the School of
Communication and Information, • Written with a declarative style, which is unusual compared
Nanyang Technological University, to other law and policy books.
Singapore. A lawyer by training, Dr. Ang • A more practical approach based on tested frameworks.
worked as a journalist before obtaining
CONTENTS
his Ph.D. in mass media at Michigan
1. Introduction
State University. His work on Internet
The Value of Regulation / Accepting International Regulations / Conclusion
regulation has been presented before 2. Framework for Regulating the Internet
government and private bodies in Introduction / Modes of Regulation / A Suggested Framework for Regulation /
Singapore as well as development Conclusion
agencies such as the United Nations 3. Censorship and Content Regulation of the Internet
Development Program. He is a board Introduction / History of Regulation / Problems of Internet Censorship / Methods of
member of the Internet Content Censorship / Trends / Conclusion
Rating Association, which is working to 4. The Possibilities and Limits of Self-regulation
Self-regulation / What is Self-Regulation? / Requirements for Effective Self-regulation /
create an internationally accepted seal
Advantages and Disadvantages of Self-Regulation / Problems with Self-regulation of
of self-rating. In 2004, he was the Internet / Is Self-Regulation the Only Way? / Impact of Self-Regulation / Conclusion
nominated a member of the United 5. Liability for Third-Party Content
Nations’ Working Group on Internet Introduction / Defamation in the UK / Analysis / Conclusion / Appendix 5.1 The US /
Governance. Appendix 5.2 European Union / Appendix 5.3 Germany / Appendix 5.4 Sweden /
Appendix 5.5 Singapore / Appendix 5.6 India / Appendix 5.7 Bermuda
6. Privacy Regulation on the Internet
Introduction / The Issues / Modes of Regulation / Recommendations / Conclusion
7. Issues Arising from the Internet
Child Pornography / Consumer Fraud and Cybercrime / Defamation / Copyright /
Spam / Conclusion
8. Internet Regulation in the Future
Forget a Paradigm / Predicting the Path of Developing Regulations / Multi-layered
Approach / Caveat / Conclusion
Epilogue. Bibliography. Index.

32 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 33

CONCEPTS
JUST ENOUGH PROGRAMMING LOGIC AND
DESIGN NEW
Joyce Farrell TITLE!
ISBN: 1-4390-3957-7 ISBN-13: 978- 1-4390-3957-1 296 pp, ©2009

Just Enough Programming Logic and Design is a language-


independent introduction to programming logic. Just Enough
consists of seven chapters that cover the fundamentals of
programming logic--introductory concepts, structure, deci-
sion-making, looping, array manipulation, calling methods,
and an introduction to object-oriented programming.
KEY FEATURES
• Readers will find a complete course in logic while still allow-
ing time for language instruction in the same semester.
• Content is presented in a clean, streamlined format, to help
readers move through the subject matter quickly.
• 15 Review Questions at the end of each chapter provide a
review of major concepts.
• Debugging exercises contain syntax and/or logical errors
that students fix. Completing these exercises provides valu-
able experience in locating errors, interpreting code written
by others, and observing how another programmer has
ABOUT THE AUTHOR approached a problem.
Joyce Farrell is also the author of • Ten or more programming exercises at the end of each
several books published by Course chapter provide students with experience in developing
Technology, a part of Cengage Learning. logic for large and small programs that emphasize the main
Joyce was formerly Assistant Professor points learned in each chapter
of Computer Information Systems at
CONTENTS
Harper College in Palatine, IL. Prior to 1. An Overview of Computers and Logic. 2. Understanding Structure. 3. Making Decisions.
joining Harper College, Joyce taught 4. Looping. 5. Arrays. 6. Methods. 7. Object-Oriented Programming. APPENDIX A: Solving
Computer Information Systems at the Difficult Structuring Problems. APPENDIX B: Understanding Numbering Systems and
University of Wisconsin – Stevens Point Computer Codes. APPENDIX C: Data Verification and Software Testing.
and McHenry County College in Crystal
Lake, Illinois.

www.cengage.com/coursetechnology 33
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 34

CONCEPTS

PROGRAMMING LOGIC AND DESIGN


COMPREHENSIVE, FIFTH EDITION
Joyce Farrell
ISBN: 1-4239-0196-7 ISBN-13: 978-1-4239-0196-9 364 pp, ©2008

With a clear writing style that is stripped of highly technical


jargon, Programming Logic and Design, Comprehensive, Fifth
Edition provides beginning programmers with a guide to
developing structured program logic. The book's main goal is
to introduce universal programming concepts, while enforcing
good style and logical thinking along the way. Designed for
readers with little or no programming-language experience, it
begins with general programming concepts and key concepts
of structure. Coverage then progresses to the intricacies of
decision-making, looping, array manipulation, and methods.
Additional chapters discuss control-break programs, advanced
array-manipulation techniques, and file handling. After the
reader has mastered programming fundamentals, an extremely
thorough, yet easy-to-understand chapter covers the intricacies
of object-oriented programming. The book concludes with
chapters on event-driven programming, system modeling
with the UML, and the fundamentals of relation-database
management.
ABOUT THE AUTHOR KEY FEATURES
Joyce Farrell See page 33. • updated to reflect the current state of the industry and
the learning needs of today’s beginning programmers
• includes a completely revised approach to methods,
as well as an increased emphasis on input and output as
generic operations
• five appendices provide additional tools for structuring
large unstructured programs, creating print charts, using
the binary numbering system, working with large decision
tables, and testing software
• Don't Do It icons highlight common mistakes, helping
readers avoid making mistakes the first time around
• Game Zone engages readers by providing entertaining
exercises that ask them to create a game with the
knowledge they have gained
• can be packaged with Visual Logic software (see page 37)
CONTENTS
Preface. An Overview of Computers and Logic. Understanding Structure. The Program
Planning Process: Documentation and Design. Making Decisions . Looping. Arrays.
Modularization Techniques. Control Breaks. Advanced Array Manipulation. File Handling
and Applications. Object-Oriented Programming. Event-Driven Programming with
Graphical User Interfaces. System Modeling With the UML. Using Relational Databases.
Appendices. Glossary.

34 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 35

CONCEPTS
PROGRAMMING LOGIC AND DESIGN
INTRODUCTORY, FIFTH EDITION
Joyce Farrell
ISBN: 1-4239-0195-9 ISBN-13: 978- 1-4239-0195-2 456 pp, ©2008

With a clear writing style that is stripped of highly technical


jargon, Programming Logic and Design, Introductory, Fifth
Edition provides beginning programmers with a guide to
developing structured program logic. The book’s main goal is
to introduce universal programming concepts while enforcing
good style and logical thinking along the way. Designed for
readers with little or no programming-language experience,
it begins with basic general programming concepts and key
concepts of structure. Coverage then progresses to the
intricacies of decision-making, looping, array manipulation,
methods, and finally a summary chapter that incorporates all
of these principles in a discussion of control-break programs.
The newly revised fifth edition has been updated to reflect
the current state of the industry and the learning needs of
today’s beginning programmers. Finally, in the successful
tradition of previous editions, it is not language specific,
so the logic learned in this book can be applied to any
programming language.
ABOUT THE AUTHOR KEY FEATURES
Joyce Farrell See page 33. • additional figures, screen shots, and illustrations provide
readers with even more clear, concrete visualizations of
the execution of various programming tasks
• numerous flowcharting, pseudocoding, and debugging exercises
illustrate the concepts explained within the chapter,
• five appendices provide additional tools for structuring
large unstructured programs, creating print charts, using
the binary numbering system, working with large decision
tables, and testing software
• Don't Do It icon highlights common mistakes, helping
readers to avoid making mistakes the first time around
• Game Zone engages readers by providing entertaining
exercises that require them to create a game with the
knowledge they have gained
CONTENTS
Preface. An Overview of Computers and Logic. Understanding Structure. The Program
Planning Process: Documentation and Design. Making Decisions. Looping. Arrays.
Modularization Techniques. Control Breaks. Appendices: Appendix A: Solving Difficult
Structuring Problems . Appendix B: Creating Print Charts. Appendix C: Understanding
Numbering Systems and Computer Codes. Appendix D: Using a Large Decision Table.
Appendix E Data Verification and Software Testing. Glossary.

www.cengage.com/coursetechnology 35
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 36

CONCEPTS

C++ PROGRAMS TO ACCOMPANY PROGRAMMING


LOGIC AND DESIGN
Jo Ann Smith NEW
TITLE!
ISBN: 0-324-78144-X ISBN-13: 978-0-324-78144-1 180 pp, ©2010

C++ PROGRAMS TO ACCOMPANY PROGRAMMING LOGIC AND


DESIGN is designed to be paired with the Fifth Edition of the highly suc-
cessful Programming Logic and Design by Joyce Farrell. The two books
together provide the perfect opportunity for those who want to learn
the fundamentals of programming and also get a taste of an actual pro-
gramming language. Users can discover how real C++ code behaves
while remaining within the context of the traditional language-inde-
pendent logic and design course.
KEY FEATURES
• Creates an ideal environment for learning the basics of logic and
design, while also providing an introduction to C++.
• Contains ten concise chapters that correspond to chapters in
Programming Logic and Design, Fifth Edition.
• Contains exercises and labs that provide an opportunity to apply new
programming concepts.
• Works well with both the Introductory and Comprehensive versions of
Programming Logic and Design, Fifth Edition.
CONTENTS
1. An Introduction to C++ and the C++ Programming Environment.2. Variables, Operators, and Writing
Programs Using Sequential Statements.3. Writing Structured C++ Programs.4. Writing Programs That
Make Decisions.5. Writing Programs Using Loops.6. Using Arrays in C++ Programs.7. Using Functions in
C++ Programs.8. Writing Control Break Programs in C++.9. Sorting Data and File Input/Output.10. Writing
and Using a Programmer Defined Class.

JAVA PROGRAMS TO ACCOMPANY PROGRAMMING


LOGIC AND DESIGN, SECOND EDITION NEW
Jo Ann Smith
EDITION!
ISBN: 1-4239-0229-7 ISBN-13: 978- 1-4239-0229-4 208 pp, ©2009

CONTENTS
An Introduction to Java and the Java Programming Environment. Variables, Operators, and Writing Programs
Using Sequential Statements. Java Programs That Illustrate Structure and Modularization. Writing Programs that
Make Decisions. Writing Programs Using Loops. Using Arrays in Java Programs. Subroutines and Parameter
Passing in Java. Writing Control Break Programs in Java. Sorting Data. Additional Topics.
Java “PAL” is designed to accompany…
Programming Logic and Design, Fifth Edition, by Joyce Farrell
Introductory: 1-4239-0195-9
Comprehensive: 1-4239-0196-7

36 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 37

VISUAL BASIC PROGRAMS TO ACCOMPANY

CONCEPTS
PROGRAMMING LOGIC AND DESIGN
Jo Ann Smith NEW
EDITION!
ISBN: 1-4239-0249-1 ISBN-13: 978-1-4239-0249-2 180 pp, ©2009

CONTENTS
An Introduction to VB.NET and the VB.NET Console Programming Environment. Variables, Operators, and
Writing Programs Using Sequential Statements. Writing Structured VB.NET Programs. Writing Programs
That Make Decisions. Writing Programs Using Loops. Using Arrays in VB.NET Programs. Using Methods in
VB.NET Programs. Writing Control Break Programs. Sorting Data and File Input/Output. Additional Topics.

Java “PAL” is designed to accompany…


Programming Logic and Design, Fifth Edition, by Joyce Farrell
Introductory: 1-4239-0195-9
Comprehensive: 1-4239-0196-7

AN OBJECT-ORIENTED APPROACH
TO PROGRAMMING LOGIC AND DESIGN,
SECOND EDITION
Joyce Farrell
ISBN: 1-4239-0184-3 ISBN-13: 978-1-4239-0184-6 440 pp, ©2008

An Object-Oriented Approach to Programming Logic and Design, Second


Edition is a language-independent introduction to programming logic using
object-oriented principles. It introduces programming concepts and
enforces good style and logical thinking. Joyce Farrell is well-known for her
Programming Logic and Design book, which takes a procedural approach to
programming. An Object-Oriented Approach to Programming Logic and
Design, Second Edition offers similar topical coverage and pedagogy, but it
introduces the user to the world of object-oriented programming. Designed
for a first course in programming, no programming experience is required and
the text does not focus on any particular language.
KEY FEATURES
• can be used alone in a logic course or as a companion to a programming-
ABOUT THE AUTHOR language text in an introductory language course
Joyce Farrell See page 33. • introduces classes, objects, behaviors, and attributes very early on and
includes chapters on other object-oriented topics such as inheritance and
exception handling
• provides a complete class example in most chapters to demonstrate the
application of topics learned
• chapters end with a Summary, Key Terms, Review Questions, Exercises,
and a Case Project involving a hypothetical business
• translates easily to modern languages such as C#, C++, Java, and Visual
Basic
CONTENTS
An Overview of Computers and Logic. Understanding Structure. Making Decisions. Looping. Using Arrays.
Using Methods and Parameters. Object-Oriented Programming Concepts – Classes, Objects, Behaviors,
Attributes. Event-Driven Programming With Graphical User Interfaces. Object Concepts: Polymorphism and
Inheritance. Understanding Exception Handling. System Modeling With UML. Advanced Array Concepts.
Appendices. Glossary.

www.cengage.com/coursetechnology 37
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 38

CONCEPTS

VISUAL LOGIC
Vanguard
ISBN: 1-4188-3773-3 ISBN-13: 978-1-4188-3773-0 CD-ROM, ©2006

HELP YOUR STUDENTS


UNDERSTAND THE LOGIC
OF PROGRAMMING
Visual Logic is a simple but powerful tool
for teaching programming logic and design
without traditional high-level programming
language syntax. It uses flowcharts to explain
essential programming concepts, including
variables, input, assignment, output, conditions,
loops, procedures, graphics, arrays, and files.
KEY FEATURES
• offers the ability to interpret and execute
flowcharts, providing students with
immediate and accurate feedback about
Visual Logic flowchart solution to High-Low Game their solutions
• combines the power of a high-level language
with the ease and simplicity of flowcharts
• can be used with a number of Course
Technology programming books,
particularly those designed for an early
course in programming in which students
are learning concepts and fundamentals,
using flowcharts

Visual Logic graphic For a demonstration and FAQs,


output (TicTacToe) visit www.visuallogic.org

Visual Logic graphic output


(Ticking Clock)

Visual Logic execution output


for High-Low Game

AVAILABLE STAND-ALONE OR WITH ANY


COURSE TECHNOLOGY PROGRAMMING TEXTBOOK

38 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 39

JAVA™ PROGRAMMING,

PROGRAMMING — JAVA
INTERNATIONAL EDITION, FIFTH EDITION
Joyce Farrell NEW
EDITION!
ISBN: 1-4390-4021-4 ISBN-13: 978-1-4390-4021-8 870 pp, ©2010

Java Programming, Fifth Edition, International Edition provides


the beginning programmer with a guide to developing appli-
cations using the Java programming language. Java is popular
among professional programmers because it can be used to
build visually interesting GUI and Web-based applications.
Java also provides an excellent environment for the beginning
programmer – a student quickly can build useful programs
while learning the basics of structured and object-oriented
programming techniques.
KEY FEATURES
• Includes many engaging programming exercises with each
chapter, including several in the Game Zone that allow stu-
dents to experiment with game-construction logic.
• New Quiz Feature: Two Truths and a Lie quizzes review each
chapter section.
• New critical thinking feature: "Tough Questions".
• New "Don't Do It" sections that caution students about fre-
ABOUT THE AUTHOR quently-made mistakes.
Joyce Farrell is also the author of • Figures updated throughout the text to provide more clari-
several books published by Course fying callouts for students.
Technology, a part of Cengage Learning. • New appendix on creating javadoc comments.
Joyce was formerly Assistant Professor • Includes many engaging programming exercises with each
of Computer Information Systems at chapter, including several in the Game Zone that allow stu-
Harper College in Palatine, IL. Prior to dents to experiment with game-construction logic.
joining Harper College, Joyce taught
• Includes quizzes called Two Truths and a Lie that review
Computer Information Systems at the
each chapter section.
University of Wisconsin – Stevens Point
and McHenry County College in Crystal • Offers a new critical thinking feature called Tough
Lake, Illinois. Questions.
• Cautions to students about frequently-made mistakes in the
"Don't Do It" sections.
• Provides clarifying callouts in many of the figures through-
out the text.
• Contains an appendix on creating javadoc comments.
CONTENTS
1. Creating Your First Java Classes. 2. Using Data Within a Program. 3. Using Methods,
Classes and Objects. 4. More Object Concepts. 5. Making Decisions. 6. Looping. 7.
Characters, Strings and the StringBuilder. 8. Arrays. 9. Introduction to Inheritance. 10.
Advanced Inheritance Concepts. 11. Exception Handling. 12. File Input and Output. 13.
Introduction to Swing Components. 14. Advanced GUI Topics. 15. Graphics. 16. Applets,
Images, and Sound. Appendix A: Working with the Java Platform 6.0. Appendix B:
Learning about ASCII and Unicode. Appendix C: Formatting Output. Appendix D:
Generating Random Numbers. Appendix E: Javadoc.

www.cengage.com/coursetechnology 39
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:45 AM Page 40

PROGRAMMING — JAVA

LEARN TO PROGRAM JAVA, THIRD EDITION


Danny C.C. POO and Chee Seong TAN

ISBN: 981-265-880-7 ISBN-13: 987-981-265-880-7 396 pp, ©2006

This book is designed for readers with little or no experience


in computer programming. By using a “fundamentals-first”
approach, the readers can learn Java in a systematic and prac-
tical manner. The case studies and exercises at the end of the
chapters enable readers to proactice what they have learnt.
KEY FEATURES
• introduces Java as a computer programming language.
• teachers Java and object-oriented programming using a
systematic “fundamentals-first approach.
• rich in practical exercises and solutions.
• most suitable for begineers to computer programming.
CONTENTS
1. Computeer Programming
2. Basic Building Blocks
3. Expressions, Statements, and Operators
4. Sequence, Selection Iteration, and Array
5. Procedures and Functions
ABOUT THE AUTHOR
6. Classes and Objects
Danny Poo is an associate professor at 7. The Java Application Programming Interface
the School of Computing, National 8. Inputs and Outputs
University of Singapore. He currently 9. Encapsulation and Polymorphism
teaches Enterprise JavaBeans to under- 10. Multiple Inheritance and Interface
graduates at the university and has been Appendix A: Programming Objectives
actively involved in teaching software Appendix B: Solutions to Exercises
Engineering and Java programming. He Index
is also the author of Object-Oriented
Programming and Java, Developing
Systems Using J2EE, and Learn to
Program Enterprise JavaBeans.

Chee Seong Tan is a lecturer at the


School of Info-Communication
Technology, Singapore Polytechnic. He
has several years of experience teaching
programming modules at polytechnic
level, and was a recipient of the presti-
gious “Excellence in Teaching Award”
from Singapore Polytechnic in 2003.

40 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 41

PROGRAMMING — JAVA
LEARN TO PROGRAM JAVA USER INTERFACE
Danny C.C. POO and Chee Seong TAN

ISBN: 981-243-515-8 ISBN-13: 978-981-243-515-6 383 pp, ©2007

Learn to Program Java User Interface focuses on the develop-


ment of graphical user interface in Java. Readers are assumed
to have prior knowledge in Java programming, Topics covered
in this book include: the Java Graphical User Interface (GUI)
model, windows, frames, layout mangers, panels, compo-
nents, text fields, buttons, lists, dialogs, menus, and event
handling in interactive user interface design.
CONTENTS
1. The Java Graphical User Interface Model
2. Windows, Layout Managers, and Panels
3. User Interactions and Event Handling
4. Labels, Buttons and Combo Boxes
5. Text Components
6. Viewing Contents Through Panes
7. Editing Styled Texts in Editor Panes
8. Dialogs
9. Menus
Appendix A: Additional Code

ABOUT THE AUTHOR


Danny Poo is an associate professor at
the School of Computing, National
University of Singapore. He currently
teaches Enterprise JavaBeans to under-
graduates at the university and has been
actively involved in teaching software
Engineering and Java programming. He
is also the author of Object-Oriented
Programming and Java, Developing
Systems Using J2EE, and Learn to
Program Enterprise JavaBeans.

Chee Seong Tan is a lecturer at the


School of Info-Communication
Technology, Singapore Polytechnic. He
has several years of experience teaching
programming modules at polytechnic
level, and was a recipient of the presti-
gious “Excellence in Teaching Award”
from Singapore Polytechnic in 2003.

www.cengage.com/coursetechnology 41
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 42

PROGRAMMING — JAVA

JAVA ACTUALLY:
A COMPREHENSIVE PRIMER IN JAVA PROGRAMMING
Khalid A. Mughal
ISBN: 1-844-80-933-1 ISBN-13: 1-844-80-933-2 400 pp, ©2008

KEY FEATURES
• up to date with Java technology including Java 6.0 and JDK 1.6
• practical usage of Java emphasized through examples
• emphasizes concepts over syntax and focuses on problem-solving techniques
• modeling of abstractions and data structures are explained and illustrated
with UML diagrams
• a case study in developing a game (Four in a Row) is used to illustrate
test-driven development
• exercises varying in scale and level of difficulty to help practice and develop
programming skills
• source code for all the examples in the book are available on the accompanying
Web site, and students will also find links to useful resources such as articles/
tutorials on programming, Web browsers, Java tools and more
CONTENTS
Part I STRUCTURED PROGRAMMING. Getting Started. Basic Programming Elements. Program Control Flow.
Part II OBJECT-BASED PROGRAMMING. Using Objects. More on Control Structures. Arrays. Defining Classes.
Object Communication. PART III: PROGRAM BUILDING BLOCKS. Sorting and Searching Arrays. Text File I/O and
Simple GUI Dialogue . Part IV OBJECT-ORIENTED PROGRAMMING. Inheritance. Program Develop Cycle. Sorting
& Searching. Dynamic Data Structure. Recursion. Exception Handling. Files and Streams. Threads. Graphical User
Interfaces. Appendixes: A. Annotated Answers to Review Questions. B. Language Reference. C. Formatted Printing.
D. Overview of Unicode Character Set. E. Java Coding Style. F. Number System and Number Representation.
G. Programming Tools in the Java Development Kit (JDK). H. Introduction to UML.

JAVA ACTUALLY:
A FIRST COURSE IN PROGRAMMING
Khalid A. Mughal, Torill Hamre, & Rolf W. Rasmussen
ISBN: 1-844-80-418-6 ISBN-13: 978-1-844-80-418-4 416 pp, ©2007

KEY FEATURES
• thorough coverage of essential topics, such as control structures followed
by object-based programming
• complete program examples that can be downloaded for experimenting
• “Best Practice” tips to promote good programming habits
• problems that illustrate programming concepts
• UML (Unified Modeling Language) to graphically illustrate program design
• examples that test program behavior using assertions
CONTENTS
Getting Started. Part I: Structured Programming. Basic Programming Elements. Program Control Flow. Part II: Object-
Based Programming. Using Objects. More on Control Structures. Arrays. Defining Classes. Object Communication.
Part III: Program Building Blocks. Sorting and Searching Arrays. Text File I/O and Simple GUI Dialogue.

42 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 43

PROGRAMMING — OBJECT-ORIENTED JAVA


OBJECT-ORIENTED PROGRAM DEVELOPMENT
USING JAVA: A CLASS-CENTERED APPROACH,
ENHANCED EDITION
Gary J. Bronson
ISBN: 0-619-21720-0 ISBN-13: 978-0-619-21720-4 792 pp, ©2006

KEY FEATURES
• maps to the new release of JDK 5.0 (JDK 5.0 and jGrasp are included with
every student copy of the text)
• object-oriented design procedures and UML are introduced in Chapter 1
and clearly applied in “Program Design and Development” sections
• provides access to the Testing Center, an exciting Web site that offers
hands-on programming testing and conceptual testing
• includes robust pedagogy, such as exercises within chapters, Common Pro-
gramming Errors, and Point of Information boxes that clarify common concepts
• enriches learning with Closer Look sections and Programming Notes
• optional OWL bundle provides online assessment and training
CONTENTS
Creating and Using Java Classes. Introduction. Creating Classes. Developing Class Methods. Methods and Statements.
Input and Formatting Class Methods. Selection. Repetition. Reference and Collection Data Types. Strings and
Characters. Collections: Arrays. Creating Swing-Based GUIs. Visual Programming Basics. Additional Components and
Event Handlers. Additional Programming Topics. Additional Class Capabilities. Files. Collections: List Creation and
Maintenance. Additional Capabilities. Appendix A: Operator Precedence Table. Appendix B: Unicode Character Set.
Appendix C: Compiling and Running a Java Program. Appendix D: Obtaining Locales. Appendix E: Creating Leading
Spaces. Appendix F: Creating and Using Packages. Appendix G: A Keyboard Input Class. Appendix H: Applets.
Appendix I: Real Number Storage. Appendix J: Solutions and Source Code.

AN INTRODUCTION TO JAVA PROGRAMMING


AND OBJECT-ORIENTED APPLICATION DEVELOPMENT
Richard A. Johnson
ISBN: 0-619-21746-4 ISBN-13: 978-0-619-21746-4 760 pp, ©2007

KEY FEATURES
• teaches basic structured programming using Java and then presents
a complete and logical development of object-orientation using Java
• explains concepts first, then introduces applications to support the theory
so students may explore how Java can be used in real-world object-oriented
application development
• sections called “Learn the Concepts” and “Apply the Concepts” clearly
identify and modularize discussions of major topics
• includes JDK 5.0 and jGRASP software on CD
CONTENTS
Computers, Programming, and Application Development. Fundamentals of Java Programming. Making Decisions
with Java. Repeating Program Statements. Methods and Classes. Arrays. Characters, Strings and Formatting.
Exceptions and Assertions. File Input and Output. Graphical User Interfaces. Object-Oriented Application
Development: Part I. Object-Oriented Application Development: Part II. An Introduction to the UML. An
Introduction to the Unified Process.

www.cengage.com/coursetechnology 43
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 44

PROGRAMMING — C++

C++ PROJECTS:
PROGRAMMING WITH TEXT-BASED GAMES NEW
Michael Dawson
TITLE!
ISBN: 1-4239-0227-0 ISBN-13: 978-1-4239-0227-0 200 pp, ©2009

C++ Projects: Programming with Text-Based Games is a short


text that offers fun C++ game programming examples, with
detailed explanations, as a way to explore standard C++ pro-
gramming topics. Each chapter focuses on one or two topics
and presents a single game program that shows the topics in
action. The book is designed to be paired with any popular pri-
mary C++ text.
KEY FEATURES
• A preview of concepts to prepare the reader and set the
stage for the game program to come.
• A game program that illustrates the concepts. The program
is always preceded by a design section and includes a full
code walk-through.
• Five programming projects related to the chapter topics.
Students are asked to improve the chapter game program
or write their own programs--often other simple games.
• Five discussion questions that ask students to think deeply
ABOUT THE AUTHOR about the chapter topics or the chapter game program.
Mike Dawson has worked as a program- CONTENTS
mer and a computer game designer. He 1. Variables and Standard I/O: Lost Fortune. 2. Truth and Branching: Guess My Number. 3. For
earned his bachelor¿s degree in Computer Loops and Arrays: Word Jumble. 4. Functions and References: Mad Libs. 5. Pointers:
Science from the University of Southern Inventory. 6. Classes, Part 1: Critter Caretaker. 7. Classes, Part 2: Tic-Tac-Toe 1.0. 8. Separate
California and currently teaches game Compilation: Tic-Tac-Toe 2.0. 9. Files and Streams: Trivia Challenge. 10. Dynamically Allocated
programming at UCLA Extension and The Memory and Linked Lists: Fox, Chicken and Grain. 11. Inheritance and Polymorphism: Tic-Tac-
Digital Media Academy at Stanford. In Toe 3.0. 12. Recursion and Binary Trees: Twenty Questions. 13. Standard Template Library:
addition to Python Programming for the Blackjack.1 4. Templates and Exceptions.
Absolute Beginner, he is also the author
of Beginning C++ Through Game
Programming.

44 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 45

PROGRAMMING — C++
BEGINNING C++ THROUGH GAME
PROGRAMMING, SECOND EDITION
Michael Dawson
ISBN: 1-59863-360-0 ISBN-13: 978-1-59863-360-3 384 pp, ©2007

KEY FEATURES
• assumes no prior programming experience
• covers all the basic C++ concepts an aspiring game programmer needs
• teaches C++ programming through the unique perspective of game creation
• includes hands-on projects to reinforce each new skill
• a final project combines all of the major topics learned
CONTENTS
Types, Variables, and Standard I/O: Lost Fortune. Truth, Branching, and the Game Loop: Guess My Number. For
Loops, Strings, and Arrays: Word Jumble. The Standard Template Library: Hangman. Functions: Mad-Lib. References:
Tic-Tac-Toe. Pointers: Tic-Tac-Toe 2.0. Classes: Critter Caretaker. Advanced Classes and Dynamic Memory: Game
Lobby. Inheritance and Polymorphism: Blackjack. Appendices.

JUST ENOUGH C/C++ PROGRAMMING


Guy Lecky-Thompson
ISBN: 1-59863-468-2 ISBN-13: 978-1-59863-468-6 400 pp, ©2008

KEY FEATURES
• takes an intelligent layperson's approach to C/C++ programming
• provides an introduction to the mechanics of programming, algorithm, and
program design
• offers information about programming in general, and C/C++ programming
and application design in particular
• gives the reader enough C language knowledge to be able to complete
practical programming projects without becoming sidetracked by the
peculiarities and complexities of the language
• includes summaries and how-to information for the main ANSI C libraries
and a pull-out section for quick reference
• companion Web site includes usable sample code for download and key
pointers on how the code can be adapted for real world use
CONTENTS
Introduction. Programming Recap. C Program Structure. Data Types & Variables. Decision Making. Console I/O.
Standard Libraries. Loops. Command Line Processing. User Defined Functions. File I/O. Complex Data Types.
Pointers. Pre-Processor Directives. From C to C++. C++ in Practice. Where Next?. Web References.

www.cengage.com/coursetechnology 45
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:31 PM Page 46

PROGRAMMING — C++

AN INTRODUCTION TO PROGRAMMING
WITH C++, FIFTH EDITION
Diane Zak
ISBN: 1-4188-3618-4 ISBN-13: 978-1-4188-3618-4 630 pp, ©2008

KEY FEATURES
• provides five labs in the Application Lessons, each with a different
approach: stop and analyze an existing program; plan and create a program;
modify an existing program; desk-check an existing program; and debug an
existing program
• incorporates Mini-Quizzes to test the student’s knowledge at various points
in each chapter
• includes How To boxes to summarize important concepts and provide a
quick reference for students
• uses standard C++ in the Concept and Application Lessons
• uses .NET C++ in the .NET Lessons
• can be purchased with Visual C++ 2005. Contact your sales representative
for more information
CONTENTS
An Introduction to Programming. Beginning the Problem-Solving Process. Completing the Problem-Solving Process
and Getting Started with C++. Variables, Constants, and Arithmetic Operators. The Selection Structure. More on the
Selection Structure. The Repetition Structure. More on the Repetition Structure. Value-Returning Functions. Void
Functions. Arrays. String Manipulation. Sequential Access Files. Classes and Objects. Appendices.

A FIRST BOOK OF C++, FROM HERE TO THERE,


THIRD EDITION
Gary J. Bronson
ISBN: 0-534-49281-9 ISBN-13: 978-053-449281-6 784 pp, ©2006

KEY FEATURES
• provides introductory programming students with a solid foundation
in the C++ programming language
• guides students through the syntax and semantics of C++ before
introducing classes
• offers a variety of end-of-section problems, including skill-builder
and programming exercises
• highlights key concepts through the use of numerous visual diagrams
• information boxes in each chapter contain useful technical point, tips,
and programming tricks used by industry professionals
• contains programs and code that have been written, compiled, and tested
with Microsoft Visual C++ .NET, which is available as an optional bundle
CONTENTS
Getting Started. Data Types, Declarations, and Displays. Assignments and Interactive Input. Selection. Repetition.
Modularity Using Functions. Completing the Basics. Arrays. Pointers. Strings as Character Arrays. Structures.
Introduction to Classes. Additional Class Capabilities. Class Functions, Conversions, and Inheritance. I/O File
Streams and Data Files. The Standard Template Library (STL). Appendices.

46 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 47

C++ FOR ENGINEERS AND SCIENTISTS,

PROGRAMMING — C++
INTERNATIONAL EDITION, THIRD EDITION NEW
Gary J. Bronson
EDITION!
ISBN: 1-4390-3950-X ISBN-13: 978-1-4390-3950-2 752 pp, ©2010

Now in its third edition, Bronson's C++ FOR ENGINEERS AND


SCIENTISTS, International Edition makes C++ accessible to
first-level engineering students as C++ maintains its strong-
hold in engineering and scientific communities. The text con-
tinues to take a pragmatic approach that incorporates actual
engineering and science problems for its applications and
examples. Students begin with a foundation in procedural pro-
gramming, moving into object-oriented concepts in the second
half of the text. This new edition also offers new case studies
and an expanded selection of examples from a variety of fields
including thermodynamics, optics, and fluid mechanics.
KEY FEATURES
• Educates students on the features of the ANSI/ISO stan-
dard.
• Includes material on the Standard Template Library and
recent C++ code standards.
• Give students an average of two completed applications per
chapter related to engineering topics.
CONTENTS
PART I – FUNDAMENTALS. 1. Preliminaries. 2. Application Solving Using C++. 3.
Assignment, Formatting, and Interactive Input. 4. Selection Statement. 5. Repetition
Statements. 6. Modularity Using Functions. 7. I/O File Streams and Data Files. 8. Arrays.
9. Completing the Basics. PART II - OBJECT-ORIENTED PROGRAMMING. 10. Introduction
to Classes. 11. Class Functions and Conversions. PART III - DATA STRUCTURES. 12.
Pointers. 13. Structures. PART IV - ADDITIONAL TOPICS. 14. Numerical Methods. 15. Bit
Operations. Appendices. A. Operator Precedence Table. B. ASCII Character Codes. C.
Floating Point Number Storage. D. Command Line Arguments.

www.cengage.com/coursetechnology 47
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 48

PROGRAMMING — OBJECT-ORIENTATED C++

OBJECT-ORIENTED PROGRAMMING
USING C++, INTERNATIONAL EDITION, FOURTH EDITION
Joyce Farrell
NEW
ISBN: 0-538-74709-9 ISBN-13: 978-0-538-74709-7 752 pp, ©2009 EDITION!
Using object-oriented terminology from the start, Object-
Oriented Programming Using C++, Fourth Edition will provide
readers with a solid foundation in C++ programming. Like
its predecessors, the fourth edition uses clear, straightforward
examples to teach both the syntax of the C++ language
and sound programming principles. It begins with an
overview of object-oriented programming and C++, and
then builds upon this knowledge to teach increasingly
complex concepts, such as inheritance, templates, handling
exceptions, and advanced input and output. Aimed at
providing readers with the most current programming
knowledge, this edition has been updated to reflect the
latest software, Visual C++ 2008.
KEY FEATURES
• contains new Two Truths and a Lie quizzes at the end
of each chapter, allow readers to test their retention of
key concepts
• includes a Find the Bugs feature at the end of each
ABOUT THE AUTHOR chapter, encouraging readers to analyze programs for
Joyce Farrell See page 33. syntax and logical errors
• provides Chapter Objectives, Summaries, and Review
Questions as learning aids that reinforce the most
critical concepts
• incorporates step-by-step programming exercises, including
debugging exercises, so readers may analyze, test, and
modify code written by others
• figures and diagrams provide visualization for complex
concepts to aid in comprehension
• can be packaged with Microsoft Visual C++ 2008.
Contact your sales representative for more information
CONTENTS
An Overview of Object-Oriented Programming and C++. Evaluating C++ Expressions.
Making Decisions. Performing Loops. Understanding Arrays, Strings, and Pointers.
Using C++ Functions. Using Classes. Class Features and Design Issues. Understanding
Friends and Overloading Operators. Understanding Inheritance. Using Templates.
Handling Exceptions. Advanced Input and Output. Advanced Topics. Appendices:
Appendix A: Getting Started with Microsoft Visual Studio 2008. Appendix B: Getting
Started with Other C++ Compilers. Appendix C: Operator Precedence and Associativity.
Appendix D: Formatting Output. Appendix E: Generating Random Numbers. Glossary.

48 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 49

PROGRAMMING — C#
MICROSOFT® VISUAL C# 2008 COMPREHENSIVE:
AN INTRODUCTION TO OBJECT-ORIENTED
PROGRAMMING NEW
Joyce Farrell TITLE!
ISBN: 0-495-80643-9 ISBN-13: 978-0-495-80643-1 975 pp, ©2010

Microsoft Visual C# Comprehensive is an expanded version of


Microsoft Visual C# 2008: An Introduction to Object-Oriented
Programming with five NEW chapters, for a more complete C#
course! The Comprehensive text builds on the established peda-
gogy of Microsoft Visual C# 2008: An Introduction to Object-
Oriented Programming, adding topics to provide a thorough
foundation in C# suitable for a two-semester or three-quarter
course sequence. After presenting thorough coverage of object-
oriented programming fundamentals in general, and C# pro-
gramming fundamentals in particular, this book delves into top-
ics such as multithreading, XAML, The Windows Presentation
Foundation, and dynamic data structures.
KEY FEATURES
• Two truths and a Lie: A mini true-false quiz containing three
statements from the preceding section of text follows each
chapter section.
• You Do It: Step-by-step exercises help students create multi-
ple working programs that emphasize the logic a program-
ABOUT THE AUTHOR
mer uses in choosing statements.
Joyce Farrell See page 33.
• Debugging exercises: These exercises contain syntax and/or
logical errors that students fix. Completing these exercises
provides valuable experience in locating errors, interpreting
code written by others, and observing how another pro-
grammer has approached a problem.
• Up for Discussion: Discussion questions accompany each
chapter. These questions are appropriate for classroom dis-
cussion, writing assignments, and on-line discussion groups.
• Visual C# 2008 can be purchased with this book. Contact
your sales representative for more information.
CONTENTS
1. A First Program Using C#. 2. Using Data. 3. Making Decisions. 4. Looping. 5. Using
Arrays. 6. Using Methods. 7. Using Classes and Objects. 8. Introduction to Inheritance. 9.
Exception Handling. 10. Using GUI Objects and the Visual Studio IDE. 11. Using Controls.
12. Handling Events. 13. Files and Streams. 14. Data Queries and LINQ. 15. Multithreading.
16. Graphics and Multimedia. 17. Manipulating Data with XML, XAML, and WPF. 18. WPF
Graphics. 19. Dynamic Data Structures. 20. Generics. Appendix A: Operator Precedence
and Associativity. Appendix B: Creating a multifile assembly. Appendix C: Using the IDE
Editor.

www.cengage.com/coursetechnology 49
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 50

PROGRAMMING — C#

MICROSOFT® VISUAL C#® 2008:


AN INTRODUCTION TO OBJECT-ORIENTED NEW
PROGRAMMING, THIRD EDITION EDITION!
Joyce Farrell
ISBN: 1-4239-0255-6 ISBN-13: 978-1-4239-0255-3 600 pp, ©2009

Using engaging examples and a clear, straightforward approach,


Microsoft® Visual C# 2008: An Introduction to Object-Oriented
Programming, Third Edition gives beginning programmers an
updated guide to developing programs in the C# programming
language. By focusing on C#, this book provides readers with
a strong background knowledge of structured programming,
method calling, and parameter passing, all of which are
important concepts easily transferable to other programming
languages. The Third Edition has been written and tested using
the 2008 version of C# and includes a new chapter on database
management and Language Integrated Query (LINQ). With this
cutting-edge content, the book is an indispensable resource for
anyone seeking a thorough understanding of object-oriented
programming.
KEY FEATURES
• contains new Two Truths and a Lie quizzes at the end
of each chapter, allow readers to test their retention of
key concepts
ABOUT THE AUTHOR
• includes a new chapter on database management and LINQ
Joyce Farrell See page 33.
• offers clear concise program examples and program files
for every complete program, allowing readers to experiment
with the language
• provides Chapter Objectives, Summaries, and Review
Questions as learning aids that reinforce the most
critical concepts
• incorporates step-by-step programming exercises, including
debugging exercises, so readers may analyze, test, and
modify code written by others
• can be packaged with Microsoft Visual C# 2008. Contact
your sales representative for more information
CONTENTS
A First Program Using C#. Using Data. Making Decisions. Looping. Using Arrays. Using
Methods. Using Classes and Objects. Introduction to Inheritance. Exception Handling.
Using GUI Objects and the Visual Studio IDE. Using Controls. Handling Events. Files and
Streams. Data Queries and LINQ. Appendices: Appendix A: Operator Precedence and
Associativity . Appendix B: Creating a Multifile Assembly. Appendix C: Using the IDE
Editor. Glossary.

50 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 51

AN INTRODUCTION TO PROGRAMMING

PROGRAMMING — PYTHON
WITH PYTHON
Michael Dawson
ISBN: 1-4239-0112-6 ISBN-13: 978-1-4239-0112-9 480 pp, ©2008

KEY FEATURES
• uses game-programming examples that entertain and engage the reader
while presenting important programming techniques
• covers every new concept with a small but complete example program and
brings all of the concepts together in the Chapter Projects
• challenges the reader in the Chapter Projects to use what he or she has learned
• comes with a CD-ROM containing Python 2.3.5, Pygame 1.6, LiveWires 2.0,
and source code for the material in the text
CONTENTS
Introduction. Getting Started: The Game Over Program. Types, Variables, and Simple I/O: The Useless Trivia
Program. Branching, while Loops, and Program Planning: The Guess My Number Game. Loops, Strings, and Tuples:
The Word Jumble Game. Lists and Dictionaries: The Hangman Game. Functions: Tic-Tac-Toe. Files and Exceptions:
The Trivia Challenge Game. Software Objects: The Critter Caretaker Program. Object-Oriented Programming: The
Blackjack Game. GUI Development: The Mad Lib Program. Graphics: The Pizza Panic Game. Sound, Animation,
and Program Development: The Astrocrash Game. Appendices.

PYTHON FOR ROOKIES


Sarah Mount
ISBN: 1-844-80701-0 ISBN-13: 1-844-80701-7 400 pp, ©2008

KEY FEATURES
• covers programming from small script-style applications to larger pieces
of software
• emphasis on problem-solving, even through the introduction of common
libraries and object-oriented programming
• provides a framework to support the learning of programming
CONTENTS
Part I: BASICS. Getting Started. Programming Fundamentals. Structuring with Functions. Part II: HARNESSING
ABSTRACTION. Control Flow. Structuring State. Function and Modules. Classes & Objects. Class Relationships. Part
III: THE PROGRAMMING PROCESS. Testing. unittest and py.test. Test Driven Development. Part IV: GENERAL
TOOLS OF THE TRADE. Algorithms. Data Structures. PART V: INTRODUCING SOME USEFUL MODULES. Doing
Multiple Things Using Threads. Manipulating Images. Writing Games.

www.cengage.com/coursetechnology 51
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 52

PROGRAMMING — VISUAL BASIC

CLEARLY VISUAL BASIC®:


PROGRAMMING WITH VISUAL BASIC® 2008
Diane Zak NEW
TITLE!
ISBN: 1-4239-0241-6 ISBN-13: 978-1-4239-0241-6 550 pp, ©2009

If you want to learn the fundamentals of programming, don’t


get bogged down with pages of technical jargon that most
books on the market offer! Instead, explore Clearly Visual
Basic®: Programming with Visual Basic® 2008, an innovative
book that prides itself on teaching the basics of programming
through visualization and application. Designed for beginners
with little or no previous programming experience, this resource
emphasizes solid programming principles and teaches the Visual
Basic language in the process. By putting standard concepts,
like input, output, selection, and repetition, at the forefront,
instead of focusing solely on a specific language, readers will gain
knowledge and insight that is transferable to other languages.
KEY FEATURES
• How To boxes highlight critical concepts and offer additional
tips for applying the material that has been learned
• mini-quizzes encourage readers to master fundamental
topics before progressing into more advanced topics, and
the answers are provided to give immediate feedback
ABOUT THE AUTHOR
and opportunity for learning
Diane Zak holds a Bachelor of Science
degree in Computer Information • appendix offers a summary of the Visual Basic statements
Systems, a Bachelor of Science degree covered in the book, including both syntax and a brief
in Accounting, and a Master of Arts explanation
degree in Adult and Continuing • Take a Look and Want More Info? features direct readers to
Education. She has taught at various other resources for further examples, explanations, and
computer training centers and was information, in both video, and pdf formats
most recently a Professor at the College • can be purchased with Microsoft Visual Basic 2008. Contact
of DuPage in Illinois. your sales representative for more information
CONTENTS
Programming? What’s That?. I Am NOT a Control Freak!. First We Need to Plan the Party.
Draw Something For Me. Where Do I Store This?. I Know I’m Right. What’s the Question?.
Time to Leave the Nest. So Many Paths From Which to Choose. Testing…Testing…Testing!.
How Many Times Can This Happen?. How Long Can This Go On?. Will This Ever End?. I’m
On the Inside and You Are On The Outside. I Heard You Are Breaking Up. What’s Your
Address?. Talk To Me. I Need More Shoe Boxes. We Must Put Things in Order. More Shoe
Boxes, Please. Table Tennis, Anyone?. Who’s Controlling the Structures?. I Collect All Sorts
of Things. I’m Saving For the Future. Finally, It’s Break Time!. No Strings Attached. I Love
This Class. More Class Notes. I’m Suffering From Information Overload. That is Way Too
Much Information!. Keeping Things Up:To:Date. Getting Web-ified. Appendices: Appendix
A: GUI Design Guidelines. Appendix B: VB 2008 Express.

SUPPLEMENTS
Instructor Resources ISBN: 1-4239-0242-4

52 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 53

PROGRAMMING WITH MICROSOFT VISUAL

PROGRAMMING — VISUAL BASIC


BASIC® 2008: AN OBJECT-ORIENTED APPROACH,
INTERNATIONAL EDITION, THIRD EDITION NEW
Michael Ekedahl EDITION!
ISBN: 1-4390-4020-6 ISBN-13: 978-1-4390-4020-1 819 pp, ©2010

Programming with Microsoft Visual Basic 2005: An Object-


Oriented Approach, 3e, International Edition is designed for
individuals with little or no programming background. In this
edition, each chapter is divided into two lessons – Concept
and Application. The Concept lesson appears first. Software
design and programming concepts appear in this section. In
the Application lesson, you will find the design and imple-
mentation of a real-world application, along with limited
hands-on steps to complete that application.
KEY FEATURES
• Uses flowcharts to show the detailed logic implemented in
most procedures. UML activity diagrams are also used
where appropriate.
• Introduces key programming concepts and programming
logic using selected design models so students will gain
more insight into the software life cycle.
• Chapter Summaries and Key Terms at the end of each chap-
ABOUT THE AUTHOR ter provide an easy reference for material learned through-
Michael Ekedahl has worked in the out the chapter.
technology field for nearly 20 years. He • End-of-chapter material – such as Review Questions,
taught Visual Basic, Internet development, Programming Questions, and Hands-On Projects – rein-
and other programming topics at the forces important concepts for students.
University of Nevada, Las Vegas for 15 • May be purchased with Visual Basic 2005. Contact your
years. Michael was also the lead technical sales rep for more information
analyst for the National Supercomputing
CONTENTS
Center for Energy and the Environment 1. An Introduction to Programming and the .NET Framework. 2. Creating an Console
at UNLV. He also developed geophysical Application with Visual Studio. 3. Introduction to Event Handlers and Windows Forms
software sponsored by the U.S. Depart- Applications. 4. Introduction to Numeric Data Types and Variables. 5. The String and
ment of Energy. Presently, Michael teaches DateTime Data Types. 6. Understanding the Structure of an Application: Classes, Modules,
Visual Basic and advanced programming and Procedures. 7. Decision-Making. 8. Repetition. 9. Arrays. 10. Sequential Files and
topics at the University of Nevada, Reno, Structures. 11. Introduction to Database Processing. 12. Database Processing Part 2. 13.
and writes books for Course Technology, More Controls. Appendix A: Debugging. Appendix B: Introduction to Printing with Visual
a part of Cengage Learning. Studio. Appendix C: Creating Reports with Crystal Reports. Appendix D: Deployment.
Appendix E: Introduction to WPF Applications and XAML. Appendix F: ASCII Chart.

www.cengage.com/coursetechnology 53
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 54

PROGRAMMING — VISUAL BASIC

PROGRAMMING WITH MICROSOFT VISUAL BASIC


2008: INTERNATIONAL EDITION, FOURTH EDITION
Diane Zak NEW
ISBN: 1-4390-4035-4 ISBN-13: 978-1-4390-4035-5 986 pp, ©2010 EDITION!

Programming with Microsoft Visual Basic 2008, 4e,


International Edition by the best-selling author, Diane Zak, is
designed for a first course in programming. Using the most
recent version of the software, Visual Basic 2008, this book
teaches individuals how to use Visual Basic applications as they
would in a real world setting. Students with no previous pro-
gramming experience learn how to plan and create their own
interactive windows applications. GUI design skills and Object-
Oriented Programming concepts are emphasized throughout
the book.
KEY FEATURES
• Updated to reflect the new Microsoft Visual Studio 2008.
• New to this edition: key terms with definitions at the end of
each section.
• New naming system for exercises: Introductory,
Intermediate, Advanced, Discovery, and Debugging.
• New applications added to each chapter.
ABOUT THE AUTHOR • New to this edition: Covers Access Databases and LINQ in
Diane Zak See page 52. Chapter 12.
• New to this edition: Includes coverage of breakpoints and
stepping through code.
• Offers new Key Terms section, with definitions, at the end
of each lesson.
• Exercises identified as Introductory, Intermediate,
Advanced, Discovery, and Debugging.
• Contains new applications in each chapter.
• Covers Access Databases and LINQ in Chapter 12.
• Includes coverage of breakpoints and stepping through
code.
• May be purchased with Visual Basic 2008. Contact your
sales representative for more information
CONTENTS
An Overview of Programming. 1. An Introduction to Visual Basic 2008. 2. Designing
Applications. 3. Using Variables and Constants. 4. The Selection Structure. 5. More on the
Selection Structure. 6. The Repetition Structure. 7. Sub and Function Procedures. 8.
Manipulating Strings. 9. Arrays. 10. Structures and Sequential Access Files. 11. Classes and
Objects. 12. Databases and LINQ. 13. Web Applications. Appendices: Appendix A: GUI
Design Guidelines. Appendix B: Visual Basic Type Conversion Functions.

54 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 55

MICROSOFT® VISUAL BASIC® 2005:

PROGRAMMING — VISUAL BASIC


RELOADED, ADVANCED
Richard A. Johnson & Diane Zak

ISBN: 1-4188-3643-5 ISBN-13: 978-1-4188-3643-6 580 pp, ©2007

KEY FEATURES
• elaborates on Visual Basic topics such as object-orientation and input/output,
as well as offering coverage in more advanced areas such as exception
handling, database, Web site development, multithreading, and generics
• provides easy-to-follow How To boxes in each chapter, summarizing
important concepts and providing a quick reference for students
• contains important TIPS with additional information about a procedure –
for example, an alternate method of performing the procedure
• offers a complete programming example at the end of each chapter, allowing
the user to see the concepts they have learned and how they are applied
CONTENTS
Reviewing Microsoft Visual Basic 2005: RELOADED, Part 1 and Part 2. Objects and Classes. Object Orientation:
Inheritance and Polymorphism. Input Validation, Error Handling and Exception Handling. More about Windows
Forms. Relational Databases and SQL. Accessing Data with ADO.NET. An Introduction to ASP.NET. More ASP.NET:
Database, XML, and Web Services. Arrays, Collections and Generics. Multithreading in Visual Basic. Appendices.

VISUAL BASIC® 2008:


RELOADED, THIRD EDITION
Diane Zak
ISBN: 1-4239-0250-5 ISBN-13: 978-1-4239-0250-8 740 pp, ©2008

KEY FEATURES
• programming tutorials provide step-by-step instructions for applying chapter
concepts in game applications to engage and motivate the reader
• extensive end-of-chapter material includes Review Questions, Short Answer
Review Exercises, Computer Exercises (including Discovery and Debugging),
and Case Projects, rounding out reader skills and ensuring a solid under-
standing of the material
• How-To boxes highlight important concepts and the ways that they can be
effectively applied
• full applications that include both user interface and full code are used so
that readers learn coding principles in the context of the larger application
• instructors have access to the files for applications used in the book so they
can demonstrate the applications without having to create them on their
own
CONTENTS
An Introduction to Visual Basic .NET. Creating a User Interface. Variables, Constants, Methods, and Calculations.
Making Decisions in a Program. Repeating Program Instructions. String Manipulation. Sub and Function
Procedures. Sequential Access Files and Error Handling. Arrays. Creating Classes and Objects. Using ADO.NET.
Creating Web Applications Using ASP.NET. Appendices: Appendix A: How to Boxes. Appendix B: GUI Design Rules.
Appendix C: VB Type Conversion Functions. Glossary.

www.cengage.com/coursetechnology 55
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 56

PROGRAMMING — ALICE

ALICE 2.0: INTRODUCTORY CONCEPTS


AND TECHNIQUES
Gary B. Shelly, Thomas J. Cashman & Charles W. Herbert
ISBN: 1-4188-5934-6 ISBN-13: 978-1-4188-5934-3 256 pp, ©2007

KEY FEATURES
• gives a brief introduction to programming concepts using the Alice 2.0
software, perfect for a 4-5 week period in a course teaching other topics
• offers great bundling opportunity for any Office, Concepts course,
or beginning programming course
• covers programming concepts in the Shelly Cashman Series look and feel,
making it easy for students to learn new skills
• guides students through programming with Alice using full-color screen
shots and step-by-step instruction, so that students never get lost
CONTENTS
Exploring Alice and Object-Oriented Programming. Developing Software Methods. Programming with Logical
Structures. Event-Driven Programming in Alice.

AN INTRODUCTION TO PROGRAMMING
USING ALICE
Charles W. Herbert
ISBN: 1-4188-3625-7 ISBN-13: 978- 1-4188-3625-2 296 pp, ©2007

KEY FEATURES
• makes learning to program exciting using virtual reality so that students
can see their work come to life
• helps students grasp the concepts presented in the text easily with its
full-color and visually-stimulating interior
• presents an approachable step-by-step pedagogy with numerous accompany-
ing screenshots, creating a suitable learning experience for new programmers
• includes Alice v2.0 on CD-ROM, allowing ease of access to all users
CONTENTS
An Introduction to Alice and Object-Oriented Programming. Developing Methods in Alice. Events in Three-
Dimensional Space. The Logical Structure of Algorithms. Boolean Logic in Programming. Text and Sound in Alice
Worlds. Recursive Algorithms. Lists and Arrays in Alice. Appendices: A. Acquiring and Installing the Alice Software.
B. Computer Programming Languages. C. The Alice Menus.

56 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 57

ALICE IN ACTION

PROGRAMMING — ALICE
WITH JAVA
Joel Adams
ISBN: 1-4239-0096-0 ISBN-13: 978-1-4239-0096-2 605 pp, ©2007

KEY FEATURES
• designed for a CS1 course in the Java programming language
• introduces software engineering through engaging movie metaphors
• includes extensive examples, images, and end-of-chapter projects designed
to reinforce and assess skills
• provides Alice examples in Java syntax, easing the transition from Alice
to Java
• motivates today’s visually-oriented students through the use of fun, socially
relevant, three-dimensional animations
CONTENTS
Getting Started With Alice. Methods. Variables and Functions. Flow Control. Lists and Arrays. Events. From Alice
to Java. Types and Expressions. Methods. Flow Control in Java. Files and Exceptions. Arrays and Lists in Java.
Object-Oriented Programming. Events and GUIs.

ALICE IN ACTION:
COMPUTING THROUGH ANIMATION
Joel Adams
ISBN: 1-4188-3771-7 ISBN-13: 978-1-4188-3771-6 264 pp, ©2007

KEY FEATURES
• intended as a supplementary text for an introductory programming course
• uses Alice to introduce the fundamentals of programming in six chapters,
including objects, methods, variables, control structures, array and lists,
and events
• includes extensive examples, images, and end-of-chapter projects designed
to reinforce and assess skills
• creates a positive first exposure to programming while helping students
to grasp object-oriented concepts
• motivates today’s visually-oriented students through the use of fun three-
dimensional animations
CONTENTS
Getting Started With Alice. Methods. Variables and Functions. Flow Control. Lists and Arrays. Events. Appendices:
A. Alice Standard Methods and Functions. B. Recursion.

www.cengage.com/coursetechnology 57
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 58

WEB DEVELOPMENT

ASP .NET PROGRAMMING WITH C# & SQL


SERVER NEW
TITLE!
Don Gosselin
ISBN: 1-4239-0324-2 ISBN-13: 978-1-4239-0324-6 704 pp, ©2010

ASP .NET PROGRAMMING WITH C# AND SQL SERVER cov-


ers the basics of ASP.NET, C#, and SQL Server along with
advanced topics including object-oriented programming and
how to build Web sites that incorporate authentication and
security. After completing this text, student will be able to
New cover use ASP.NET to build professional quality, database-driven
Web sites.
coming soon!
KEY FEATURES
• Goals at the beginning of each chapter provide students with a
quick reference to the contents of the chapter, as well as a use-
ful study aid.
• Help features assist students in finding more information on a
concept or technique.
• Short Quizzes throughout the chapter help students test their
ABOUT THE AUTHOR knowledge of a concept or technique.
Don Gosselin is a technical • Pointers provide students with practical advice and proven
communications expert with more strategies related to the concept being discussed. They also
than 20 years experience. His contain cross-references to other sections in the book or to
extensive technology experience related Web sites.
includes application development, • Facts contain notes and comments that provide additional
technical writing, training, and helpful information on specific techniques and concepts.
curriculum development. In addition
to JavaScript, he has written or • Careful features point out troublesome issues students need
contributed to textbooks on Java to watch out for with a particular technique or concept.
programming, Microsoft Visual C++ 6 • This book can be purchased with Microsoft Visual Studio 2008
and .NET, Web design technologies, software. Contact your Cengage Learning sales representative
Web programming languages, for more information
XHTML, and PHP programming with CONTENTS
MySQL. 1. Overview of ASP.NET and C#. 2. Working with C# Data Types and Operators. 3. Using C#
Functions and Control Structures. 4. Working with Web Forms and Controls. 5.
Manipulating Data in C# with Strings and Arrays. 6. Debugging and Error Handling. 7.
Working with Databases and SQL Server Express. 8. Manipulating SQL Server Databases
with ASP.NET. 9. Managing State Information and Security. 10. Designing a Web Site. 11.
Developing Object-Oriented C#. 12. Building AJAX Applications.

58 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 59

WEB DEVELOPMENT
PRINCIPLES OF INTERNET MARKETING: NEW
TOOLS AND METHODS FOR WEB DEVELOPERS
INTERNATIONAL EDITION NEW
Jason I. Miletsky TITLE!
ISBN: 0-538-74527-4 ISBN-13: 978-0-538-74527-7 644 pp, ©2010

PRINCIPLES OF INTERNET MARKETING: NEW TOOLS AND


METHODS FOR WEB DEVELOPERS helps readers understand
the "why" behind the "how" of Web site development. It teach-
es the importance of the brand and how that relates to Web
site development, the reasons sites are developed, how they
build an audience, and most importantly, how companies use
the Web to earn revenue and build recognition among their
desired market. You will learn the strategies used to drive traf-
fic to a site, the tools that are available to keep audiences com-
ing back (with a focus on social media tools), and the role mar-
keting plays in the building a successful Web site.
KEY FEATURES
• Interviews featuring high-profile individuals (such as Ward
Cunningham, and Konstantin Guericke, of LinkedIn) dis-
cussing industry-related topics.
• Screen shots demonstrating different types of Web marketing
from numerous companies and organizations.
ABOUT THE AUTHOR • Tables and statistics illustrating how the Web has changed
Jason I. Miletsky is CEO and executive and continues to change at a rapid pace.
creative director at PFS Marketwyse, a • Key Terms with definitions at the end of each chapter.
leading advertising, marketing, and • Review Questions and Projects to assess one's retention of
communications agency in the New the concepts and gain some hands-on practice on the Web.
York metro area. His marketing work
has included successful consultation and CONTENTS
1. An Overview Of The Web. 2. Types Of Web Sites. 3. Social Media And Social
campaigns for companies including
Networking Sites. 4. Blogging. 5. Web-Based Video.6. Wikis, Rss, Mash-Ups And Virtual
Hershey's, AmerisourceBergen, Emerson Worlds. 7. Understanding The Brand. 8. Planning And Developing The Site. 9. E-Commerce
Electric, JVC, and The Michael C. Fina Sites. 10. Programs And Languages. 11. Driving Traffic: Marketing Strategies. 12: Capturing
Company. He has authored eight books, And Keeping And Audience. 13: Traffic Analysis And Measuring For Success.
including Perspectives on Marketing
and Principles of Internet Marketing.
Miletsky has been a featured speaker
for the Institute of International
Research (IIR), National Association of
Broadcasters (NAB), Strategic Research
Institute (SRI), New Jersey Institute of
Technology (NJIT), Pratt, and others.

www.cengage.com/coursetechnology 59
01-68_09CSci_SL_Cat:Layout 1 4/28/09 10:48 AM Page 60

WEB DEVELOPMENT

PRINCIPLES OF WEB DESIGN,


INTERNATIONAL EDITION, FOURTH EDITION
Joel Sklar
ISBN: 0-538-74757-9 ISBN-13: 978-0-538-74757-8 358 pp, ©2009

The ultimate guide to Web site design, Principles of Web


Design, Fourth Edition leads students through the entire Web
site-creation process, from start to finish, while developing
and enhancing their HTML, CSS, and visual-design skills along
the way. Students begin by learning about the Web design
environment and the principles of sound Web design, continue
on to planning site layout and navigation, and progress to
Web typography, colors and images, working with CSS, and
more. Updated to include the latest Web design technologies
and trends, this Fourth Edition features all-new sections on
Web accessibility, standards-based coding, and CSS positioning,
as well as technical updates and new screen shots throughout.
Armed with valuable knowledge and plenty of hands-on activities,
students will gain a solid understanding of designing successful,
standards-based Web sites that are portable across different
operating systems, browsers, and connection speeds.
KEY FEATURES
• now in full color, allowing users to see the truly visual nature of
ABOUT THE AUTHOR the example Web sites used to illustrate Web design principles
Joel Sklar is an instructional designer
• updated illustrations and screen shots reflect current
and technical trainer specializing in
browsers and relevant visualizations of key concepts
HTML, XML, and Web technologies.
He has taught markup languages and • new Case Study team project encourages experimentation
Web design to thousands of technical and learning by doing
professionals in the New England area. • offers new Creating Positioned Layouts and Web Design
Joel’s consulting business offers a range Studio chapters
of technical and design classes as well • Key Terms have been added to the end of each chapter
as customized courseware development. and terms are defined in the Glossary
In addition, Joel is the author of • free online companion Web site provides additional
Principles of Web Design and Designing information, code samples, and links for further research
Web Pages with Cascading Style Sheets,
both published by Course Technology. CONTENTS
Understanding the Web Design Environment. Design Principles. Planning the Site.
Known for his lively hands-on demon-
Creating Usable Navigation. Creating Page Templates. Introducing Cascading Style Sheets.
strations, Joel has presented at technical Web Typography. Graphics and Color. Using the Box Properties. Creating Positioned
communication conferences throughout Layouts. Working with Frames. Working with Forms. Web Design Studio. Appendix A:
the United States. XHTML Reference. Appendix B: CSS Reference. Glossary.

60 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 61

WEB DEVELOPMENT
JAVASCRIPT,
FOURTH EDITION
Don Gosselin
ISBN: 1-4239-0150-9 ISBN-13: 978-1-4239-0150-1 638 pp, ©2008

JavaScript, Fourth Edition is designed as a guide for begin-


ning programmers to develop Web applications using the
JavaScript programming language. It introduces a variety of
techniques, focusing on what students need to know to
start adding JavaScript to their Web pages. In each chapter,
students perform tasks that focus on a particular technique
required for building and creating JavaScript programs. The
examples and exercises in this book will help students learn
the basics of how to use JavaScript with well-formed Web
pages, including how to manipulate the browser object
model, validate forms, use object-oriented techniques, and
learn how to trace and resolve errors in JavaScript pro-
grams, to name a few. Advanced topics include how to man-
age state information, use the Dynamic Object Model
(DOM), create Dynamic HTML (DHTML), update Web pages
with AJAX, and create server-side scripts.
KEY FEATURES
• offers new chapters on strings, arrays, and AJAX
• includes expanded coverage of Mozilla JavaScript
Debugger and
error-handling techniques in the debugging chapter
• covers secure coding techniques in the cookies and secu-
rity chapter
• discusses PHP and MySQL in the server-side scripting
chapters, replacing ASP.NET and Access
• contains new appendices on installing and configuring a
Web development environment, DOM scripting, and XML
processing
CONTENTS
Introduction to JavaScript. Working with Data Types and Operators. Functions, Events,
and Control Structures. Manipulating the Browser Object Model. Validating Forms with
JavaScript. Using Object-oriented JavaScript. Manipulating Data in Strings and Arrays.
Debugging and Error Handling. Managing State Information and Security. Introduction
to the Document Object Model (DOM). Creating Dynamic HTML (DHTML). Updating
Web Pages with AJAX. Appendices: A. Building a Web Development Environment. B.
Introduction to PHP. C. Processing XML.

www.cengage.com/coursetechnology 61
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 62

WEB DEVELOPMENT

INTRODUCTION TO ASP.NET 2.0,


THIRD EDITION
Kathleen Kalata
ISBN: 1-4188-3765-2 ISBN-13: 978-1-4188-3765-5 598 pp, ©2008

A revision of the highly successful second edition,


Introduction to ASP.NET, Third Edition offers even more
ASP.NET development knowledge. It will familiarize the user
with ways to create dynamic web applications using server-
side programming technologies. A well-rounded Internet pro-
grammer needs to be able to integrate server technologies to
produce web applications that not only interact with visitors,
but also integrate other computer applications. Students will
design and maintain interactive and dynamic Web applica-
tions within the Visual Studio 2005 environment.
KEY FEATURES
• To clarify some of the more complex topics, such as ADO.NET,
security, and web server configuration, the text has been
expanded with additional samples, graphics, and screenshots.
• As new concepts are presented in each chapter, tutorials are
used to provide step-by-step instructions that allow users to
actively apply the concepts being learned.
• The examples provided were developed to provide the oppor-
tunity to practice the skills discussed within the chapter.
• Each chapter includes a summary and review questions that
highlight and reinforce major concepts, as well as Hands-On
Projects and Case Projects, to solve real world problems.
• Can be purchased with Visual Studio Professional 2005.
Contact your sales rep for more information
CONTENTS
1. Introduction to Web Programming. 2. Introduction to Programming. 3. Designing Web
Applications. 4. Custom Designing Web Applications. 5. Advanced Web Controls. 6.
Securing the ASP.NET Application. 7. Managing Data Sources. 8. Binding Data to Web
Controls. 9. Customizing Data with Web Controls. 10. Managing Data with ASP.NET. 11.
Advanced Web Programming. 12. Extending Web Applications. Appendices A: ASP.NET
Requirements, Setup and Configuration. B: Troubleshooting Data Connectivity. C:
Transferring Projects to the Web. D: ASP.NET Reference Material.

62 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 63

DYNAMIC WEB APPLICATION DEVELOPMENT

WEB DEVELOPMENT
USING XML AND JAVA
David Parsons
ISBN: 1-844-80-541-7 ISBN-13: 978-1-84480-541-9 544 pp, ©2008

KEY FEATURES
• covers core building blocks: XHTML, CSS and XSLT; JavaServer Pages,
JavaBeans and Tag libraries; Tomcat server, Struts framework and the MySQL
relational database; and Web 2.0, Ajax
• provides a standard base installation of open source Java components
• covers both client and server side technologies
• text is designed to support a unique adaptivity perspective
• accompanying CD contains a Toolbox featuring Tomcat, Eclipse, Ant, Struts,
the JSTL library, WURFL/WALL, MyFaces, MySQL, Xindice
• supported by a fully functioning Home Insurance Web site for illustration,
modification and extension, plus all other example code
CONTENTS
Introduction to Web Applications. Web Application Requirements Analysis and Design. Structure and Content in
the Presentation Layer: The HyperText Markup Language (HTML). Styling in the Presentation Layer: Cascading
Style Sheets (CSS). Content, Structure and Validation: XML, DTD and XHTML. Introduction to JavaScript. Interactive
JavaScript: Dynamic HTML, client side validation and Ajax. Transforming XML: XPath and XSLT. Using Java for
Dynamic Content. Using XML and Java together. Web Applications and the Database. Struts: A Java Web
Application Framework. The Mobile Web. Web Services.

DYNAMIC WEB APPLICATION DEVELOPMENT


USING PHP & MYSQL
David Parsons & Simon Stobart
ISBN: 1-844-80-753-3 ISBN-13: 978-1-84480-753-6 440 pp, ©2008

KEY FEATURES
• covers core building blocks: PHP, MySQL, Web 2.0, Ajax, Javascript and XHTML
• demonstrates good design and good practice
• covers both client- and server-side technologies and hot technologies,
such as Ajax
• clear, separate working example scripts are shown throughout
• covers topics such as security, accessibility and conformance to guidelines
• accompanying CD contains a toolbox that features WAMP, PHP Designer,
MySQL Workbench. Also features example code with three larger scale
examples: a hangman game, a shopping cart with paged display of items
for sale, and a members message
CONTENTS
Introduction to Web Applications. Web Application Requirements Analysis and Design. Structure and Content in
the Presentation Layer: The HyperText Markup Language (HTML). Styling in the Presentation Layer: Cascading
Style Sheets (CSS). Content, Structure and Validation: XML, DTD and XHTML. Introduction to JavaScript. Interactive
JavaScript: Dynamic HTML, client side validation and Ajax. Introduction to PHP. Flow of Control. Form Interaction.
Strings and Arrays. Files, Cookies, Sessions and Email. Functions, Dates and Times and Redirection. Databases.
Linking PHP to a Database. Introducing Object Orientation. Object Oriented Inheritance and Polymorphism.
Combining Ajax and PHP Making the Web more Dynamic. Conformance to Standards and Accessibility. Building
More Secure and Robust Web Applications.

www.cengage.com/coursetechnology 63
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 64

WEB DEVELOPMENT

PHP PROGRAMMING
WITH MYSQL
Don Gosselin
ISBN: 0-619-21687-5 ISBN-13: 978-0-619-21687-0 704 pp, ©2006

KEY FEATURES
• enables users to utilize PHP and MySQL to build professional quality, database-
driven Web sites, all with open-source software
• includes coverage of databases, particularly MySQL
• teaches real-world skills and includes a chapter on processing XML with PHP
• covers the basics of PHP and MySQL, along with advanced topics including
object-oriented programming and how to build Web sites that incorporate
authentication and security
CONTENTS
Introduction to Web Development. Getting Started with PHP. Working with Data Types and Operators. Functions and
Control Structures. Manipulating Strings. Working with Files and Directories. Manipulating Arrays. Working with
Databases and MySQL. Manipulating MySQL Databases with PHP. Managing State Information. Developing Object-
Oriented PHP. Error Handling and Debugging. Appendices: A. Working with Regular Expressions.
B. Formatting Strings. C. Processing XML. D. Secure Coding with PHP.

APACHE
WEB SERVER
Ed Sawicki
ISBN: 1-4188-3753-9 ISBN-13: 978-1-4188-3753-2 500 pp, ©2008

KEY FEATURES
• contains more than 70 hands-on labs that allow students to practice their
Apache skills
• specifies prerequisites for successfully completing each lab, estimated
completion time, and clear, step-by-step instructions
• offers the alternative to complete most labs on a computer running any
Linux distribution or Windows
• provides many diagrams that illustrate important concepts
• features extensive learning tools, including review questions, hands-on
projects, and a list of Key Terms at the end of each chapter
CONTENTS
Introduction to the Web and Apache. HTTP. Installing Apache. Apache Configuration. Advanced Configuration
and Modules. Virtual Hosts. Monitoring the Apache Server. Web Applications. Authentication. Apache Security.
Caching and Proxies. Appendices: A. HTTP Status & Warning Codes. B. HTTP Language Codes. C. HTTP Time
Format. D. Apache Modules. E. HTTP Headers.

64 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 65

ISBN: 1-4239-0184-3, ISBN-13: 978-1-4239-0184-6 . . . . . . . . . . . . . .37

AUTHOR INDEX
A
Adams/Alice in Action with Java Farrell/Object-Oriented Programming Using C++, International
ISBN: 1-4239-0096-0, ISBN-13: 978-1-4239-0096-2 . . . . . . . . . . . .57 Edition, Fourth Edition
ISBN: 0-538-74709-9, ISBN-13:978- 0-538-74709-7 . . . . . . . . . . . . . .48
Adams/Alice in Action: Computing Through Animation
ISBN: 1-4188-3771-7, ISBN-13: 978-1-4188-3771-6 . . . . . . . . . . . . . . . .57 Farrell/Programming Logic and Design Comprehensive,
Fifth Edition
Agarwal, Tayal, Gupta/Software Engineering and Testing
ISBN: 1-4239-0196-7, ISBN-13: 978-1-4239-0196-9 . . . . . . . . . . . . . .34
ISBN: 1-9340-1555-5 ISBN-13: 978-1-9340-1555-1 . . . . . . . . . . . . . . . .22
Farrell/Programming Logic and Design Introductory, Fifth Edition
Allert/Programming with Visual C++: Concepts and Projects
ISBN: 1-4239-0195-9, ISBN-13: 978-1-4239-0195-2 . . . . . . . . . . . . . .35
ISBN: 1-4239-0186-X, ISBN-13: 978-1-4239-0186-0 . . . . . . . . . . . . . .7
Forouzan, Gilberg/Computer Science: A Structured
Anderson, Ferro, Hilton/Connecting with Computer Science
Programming Approach Using C, Third Edition
ISBN: 0-619-21290-X, ISBN-13: 978-0-619-21290-2 . . . . . . . . . . . . .4
ISBN: 0-534-49132-4, ISBN-13: 978-0-534-49132-1 . . . . . . . . . . . . . .12
Appin Knowledge Solutions/Robotics
Forouzan, Mosharraf/Foundations of Computer Science,
ISBN: 1-49340-1502-4, ISBN-13: 1-49340-1502-5 . . . . . . . . . . . . . . . .25 Second Edition
ISBN: 1-844-80-700-2, ISBN-13: 978-1-84480-700-0 . . . . . . . . . . . .4
B
Blundell/Computer Hardware G
ISBN: 1-844-80751-7, ISBN-13: 978-1-844-80751-2 . . . . . . . . . . . . . . .29 Gilberg, Forouzan/Data Structures: A Pseudocode Approach With
Bronson/A First Book of Ansi C, Fourth Edition C, Second Edition
ISBN: 1-4188-3556-0, ISBN-13: 978-1-4188-3556-9, . . . . . . . . . . . . . .12 ISBN: 0-534-39080-3, ISBN-13: 978-0-534-39080-8 . . . . . . . . . . . .17
Bronson/A First Book of C++, From Here to There, Third Edition Gosselin/ASP.NET Programming with C# & SQL Server
ISBN: 0-534-49281-9, ISBN-13: 978-0-534-49281-6, . . . . . . . . . . . .46 ISBN: 1-4239-0324-2, ISBN-13: 978-1-4239-0324-6 . . . . . . . . . . . . . .58
Bronson/C++ for Engineers and Scientists, International Edition, Gosselin/Javascript, Fourth Edition
Third Edition ISBN: 1-4239-0150-9, ISBN-13: 978-1-4239-0150-1 . . . . . . . . . . . . . .61
ISBN: 1-4390-3950-X, ISBN-13: 978-1-4390-3950-2, . . . . . . . . . . . .47 Gosselin/PHP Programming with MYSQL
Bronson/Object-Oriented Program Development Using Java: ISBN: 0-619-21687-5, ISBN-13: 978-0-619-21687-0 . . . . . . . . . . . . . .64
A Class-Centered Approach, Enhanced Edition
ISBN: 0-619-21720-0, ISBN-13: 978-0-619-21720-4 . . . . . . . . . . . . . .43 H
Herbert/An Introduction to Programming Using Alice
D ISBN: 1-4188-3625-7, ISBN-13: 978-1-4188-3625-2 . . . . . . . . . . . . . . .56
Dawson/An Introduction to Programming with Python
ISBN: 1-4239-0112-6, ISBN-13: 978-1-4239-0112-9, . . . . . . . . . . . . . .51 J
Dawson/Beginning C++ Through Game Programming, Johnson/An Introduction to Java Programming and
Second Edition Object-Oriented Application Development
ISBN: 1-59863-360-0, ISBN-13: 978-1-59863-360-3 . . . . . . . . . . . . . .45 ISBN: 0-619-21746-4, ISBN-13: 978-0-619-21746-4 . . . . . . . . . . . . . .43
Dawson/C++ Projects: Programming with Texxt-Based Games Johnson, Zak/Microsoft® Visual Basic® 2005: Reloaded, Advanced
ISBN: 1-4239-0227-0, ISBN-13: 978-1-4239-0227-0 . . . . . . . . . . . . . .44 ISBN: 1-4188-3643-5, ISBN-13: 978-1-4188-3643-6 . . . . . . . . . . . . . . .55
Dos Reis/Assembly Language and Computer Jones/Artificial Intelligence: A Systems Approach
Architecture Using C++ and Java ISBN: 0-9778-5823-5 ISBN-13: 978-0-9778-5823-1 . . . . . . . . . . . . . . .24
ISBN: 0-534-40527-4, ISBN-13: 978-0-534-40527-4 . . . . . . . . . . . . .30
Doyle/C# Programming: From Problem Analysis to Program K
Design, Second Edition Kalata/Introduction to ASP.NET 2.0, Third Edition
ISBN: 1-4239-0146-0, ISBN-13: 978-1-4239-0146-4 . . . . . . . . . . . . . .11 ISBN: 1-4188-3765-2, ISBN-13: 978-1-4188-3765-5 . . . . . . . . . . . . . . . .62
Drozdek/Data Structures and Algorithms in C++ Kaminsky/Building Parallel Programs: SMPS, Clusters & Java
ISBN: 0-534-49182-0, ISBN-13:978-0-534-49182-6, . . . . . . . . . . . . .15 ISBN: 1-4239-0198-3, ISBN-13: 978-1-4239-0198-3 . . . . . . . . . . . . . .26
Drozdek/Data Structures and Algorithms in Java, Third Edition Koirala, Sheikh/Software Testing
ISBN: 981-4239-23-2, ISBN-13:978-981-4239-23-3 . . . . . . . . . . . . . . .16 ISBN: 1-9340-1524-5, ISBN-13: 978-1-9340-1524-7 . . . . . . . . . . . . . . .23

E L
Ekedahl/Programming with Microsoft® Visual Basic® 2008: Lambert/Fundamentals of Python: From First Programs Through
An Object-Oriented Approach, International Edition, Third Edition Data Structure
ISBN: 1-4390-40206, ISBN-13: 978-1-4390-40201 . . . . . . . . . . . . . .53 ISBN: 1-4239-0218-1, ISBN-13: 978-1-4239-0218-8 . . . . . . . . . . . . . . .13
Lano/Model-Driven Software Development with UML and Java
F ISBN: 1-8448-952-8, ISBN-13: 978-1-8448-952-8 . . . . . . . . . . . . . . . .21
Farrell/Java Programming, International Edition, Fifth Edition Lecky-Thompson/Just Enough C/C++ Programming
ISBN: 1-4309-4012-4, ISBN-13: 978-1-4309-4012-8 . . . . . . . . . . . . . .39 ISBN: 1-59863-468-2, ISBN-13: 978-1-59863-468-6 . . . . . . . . . . . . . .45
Farrell/Just Enough Programming Logic and Design Louden/Compiler Construction: Priciples and Practice
ISBN: 1-4390-3957-7, ISBN-13: 978-1-4390-3957-1 . . . . . . . . . . . . . . .33 ISBN: 0-534-93972-4, ISBN-13: 978-0-534-93972-4 . . . . . . . . . . . . .28
Farrell/Microsoft® Visual C# 2008 Comprehensive: An Louden/Programming Languages: Principles and Practice,
Introduction to Object-Oriented Programming Second Edition
ISBN: 0-495-80643-9, ISBN-13:978-0-495-80643-9 . . . . . . . . . . . . .49 ISBN: 0-534-95341-7, ISBN-13: 978-0-534-95341-6 . . . . . . . . . . . . . .28
Farrell/Microsoft® Visual C# 2008: An Introduction to
Object-Oriented Programming, Third Edition M
ISBN: 1-4239-0255-6, ISBN-13: 978-1-4239-0255-3 . . . . . . . . . . . . . .50 Malik/C++ Programming: From Problem Analysis to Program
Farrell/An Object-Oriented Approach to Programming Design, Fourth Edition
Logic & Design, Second Editon ISBN: 0-538-74756-0, ISBN-13: 978-0-538-74756-1 . . . . . . . . . . . . . .9

www.cengage.com/coursetechnology 65
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 66

AUTHOR INDEX
Malik/C++ Programming: Program Design Including Data Sklar/Principles of Web Design, International Edition,
Structures, International Edition, Fourth Edition Fourth Edition
ISBN: 0-538-74751-X, ISBN-13:978-0-538-74751-6 . . . . . . . . . . . . . . .10 ISBN: 0-538-74757-9, ISBN-13:978-0-538-74757-8 . . . . . . . . . . . . . . .48
Malik/Data Structures Using C++, Second Edition Smith /Java Programs to Accompany Programming Logic
ISBN: 1-4390-4023-0, ISBN-13: 978-1-4390-4023-2 . . . . . . . . . . . . .14 and Design, Second Edition
Malik/Introduction to C++ Programming, Brief Edition ISBN: 1-4239-0229-7, ISBN-13: 978-1-4239-0229-4 . . . . . . . . . . . . . .36
ISBN: 1-4239-0246-7, ISBN-13: 978-1-4239-0246-1 . . . . . . . . . . . . . .8 Smith /Visual Basic Programs to Accompany Programming
Malik/Java Programming: From Problem Analysis to Program, Logic and Design
International Edition, Design, Fourth Edition ISBN: 1-4239-0249-1, ISBN-13: 978-1-4239-0249-2 . . . . . . . . . . . . . .37
ISBN: 1-4390-4034-6, ISBN-13: 978-1-4390-4034-8 . . . . . . . . . . . . .6 Smith-Atakan/Human-Computer Interaction
Malik/Java Programming: Program Design Including ISBN: 1-84480-454-2, ISBN-13: 978-1-84480-454-2 . . . . . . . . . . . . .28
Data Structures Stuart/Principles of Operating System, International Edition
ISBN: 1-4188-3540-4, ISBN-13: 978-1-4188-3540-8 . . . . . . . . . . . . . .6
ISBN: 0-538-74953-9, ISBN-13:978-0-538-74953-4 . . . . . . . . . . . . . . .19
Malik, Burton/Java Programming: Guided Learning
with Early Objects T
ISBN: 1-4239-0162-2, ISBN-13: 978-1-4239-0162-4 . . . . . . . . . . . . . .5 Tymann, Schneider/Modern Software Development Using Java,
Malik, Nair/Data Structures Using Java Second Edition
ISBN: 0-619-15950-2, ISBN-13: 978-0-619-15950-4 . . . . . . . . . . . . . .15 ISBN: 1-4239-0123-1, ISBN-13: 978-1-4239-0123-5 . . . . . . . . . . . . . . .18
Mclver-McHoes, Flynn/Understanding Operating
Systems, International Edition, Fifth Edition V
ISBN: 1-4390-8011-9, ISBN-13:978-1-4390-8011-5 . . . . . . . . . . . . . . .20 Vanguard/Visual Logic
Mount/Python for Rookies ISBN: 1-4188-3773-3, ISBN-13: 978-1-4188-3773-0 . . . . . . . . . . . . . . .38
ISBN: 1-844-80701-0, ISBN-13: 978-1-844-80701-7 . . . . . . . . . . . . . .51
Mughal/Java Actually: A Comprehensive Primer
W
in Java Programming Wiener/Modern Software Development Using C# .NET
ISBN: 1-844-80933-1, ISBN-13: 978-1-844-80933-2 . . . . . . . . . . . . . .42 ISBN: 0-619-21759-6, ISBN-13: 978-0-619-21759-4 . . . . . . . . . . . . . .18
Mughal, Hamre, Rasmussen/Java Actually: Z
A First Course in Programming
ISBN: 1-84480-418-6, ISBN-13: 978-1-84480-418-4 . . . . . . . . . . . . . .42 Zak/An Introduction to Programming with C++, Fifth Edition
ISBN: 1-4188-3618-4, ISBN-13: 978-1-4188-3618-4 . . . . . . . . . . . . . . .46
O Zak/Clearly Visual Basic: Programming with Visual Basic 2008
Olsen/Building Interactive Systems: Principles for ISBN: 1-4239-0241-6, ISBN-13: 978-1-4239-0241-6 . . . . . . . . . . . . . .52
Human-Computer Interaction Zak/Visual Basic® 2008: Reloaded, Third Edition
ISBN: 1-4239-0248-3, ISBN-13: 978-1-4239-0248-5 . . . . . . . . . . . . . .27 ISBN: 1-4239-0250-5, ISBN-13: 978-1-4239-0250-8 . . . . . . . . . . . . . .55
Zak/Programming with Microsoft® Visual Basic® 2008,
P International Edition, Fourth Edition
Parsons/Dynamic Web Application Development ISBN: 1-4390-4035-4, ISBN-13: 978-1-4390-4035-5 . . . . . . . . . . . . .54
Using XML and Java Zhang/Active Services: Concepts, Architecture and
ISBN: 1-844-80541-7, ISBN-13: 978-1-84480-541-9 . . . . . . . . . . . . . .63 Implementation
Parsons, Stobart/Dynamic Web Application ISBN: 981-254-365-1, ISBN-13:978-981-254-365-3, . . . . . . . . . . . . . . .31
Development Using PHP & MYSQL
ISBN: 1-844-80753-3, ISBN-13: 978-1-84480-753-6 . . . . . . . . . . . . . .63
Peng/Ordering Chaos
ISBN: 981-243-715-0, ISBN-13:978-981-243-715-0, . . . . . . . . . . . . . . .32
Poo/Learn to Program Java
ISBN: 981-265-880-7, ISBN-13:978-981-265-880-7 . . . . . . . . . . . . . . .40
Poo/Learn to Program Java User Interface
ISBN: 981-243-515-8, ISBN-13:978-981-243-515-6 . . . . . . . . . . . . . . . .41

R
Ritchie/Database Principles and Design, Second Edition
ISBN: 1-844-80540-9, ISBN-13: 978-1-844-80540-2 . . . . . . . . . . . . .29

S
Sawicki/Apache Web Server
ISBN: 1-4188-3753-9, ISBN-13: 978-1-4188-3753-2 . . . . . . . . . . . . . . . .64
Schneider, Gersting/Invitation to Computer Science
C++ Version, International Edition Fourth Edition
ISBN: 1-4239-0141-X, ISBN-13: 978-1-4239-0141-9 . . . . . . . . . . . . . . .3
Schneider, Gersting/Invitation to Computer Science,
Java Version, Third Edition
ISBN: 1-4239-0143-6, ISBN-13: 978-1-4239-0143-3 . . . . . . . . . . . . . .3
Shelly, Cashman, Herbert/Alice 2.0: An Introductory
Concepts and Techniques
ISBN: 1-4188-5934-6, ISBN-13: 978-1-4188-5934-3 . . . . . . . . . . . . . . .56
Sipser/Introduction to the Theory of Computation, International
Edition, Second Edition
ISBN: 0-619-21764-2, ISBN-13: 978-0-619-21764-8 . . . . . . . . . . . . . .30

66 www.cengageasia.com
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 67

Computer Hardware/Blundell

TITLE INDEX
A
ISBN: 1-844-80751-7, ISBN-13:978-1-844-80751-2 . . . . . . . . . . . . . . . .29
A First Book of Ansi C, Fourth Edition/Bronson
Computer Science: A Structured Programming Approach
ISBN: 1-4188-3556-0, ISBN-13: 978-1-4188-3556-9, . . . . . . . . . . . . . .12
Using C, Third Edition/Forouzan, Gilberg
A First Book of C++, From Here to There, Third Edition/Bronson ISBN: 0-534-49132-4, ISBN-13:978-0-534-49132-1 . . . . . . . . . . . . . . .12
ISBN: 0-534-49281-9, ISBN-13: 978-0-534-49281-6, . . . . . . . . . . . . .46 Connecting with Computer Science/Anderson, Ferro, Hilton
Active Services: Concepts, Architecture and ISBN: 0-619-21290-X, ISBN-13:978-0-619-21290-2 . . . . . . . . . . . . . .4
Implementation/Zhang
ISBN: 981-254-365-1, ISBN-13:978-981-254-365-3, . . . . . . . . . . . . . .31 D
Alice 2.0: An Introductory Concepts and Techniques/ Data Structures: A Pseudocode Approach With C, Second
Shelly, Cashman, Herbert Edition/ Gilberg, Forouzan
ISBN: 1-4188-5934-6, ISBN-13:978-1-4188-5934-3 . . . . . . . . . . . . . . . .56 ISBN: 0-534-39080-3, ISBN-13: 978-0-534-39080-8 . . . . . . . . . . . .17
Alice in Action: Computing Through Animation/Adams Data Structures and Algorithms in Java, Third Edition/Drozdek
ISBN: 1-4188-3771-7, ISBN-13:978-1-4188-3771-6 . . . . . . . . . . . . . . . . .57 ISBN: 981-4239-23-2, ISBN-13:978-981-4239-23-3, . . . . . . . . . . . . . .16
Alice in Action with Java/Adams Data Structures Using C++, Second EditionMalik
ISBN: 1-4239-0096-0, ISBN-13: 978-1-4239-0096-2 . . . . . . . . . . . . .57 ISBN: 1-4390-4023-0, ISBN-13: 978-1-4390-4023-2 . . . . . . . . . . . . .14
An Introduction to Java Programming and Data Structures and Algorithms in C++/Drozdek
Object-Oriented Application Development/Johnson ISBN: 0-534-49182-0, ISBN-13:978-0-534-49182-6, . . . . . . . . . . . . .15
ISBN: 0-619-21746-4, ISBN-13:978-0-619-21746-4 . . . . . . . . . . . . . . .43 Data Structures Using Java/Malik, Nair
An Introduction to Programming Using Alice/Herbert ISBN: 0-619-15950-2, ISBN-13:978-0-619-15950-4 . . . . . . . . . . . . . . .15
ISBN: 1-4188-3625-7, ISBN-13:978-1-4188-3625-2 . . . . . . . . . . . . . . . .56 Database Principles and Design, Second Edition/Ritchie
An Introduction to Programming with C++, Fifth Edition/Zak ISBN: 1-844-80540-9, ISBN-13:978-1-844-80540-2 . . . . . . . . . . . . . .29
ISBN: 1-4188-3618-4, ISBN-13:978-1-4188-3618-4 . . . . . . . . . . . . . . . .46 Dynamic Web Application Development Using
An Introduction to Programming with Python/Dawson XML and Java/Parsons
ISBN: 1-4239-0112-6, ISBN-13:978-1-4239-0112-9 . . . . . . . . . . . . . . . .57 ISBN: 1-844-80541-7, ISBN-13:978-1-84480-541-9 . . . . . . . . . . . . . . .63
An Object-Oriented Approach to Programming Dynamic Web Application Development Using PHP &
Logic & Design, Second Edition/Farrell MYSQL/Parsons, Stobart
ISBN: 1-4239-0184-3, ISBN-13:978-1-4239-0184-6 . . . . . . . . . . . . . . .37 ISBN: 1-844-80753-3, ISBN-13:978-1-84480-753-6 . . . . . . . . . . . . . . .63
Apache Web Server/Sawicki
ISBN: 1-4188-3753-9, ISBN-13:978-1-4188-3753-2 . . . . . . . . . . . . . . . .64
F
Artificial Intelligence: A Systems Approach/Jones Foundations of Computer Science, Second Edition/
Forouzan, Mosharraf
ISBN: 0-9778-5823-5 ISBN-13: 978-0-9778-5823-1 . . . . . . . . . . . . . . .24
ISBN: 1-844-80-700-2, ISBN-13:978-1-84480-700-0 . . . . . . . . . . . .4
ASP.NET Programming with C# & SQL Server/Gosselin
Fundamentals of Python: From First Programs Through Data
ISBN: 1-4239-0324-2, ISBN-13: 978-1-4239-0324-6 . . . . . . . . . . . . . .58
Structure/Lambert
Assembly Language and Computer Architecture ISBN: 1-4239-0218-1, ISBN-13: 978-1-4239-0218-8 . . . . . . . . . . . . . . .13
Using C++ and Java/Dos Reis
ISBN: 0-534-40527-4, ISBN-13:978-0-534-40527-4 . . . . . . . . . . . . . .30

B H
Human-Computer Interaction/Smith-Atakan
Beginning C++ Through Game Programming,
ISBN: 1-84480-454-2, ISBN-13:978-1-84480-454-2 . . . . . . . . . . . . . .28
Second Edition/Dawson
ISBN: 1-59863-360-0, ISBN-13:978-1-59863-360-3 . . . . . . . . . . . . . .45 I
Building Interactive Systems: Principles Introduction to ASP®.NET, Third Edition/Kalata
for Human-Computer Interaction/Olsen ISBN: 1-4188-3765-2, ISBN-13:978-1-4188-3765-5 . . . . . . . . . . . . . . . .62
ISBN: 1-4239-0248-3, ISBN-13:978-1-4239-0248-5 . . . . . . . . . . . . . .47
Introduction to C++ Programming, Brief Edition/Malik
Building Parallel Programs: SMPS, Clusters & Java/Kaminsky ISBN: 1-4239-0246-7, ISBN-13:978-1-4239-0246-1 . . . . . . . . . . . . . . .8
ISBN: 1-4239-0198-3, ISBN-13: 978-1-4239-0198-3 . . . . . . . . . . . . . .26
Introduction to the Theory of Computation, International
C Edition, Second Edition/Sipser
ISBN: 0-619-21764-2, ISBN-13:978-0-619-21764-8 . . . . . . . . . . . . . . .30
C# Programming: From Problem Analysis to Program
Design, Second Edition/Doyle Invitation to Computer Science C++ Version,
ISBN: 1-4239-0146-0, ISBN-13:978-1-4239-0146-4, . . . . . . . . . . . . .11 Fourth Edition/Schneider, Gersting
ISBN: 1-4239-0141-X, ISBN-13:978-1-4239-0141-9 . . . . . . . . . . . . . . .3
C++ for Engineers and Scientists, International Edition,
Invitation to Computer Science, Java Version,
Third Edition/Bronson
Third Edition/Schneider, Gersting
ISBN: 1-4390-3950-X, ISBN-13: 978-1-4390-3950-2, . . . . . . . . . . . .47
ISBN: 1-4239-0143-6, ISBN-13: 978-1-4239-0143-3 . . . . . . . . . . . . . .3
C++ Projects: Programming with Text-Based Games/Dawson
ISBN: 1-4239-0227-0, ISBN-13: 978-1-4239-0227-0 . . . . . . . . . . . . . .44 J
C++ Programming: From Problem Analysis Java Actually: A Comprehensive Primer in Java
to Program Design, International Edition, Fourth Edition/Malik Programming/Mughal
ISBN: 0-538-74756-0, ISBN-13: 978-0-538-74756-1 . . . . . . . . . . . . . .9 ISBN: 1-844-80933-1, ISBN-13:978-1-844-80933-2 . . . . . . . . . . . . . . .42
C++ Programming: Program Design Including Data Java Actually: A First Course in Programming/
Structures, International Edition, Fourth Edition/Malik Mughal, Hamre, Rasmussen
ISBN: 0-538-74751-X, ISBN-13:978-0-538-74751-6 . . . . . . . . . . . . . . .10 ISBN: 1-84480-418-6, ISBN-13:978-1-84480-418-4 . . . . . . . . . . . . . .42
Clearly Visual Basic: Programming with Visual Basic 2008/Zak Java Programming, Fourth Edition/Farrell
ISBN: 1-4239-0241-6, ISBN-13:978-1-4239-0241-6 . . . . . . . . . . . . . . .52 ISBN: 1-4239-0128-2, ISBN-13:978-1-4239-0128-0 . . . . . . . . . . . . . . .39
Compiler Construction: Priciples and Practice/Louden
ISBN: 0-534-93972-4, ISBN-13:978-0-534-93972-4 . . . . . . . . . . . . . .28

www.cengageasia.com 67
01-68_09CSci_SL_Cat:Layout 1 4/28/09 1:07 PM Page 68

TITLE INDEX
Programming Logic and Design Comprehensive,

TITLE INDEX
Java Programming: From Problem Analysis to Program
Design, International Edition, Third Edition/Malik Fifth Edition/Farrell
ISBN: 1-4390-4034-6, ISBN-13: 978-1-4390-4034-8 . . . . . . . . . . . . .6 ISBN: 1-4239-0196-7, ISBN-13:978-1-4239-0196-9 . . . . . . . . . . . . . . .34
Java Programming: Guided Learning with Early Objects/ Programming Logic and Design Introductory, Fifth Edition/
Malik, Burton Farrell
ISBN: 1-4239-0162-2, ISBN-13:978-1-4239-0162-4 . . . . . . . . . . . . . . .5 ISBN: 1-4239-0195-9, ISBN-13:978-1-4239-0195-2 . . . . . . . . . . . . . . .35
Java Programming: Program Design Including Programming with Microsoft® Visual Basic® 2008,
Data Structures/Malik International Edition,Fourth Edition/Zak
ISBN: 1-4188-3540-4, ISBN-13:978-1-4188-3540-8 . . . . . . . . . . . . . . .6 ISBN: 1-4390-4035-4, ISBN-13:978-1-4390-4035-5 . . . . . . . . . . . . . .54
Java Programs to Accompany Programming Logic Programming with Microsoft® Visual Basic® 2008:
and Design, Second Edition/Smith An Object-Oriented Approach, International Edition,
ISBN: 1-4239-0229-7, ISBN-13:978-1-4239-0229-4 . . . . . . . . . . . . . .36
Third Edition/Ekedahl
Javascript, Fourth Edition/Gosselin ISBN: 1-4390-40206, ISBN-13: 978-1-4390-40201 . . . . . . . . . . . . . .53
ISBN: 1-4239-0150-9, ISBN-13:978-1-4239-0150-1 . . . . . . . . . . . . . . .61
Programming with Visual C++: Concepts and Projects/Allert
Just Enough C/C++ Programming/Lecky-Thompson ISBN: 1-4239-0186-X, ISBN-13:978-1-4239-0186-0 . . . . . . . . . . . . . .7
ISBN: 1-59863-468-2, ISBN-13:978-1-59863-468-6 . . . . . . . . . . . . . . .45
Python for Rookies/Mount
Just Enough Programming Logic and Design/Farrell ISBN: 1-844-80701-0, ISBN-13:978-1-844-80701-7 . . . . . . . . . . . . . .51
ISBN: 1-4390-3957-7, ISBN-13: 978-1-4390-3957-1 . . . . . . . . . . . . . . .33
R
L Robotics/Appin Knowledge Solutions
Learn to Program Java/Poo
ISBN: 1-49340-1502-4, ISBN-13: 1-49340-1502-5 . . . . . . . . . . . . . . . .25
ISBN: 981-265-880-7, ISBN-13:978-981-265-880-7 . . . . . . . . . . . . . . .40
Learn to Program Java User Interface/Poo S
ISBN: 981-243-515-8, ISBN-13:978-981-243-515-6 . . . . . . . . . . . . . . . .42 Software Engineering and Testing/Agarwal, Tayal, Gupta
ISBN: 1-9340-1555-5 ISBN-13: 978-1-9340-1555-1 . . . . . . . . . . . . . . . .22
M Software Testing/Koirala, Sheikh
ISBN: 1-9340-1524-5, ISBN-13: 978-1-9340-1524-7 . . . . . . . . . . . . . . .23
Microsoft® Visual Basic® 2005: Reloaded, Advanced/Johnson, Zak
ISBN: 1-4188-3643-5, ISBN-13:978-1-4188-3643-6 . . . . . . . . . . . . . . .55 U
Microsoft® Visual C# 2008 Comprehensive: An Introduction to
Understanding Operating Systems, International Edition, Fifth
Object-Oriented Programming/Farrell
Edition/Mclver-McHoes, Flynn
ISBN: 0-495-80643-9, ISBN-13:978-0-495-80643-9 . . . . . . . . . . . . .49
ISBN: 1-4390-8011-9, ISBN-13:978-1-4390-8011-5 . . . . . . . . . . . . . . .20
Microsoft® Visual C# 2008: An Introduction to
Object-Oriented Programming, Third Edition/Farrell V
ISBN: 1-4239-0255-6, ISBN-13:978-1-4239-0255-3 . . . . . . . . . . . . . . .50 Visual Basic® 2008: Reloaded, Third Edition/Zak
Model-Driven Software Development with UML and Java/Lano ISBN: 1-4239-0250-5, ISBN-13:978-1-4239-0250-8 . . . . . . . . . . . . . .55
ISBN: 1-8448-952-8, ISBN-13: 978-1-8448-952-8 . . . . . . . . . . . . . . . .21 Visual Basic Programs to Accompany Programming
Modern Software Development Using C# .NET/Wiener Logic and Design/Smith
ISBN: 0-619-21759-6, ISBN-13:978-0-619-21759-4 . . . . . . . . . . . . . . .18 ISBN: 1-4239-0249-1, ISBN-13:978-1-4239-0249-2 . . . . . . . . . . . . . . .37
Modern Software Development Using Java, Visual Logic/Vanguard
Second Edition/Tymann, Schneider
ISBN: 1-4188-3773-3, ISBN-13:978-1-4188-3773-0 . . . . . . . . . . . . . . . .38
ISBN: 1-4239-0123-1, ISBN-13:978-1-4239-0123-5 . . . . . . . . . . . . . . .18

O
Object-Oriented Program Development Using Java:
A Class-Centered Approach, Enhanced Edition/Bronson
ISBN: 0-619-21720-0, ISBN-13:978-0-619-21720-4 . . . . . . . . . . . . . .43
Object-Oriented Programming Using C++, International
Edition, Fourth Edition/Farrell
ISBN: 0-538-74709-9, ISBN-13:978- 0-538-74709-7 . . . . . . . . . . . . . .48
Ordering Chaos/Peng
ISBN: 981-243-715-0, ISBN-13:978-981-243-715-0, . . . . . . . . . . . . . . .32

P
PHP Programming with MYSQL/Gosselin
ISBN: 0-619-21687-5, ISBN-13:978-0-619-21687-0 . . . . . . . . . . . . . . .64
Principles of Operating Systems, International Edition/Stuart
ISBN: 0-538-74953-9, ISBN-13:978-0-538-74953-4 . . . . . . . . . . . . . . .19
Principles of Web Design, International Edition, Fourth
Edition/Sklar
ISBN: 0-538-74757-9, ISBN-13:978-0-538-74757-8 . . . . . . . . . . . . . . .60
Programming Languages: Principles and Practice,
Second Edition/Louden
ISBN: 0-534-95341-7, ISBN-13:978-0-534-95341-6 . . . . . . . . . . . . . . .28

68 www.cengage.com/coursetechnology
2008CS_ifc-ibc_SL:CS_Covers 2/27/08 10:46 AM Page 1
2008CS_ifc-ibc_SL:CS_Covers 2/27/08 10:46 AM Page 2

ORDERING INFORMATION
Cengage Learning delivers highly customized learning
solutions for colleges, universities, professors, students,
reference centers, government agencies, corporations
and professionals around the world. These solutions are
delivered through specialized content, applications and
services that foster academic excellence and professional
development, as well as provide measurable learning
outcomes to its customers.

This engagement through our people, products, and


services is continuous and evolving. We seek to provide
products and services that meet current and emerging
needs, drive measurable outcomes, and improve results.

SINGAPORE - Regional Headquarters Visit www.cengageasia.com and www.cengage.com for


Cengage Learning Asia Pte Ltd more information. Cengage Learning – delivering results
5 Shenton Way through engagement.
01-01 UIC Building
Singapore 068808 With a staff strength of 260 located across Asia and
Tel (65) 6410 1200 coordinated by a regional office in Singapore,
Fax (65) 6410 1208 JAPAN Cengage Learning Asia aims to be the premier
e-mail asia.info@cengage.com Cengage Learning K. K. information provider within the markets we serve.
No 2 Funato Building 5th Floor
CHINA 1-11-11 Kudankita,
Cengage Learning Asia Pte Ltd Chiyoda-ku,
(Beijing Representative Office) Tokyo 102-0073,
Room 1201 South Tower C Japan
Raycom Info Tech Park Tel (81) 3 3511 4390
No 2 Kexueyuan South Road, Fax (81) 3 3511 4391
Haidian District e-mail asia.infojapan@cengage.com
Beijing 100080, China
Tel (86) 10 8286 2095/2096/2097 KOREA
Fax (86) 10 8286 2089 Cengage Learning Korea Ltd TAIWAN
e-mail asia.infochina@cengage.com Suite 1801, Seokyo Tower Building, Cengage Learning Asia Pte Ltd
353-1, 22 Seokyo-Dong Mapo-Gu, (Taiwan Branch)
HONG KONG Seoul 121-837, 9F-1 No.87 Cheng Chou RD
Cengage Learning Hong Kong Limited Korea Ta Tong District
Unit 808-810 8/F, Tins Enterprises Centre Tel (82) 2 322 4926 103 Taipei
777 Lai Chi Kok Road, Fax (82) 2 322 4927 Taiwan
Cheung Sha Wan, Kowloon, e-mail asia.infokorea@cengage.com Tel (886) 2 2558 0569
Hong Kong Fax (886) 2 2558 0360
Tel (852) 2612 1833 MALAYSIA e-mail asia.infotaiwan@cengage.com
Fax (852) 2408 2498 Cengage Learning Asia Pte Ltd
e-mail asia.infohongkong@cengage.com (f.k.a. Thomson Asia Pte Ltd) THAILAND/INDOCHINA
(Malaysia Branch) Incorporated in Singapore Cengage Learning (Thailand) Limited
INDIA & THE INDIA SUB-CONTINENT Co. Reg No: 993622K 408/32 Phaholyothin Place Building
Cengage Learning India Private Limited No. 4 Jalan PJS 11/18, Bandar Sunway 8th Floor, Phaholyothin Avenue,
Alps Building, 1st Floor 46150 Petaling Jaya Samseannai, Phayathai
56 Janpath, New Delhi 110 001 Selangor, Bangkok 10400,
India Malaysia Thailand
Tel (91) 11 3048 4830/31 Tel (60) 3 5636 8351/52 Tel (66) 2 619 0433-5
Fax (91) 11 3048 4834 Fax (60) 3 5636 8302 Fax (66) 2 619 0436
e-mail asia.infoindia@cengage.com e-mail asia.infomalaysia@cengage.com e-mail asia.infothailand@cengage.com

INDONESIA PHILIPPINES/OCEANIA VIETNAM


PT Cenage Learning Indonesia *Thomson Asia Pte Ltd Cengage Learning Asia Pte Ltd
Ruko Sentral Bisnis Tanjung Duren (Philippines Branch) (Vietnam Representative Office)
Blok B No. 20 Unit 2104-2106 Raffles Corporate Center Suite 1011, 10th Floor Zen Plaza
Jl. Tanjung Duren Raya Emerald Avenue 54-56 Nguyen Trai Street, District 1,
Jakarta Barat 11470 Ortigas Center, Pasig City Ho Chi Minh City,
Indonesia Philippines 1605 Vietnam
Tel (62) 21 565 3219 Tel (63) 2 915 5290 Tel (848) 9257 880
Fax (62) 21 565 2914 Fax (63) 2 915 1694 Fax (848) 9257 881
e-mail asia.infoindonesia@cengage.com e-mail asia.infophilippines@cengage.com e-mail asia.infovietnam@cengage.com

* We are in the process of changing the Company’s name

For territories not listed above, please contact Cengage Learning in Singapore
Cengage Learning Asia Pte Ltd
5 Shenton Way #01-01 UIC Building
Singapore 068808
Tel: (65) 6410 1200 • Fax: (65) 6410 1208
Email: asia.info@cengage.com • Website: www.cengageasia.com

© 2009 Cengage Learning.


ALL RIGHTS RESERVED. No part of this work covered by the copyright herein may be reproduced, transmitted, stored, or used in any form or by any means graphic, electronic, or mechanical, including but not limited to photocopying,
recording, scanning, digitizing, taping, web distribution, information networks, or information storage and retrieval systems, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without the prior
written permission of the publisher.

Cvr Size:165x241mm 4cx4c


Cvr_CS_SL.indd 1 4/28/09 11:35:46 AM

You might also like