|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Art and Science of C, The: A Library Based Introduction to Computer Science
Eric S. RobertsStanford University

ISBN-10: 0201543222
ISBN-13:  9780201543223

Publisher:  Addison-Wesley
Copyright:  1995
Format:  Paper; 704 pp
Published:  08/31/1994
Status: Instock


Suggested retail price: $105.00
Buy from myPearsonStore



This book provides a solid introduction to computer science that emphasizes software engineering and the development of good programming style. Writing in an engaging style, Stanford professor Eric Roberts makes difficult concepts accessible and exciting. The text focuses on the use of libraries and abstractions, which are essential to modern programming. Moreover, by using libraries to hide C's complexity, Roberts introduces topics in an order that allows students to master each one individually. As soon as the student has the background to understand the details, Roberts reveals the underlying implementation of each library. With this approach, the libraries themselves demonstrate the power of abstraction.

(All chapters contain a Summary and Review Questions, and all chapters, except Chapter 1, conclude with Programming Exercises.)

Introduction.

A Brief History of Computing.

What is Computer Science?

A Brief Tour of Computer Hardware.

Algorithms.

Programming Languages and Compilation.

Programming Errors and Debugging.

Software Maintenance.

The Importance of Software Engineering.

Some Thoughts on the C Programming Language.

I. THE BASICS OF C PROGRAMMING.

Learning by Example.

The “Hello World” Program.

A Program to Add Two Numbers.

Perspectives on the Programming Process.

Data Types.

Expressions.

Problem Solving.

Programming Idioms and Paradigms.

Solving Problems on a Larger Scale.

Control Statements.

An Exercise in Debugging.

Formatted Output.

Crafting a Program.

Statement Forms.

Simple Statements.

Control Statements.

Boolean Data.

The if Statement.

The switch Statement.

The while Statement.

The for Statement.

Functions.

Using Library Functions.

Function Declarations.

Writing Your Own Functions.

Mechanics of the Function-Calling Process.

Procedures.

Stepwise Refinement.

Algorithms.

Testing for Primality.

Computing the Greatest Common Divisor.

Numerical Algorithms.

Series Expansion.

Specifying the Size of Numeric Types.

II. LIBRARIES AND MODULAR DEVELOPMENT.

Libraries and Interfaces: A Simple Graphics Package.

The Concept of an Interface.

An Introduction to the Graphics Library.

Building Your Own Tools.

Solving a Larger Problem.

Designing Interfaces: A Random Number Library.

Interface Design.

Generating Random Numbers by Computer.

Saving Tools in Libraries.

Evaluating the Design of random.h Interface.

Using the Random-Number Package.

Strings and Characters.

The Principle of Enumeration.

Characters.

Strings as Abstract Data.

The strlib.h Interface.

Modular Development.

Pig Latin—A Case Study in Modular Development.

Maintaining Internal State within a Module.

Implementing a Scanner Abstraction.

III. COMPOUND DATA TYPES.

Arrays.

Introduction to Arrays.

Internal Representation of Data.

Passing Arrays as Parameters.

Using Arrays for Tabulation.

Static Initialization of Arrays.

Multidimensional Arrays.

Searching and Sorting.

Searching.

Sorting.

Pointers.

Using Addresses as Data Values.

Pointer Manipulation in C.

Passing Parameters by Reference.

Pointers and Arrays.

Dynamic Allocation.

Strings Revisited.

Conceptual Representations of the Type string.

The ANSI String Library.

Implementing the strlib.h Library.

Files.

Text Files.

Using Files in C.

Character I/O.

Line-oriented I/O.

Formatted I/O.

Records.

The Concept of the Data Record.

Using Records in C.

Combining Records and Arrays.

Pointers to Records.

Building a Database of Records.

Designing a Record-Based Application.

Looking Ahead.

Recursion.

Abstract Data Types.

Analysis of Algorithms.

Summary.

Review Questions.

Programming Exercises.

Appendix A. Summary of C Syntax and Structure.

Appendix B. Library Sources.

Includes instructions for installing the libraries, sample course syllabus, extra assignments, examinations and solutions. 0201543222T04062001

Eric S. Roberts is a Professor of Computer Science at Stanford University and the department's Associate Chair for Educational Affairs. He is also the Charles Simonyi Professor for Innovation in Teaching. After receiving his Ph.D. in Applied Mathematics from Harvard University in 1980, Dr. Roberts founded and chaired the computer science department at Wellesley College. He then worked for five years as a researcher for Digital Equipment Corporation's Systems Research Center in Palo Alto, California. Dr. Roberts is also the author of The Art and Science of C, published by Addison-Wesley in 1995.



0201543222AB04062001

The Art and Science of C is specifically designed to teach introductory programming using ANSI C. Roberts uses standard software engineering strategies---procedural abstraction, modular decomposition, and information hiding---from start to finish. What is unique about this book is Roberts' use of libraries. This method has two advantages. First, Roberts uses the libraries to emphasize the techniques of procedural abstraction, modular development, and information hiding, which are essential tools for the professional programmer. By emphasizing these concepts from the very beginning to the text, students develop the skills necessary to manage complexity when it arises.

Second, the text makes the material easier for students to learn. Early in the book, Roberts introduces several new libraries that hide details from the students until they are ready to use them. The libraries give the students the power to write useful programs that they could not yet develop on their own. Later chapters reveal the implementation of those libraries, thereby allowing students to appreciate the power of abstraction. With this text, Roberts provides you with everything you'll need to manage C's inherent complexity.

Features
  • Promotes solid programming skills by including discussion of the hows as well as the whys of programming.
  • Includes helpful learning tools:
  • Review questions covering key elements end each chapter.
  • Exercises, over 175 in the text.
  • Sample programs illustrate both the mechanics of programming and the use of good programming style.
  • Buggy programs help student identity and correct bugs of their own.
SupplementsInstructor's Manual (93365)Graphics Library
Runs on the Macintosh (THINK C), the PC (Borland C/C++), and UNIX (XWindows).

Libraries
The library interfaces and associated implementations are reprinted in Appendix B of the text.

All supplemental material available on-line.



0201543222B04062001

Source Code
Roberts
©1995 | Addison-Wesley | DVD | Instock
ISBN-10: 0321314573 | ISBN-13: 9780321314574


Interwrite Personal Response System
EduCue, Addison-Wesley & Benjamin Cummings
©2004 | Addison-Wesley | Electronic Supplement | Instock
ISBN-10: 0321267354 | ISBN-13: 9780321267351


Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.