The Art and Science of C: A Library Based Introduction to Computer Science / Edition 1by Eric S. Roberts
Pub. Date: 08/31/1994
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./b>
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.
SupplementsInstructor's Manual (93365)Graphics Library
- 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.
Runs on the Macintosh (THINK C), the PC (Borland C/C++), and UNIX (XWindows).
The library interfaces and associated implementations are reprinted in Appendix B of the text.
All supplemental material available on-line.
- Publication date:
- Edition description:
- New Edition
- Product dimensions:
- 7.20(w) x 9.00(h) x 1.70(d)
Table of Contents(All chapters contain a Summary and Review Questions, and all chapters, except Chapter 1, conclude with Programming Exercises.)
A Brief History of Computing.
What is Computer Science?
A Brief Tour of Computer Hardware.
Programming Languages and Compilation.
Programming Errors and Debugging.
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.
Programming Idioms and Paradigms.
Solving Problems on a Larger Scale.
An Exercise in Debugging.
Crafting a Program.
The if Statement.
The switch Statement.
The while Statement.
The for Statement.
Using Library Functions.
Writing Your Own Functions.
Mechanics of the Function-Calling Process.
Testing for Primality.
Computing the Greatest Common Divisor.
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.
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.
Strings as Abstract Data.
The strlib.h Interface.
Pig Latin—A Case Study in Modular Development.
Maintaining Internal State within a Module.
Implementing a Scanner Abstraction.
III. COMPOUND DATA TYPES.
Introduction to Arrays.
Internal Representation of Data.
Passing Arrays as Parameters.
Using Arrays for Tabulation.
Static Initialization of Arrays.
Searching and Sorting.
Using Addresses as Data Values.
Pointer Manipulation in C.
Passing Parameters by Reference.
Pointers and Arrays.
Conceptual Representations of the Type string.
The ANSI String Library.
Implementing the strlib.h Library.
Using Files in C.
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.
Abstract Data Types.
Analysis of Algorithms.
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
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >
This book is great because it does not set out to teach you C...it sets out to teach you computer programming - and good programming practice - using C as the example language. I used all the concepts covered in this book for my visual basic programming, as it teaches a lot about programming concepts that those 'Learn in XX Days' books usually skip over while walking you through 'Wizards.' The only problem is the price, as this is a college text book.
This book is poorly written and difficult to follow. It is not comprehensive and is not good for students new to computer programming. It's examples are outdated and the program it is written for is difficult as well. There is much better on the market. If your teacher does not cover everything in lecture, do not expect this book to help.