Introduction to Computer Science with C++ / Edition 2

Introduction to Computer Science with C++ / Edition 2

by Kenneth Alfred Lambert, Douglas W. Nance, Thomas L. Naps, Douglas W. Nance
     
 

This is the only C++ textbook on the market that provides complete coverage of CS1 and CS2 in one volume. This book focuses on traditional CS1 and CS2 topics, while developing object-oriented programs. The software life cycle is emphasized throughout, with numerous case studies of varying size and complexity. The first third of the book covers program design with

See more details below

Overview

This is the only C++ textbook on the market that provides complete coverage of CS1 and CS2 in one volume. This book focuses on traditional CS1 and CS2 topics, while developing object-oriented programs. The software life cycle is emphasized throughout, with numerous case studies of varying size and complexity. The first third of the book covers program design with calculation, functions, control structures, and the use of objects. Beginning in Chapter 8, the next third of the book covers user-defined classes, inheritance, polymorphism, arrays, complexity analysis, and the development of abstract data types (called ADTs). The last third of the book covers several standard ADTs - table, list, stack, queue, tree, and graph - including discussions of different implementations, applications, and the complexity of each ADT. Additional topics include recursion and advance sorting and searching techniques.

Product Details

ISBN-13:
9780534368937
Publisher:
Course Technology, Inc.
Publication date:
02/01/2000
Edition description:
2ND BK&DK
Pages:
1032
Product dimensions:
8.27(w) x 10.24(h) x (d)

Table of Contents

1. COMPUTER SCIENCE, COMPUTER ARCHITECTURE, AND COMPUTER LANGUAGES Computer Science: A Preview / Computer Architecture / Computer Languages 2. PROBLEM SOLVING FUNDAMENTALS: DATA TYPES AND OUTPUT Program Development: Top-Down Design / Writing Programs / Data Types and Output / Summary / Programming Problems and Projects 3. MORE PROBLEM SOLVING FUNDAMENTALS: CALCULATION AND INPUT Arithmetic in C++ / Using Variables / Input / String Variables / Using Constants / Library Functions / Type Compatibility and Type Conversion / Summary / Programming Problems and Projects 4. SUBPROGRAMS: FUNCTIONS FOR PROBLEM SOLVING Program Design / User-Defined Functions / Parameters / Functions as Subprograms / Scope of Identifiers / Programmer-Defined Libraries / Summary / Programming Problems and Projects 5. SELECTION STATEMENT Boolean Expressions / if Statements / if . . . else Statements / Nested and Extended if Statements / switch Statements / Assertions / Summary / Programming Problems and Projects 6. REPETITION STATEMENTS Classifying Loops / for Loops / while Loops / do . . . while Loops / Loop Verification / Nested Loops / Repetition and Selection / Summary / Programming Problems and Projects 7. FILES Streams and Stream Processing / Using Functions with Files / Character Input and Output / Summary / Programming Problems and Projects 8. BUILDING STRUCTURED DATA: STRUCTS AND CLASSES The Struct Data Type / Introduction to User-Defined Classes / Object-Oriented Programming and Software Maintenance / A Rational Number Case / Derived Classes and Inheritance / Summary / Programming Problems and Projects 9. ARRAYS Arrays / Using Arrays / Array Parameters and Functions / Sorting and Searching an Array / Two-Dimensional Arrays / Safe Arrays: Vectors / Strings / Safe Arrays: Matrices / Summary / Programming Problems and Projects 10. ALGORITHM ANALYSIS: SPACE AND TIME CONSIDERATIONS Designing Programs: A Look Back and a Look Ahead / Simple Sorting Algorithms / Which Sort Is Best? A Big-O Analysis / The Time/Space Trade-off: Pointer Sort and Radix Sort / Simple Search Algorithms / Summary / Programming Problems and Projects 11. DATA ABSTRACTION AND OBJECT-ORIENTED SOFTWARE ENGINEERING The Ordered Collection Abstract Data Type / Sorted Collection / The One-Key Table Abstract Data Type / The Two-Key Table Abstract Data Type / Revisiting the Analysis Phase of the Software Engineering Life Cycle / Revisiting the Design Phase of the Software Engineering Life Cycle / Revisiting the Implementation and Testing Phases of the Software Engineering Life Cycle / Summary / Programming Problems and Projects 12. LINKED LISTS The Need for Linked Lists / The Concept of a Linked List / Defining the Linked List ADT as a C++ Class / Pointers and the Management of Computer Memory / Using a Linked List to Implement a One-Key Table / Summary / Programming Problems and Projects 13. STACKS AND QUEUES The Stack Abstract Data Type and Its Implementation / An Application of Stacks: Parsing and Evaluating Arithmetic Expressions / The Queue Abstract Data Type: Its Use and Implementations / Summary / Programming Problems and Projects 14. RECURSION Controlling Simple Iteration with Recursion / Weaving More Complex Recursive Patterns / Recursion, Trial-and-Error Backtracking, and Generalized Nested Loops 15. BINARY TREES, GENERAL TREES, AND GRAPHS General Trees and Binary Trees as Abstract Data Types / Linked Implementation of a Binary Tree / Binary Search Tree Implementation of a One-Key Table / Linear Implementation of the Binary Tree Abstract Data Type / General Trees / Graphs and Networks: Bidirectional Trees / Summary / Programming Problems and Projects 16. MORE POWERFUL SORTING METHODS The Shell Sort Algorithm / The Quick Sort Algorithm / The Heap Sort Algorithm / The Merge Sort Algorithm / Summary / Programming Problems and Projects 17. MORE POWERFUL SEARCH METHODS Density-Dependent Search Techniques / Two Abstract Data Types Revisited / Indexed Search Techniques (Optional) / APPENDICES / A. Reversed Words / B. Some Useful Library Functions / C. Syntax Diagrams / D. The ASCII Character Set / E. The AP Classes / GLOSSARY / ANSWERS TO SELECTED EXERCISES / INDEX

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >