Book description
Based off the highly successful Programming and Problem Solving with C++ which Dale is famous for, comes the new Brief Edition, perfect for the one-term course. The text was motivated by the need for a text that covered only what instructors and students are able to move through in a single semester without sacrificing the breadth and detail necessary for the introductory programmer. The authors excite and engage students in the learning process with their accessible writing style, rich pedagogy, and relevant examples. This Brief Edition introduces the new Software Maintenance Case Studies element that teaches students how to read code in order to debug, alter, or enhance existing class or code segments.Table of contents
- Cover Page
- Title Page
- Copyright Page
- Contents
- Preface
-
1 - Overview of Programming and Problem Solving
- 1.1 Overview of Programming
- 1.2 How Does a Computer Run a Program?
- 1.3 What's Inside the Computer?
- 1.4 Ethics and Responsibilities in the Computing Profession
-
1.5 Problem-Solving Techniques
- Ask Questions
- Look for Things That Are Familiar
- Solve by Analogy
- Means-Ends Analysis
- Divide and Conquer
- The Building-Block Approach
- Merging Solutions
- Mental Blocks: The Fear of Starting
- Algorithmic Problem Solving
- Problem-Solving Case Study: Leap Year Algorithm
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Case Study Follow-Up
- Line Number
- 2 - C++ Syntax and Semantics, and the Program Development Process
-
3 - Numeric Types, Expressions, and Output
- 3.1 Overview of C++ Data Types
- 3.2 Numeric Data Types
- 3.3 Declarations for Numeric Types
- 3.4 Simple Arithmetic Expressions
- 3.5 Compound Arithmetic Expressions
- 3.6 Function Calls and Library Functions
- 3.7 Formatting Output
-
3.8 Additional string Operations
- The length and size Functions
- The find Function
- The substr Function
- Accessing Characters Within a String: The at Function
- Converting to Lowercase and Uppercase
- Problem-Solving Case Study: Mortgage Payment Calculator
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
- 4 - Program Input and the Software Design Process
-
5 - Conditions, Logical Expressions, and Selection Control Structures
- 5.1 Flow of Control
- 5.2 Conditions and Logical Expressions
- 5.3 The If Statement
- 5.4 Nested If Statements
- 5.5 Logical Operators
-
5.6 Testing the State of an I/O Stream
- Problem-Solving Case Study: BMI Calculator
- Testing and Debugging
- Testing in the Problem-Solving Phase: The Algorithm Walk-Through
- Testing in the Implementation Phase
- The Test Plan
- Tests Performed Automatically During Compilation and Execution
- Testing and Debugging Hints
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
6 - Looping
- 6.1 The While Statement
- 6.2 Phases of Loop Execution
- 6.3 Loops Using the While Statement
- 6.4 How to Design Loops
-
6.5 Nested Logic
- Designing Nested Loops
- Problem-Solving Case Study: Recording Studio Design
- Testing and Debugging
- Loop-Testing Strategy
- Test Plans Involving Loops
- Testing and Debugging Hints
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
7 - Additional Control Structures
- 7.1 The Switch Statement
- 7.2 The Do-While Statement
- 7.3 The For Statement
- 7.4 The Break and Continue Statements
- 7.5 Guidelines for Choosing a Looping Statement
-
7.6 Additional C++ Operators
- Assignment Operators and Assignment Expressions
- Increment and Decrement Operators
- Bitwise Operators
- The Cast Operation
- The sizeof Operator
- The ?: Operator
- Operator Precedence
- Type Coercion in Arithmetic and Relational Expressions
- Problem-Solving Case Study: The Rich Uncle
- Testing and Debugging
- Testing and Debugging Hints
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
8 - Functions
- 8.1 Functional Decomposition with Void Functions
- 8.2 An Overview of User-Defined Functions
- 8.3 Syntax and Semantics of Void Functions
-
8.4 Parameters
- Value Parameters
- Reference Parameters
- Software Maintenance Case Study: Refactoring a Program
- Using Expressions with Parameters
- A Last Word of Caution About Argument and Parameter Lists
- Writing Assertions as Function Documentation
- Problem-Solving Case Study: Lawn Care Company Billing
- Testing and Debugging
- The assert Library Function
- Testing and Debugging Hints
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
- 9 - Scope, Lifetime, and More on Functions
- 10 - User-Defined Data Types
-
11 - Arrays
-
11.1 One-Dimensional Arrays
- Declaring Arrays
- Accessing Individual Components
- Out-of-Bounds Array Indexes
- Initializing Arrays in Declarations
- (Lack of) Aggregate Array Operations
- Examples of Declaring and Accessing Arrays
- Passing Arrays as Arguments
- Commenting Arrays
- Software Maintenance Case Study: Modularizing a Program
- Using Typedef with Arrays
- 11.2 Arrays of Records
- 11.3 Special Kinds of Array Processing
- 11.4 Two-Dimensional Arrays
- 11.5 Passing Two-Dimensional Arrays as Arguments
- 11.6 Processing Two-Dimensional Arrays
- 11.7 Another Way of Defining Two-Dimensional Arrays
- 11.8 Multidimensional Arrays
-
11.9 Sorting and Searching in an Array
- Sorting
- Searching
- Problem-Solving Case Study: Calculating Exam Statistics
- Problem-Solving Case Study: Favorite Rock Group
- Testing and Debugging
- One-Dimensional Arrays
- Complex Structures
- Multidimensional Arrays
- Sorting and Searching
- Testing and Debugging Hints
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
11.1 One-Dimensional Arrays
- 12 - Classes and Abstraction
- 13 - Recursion
- Appendices
- Index
Product information
- Title: Programming and Problem Solving with C++: Brief Edition, 5th Edition
- Author(s):
- Release date: October 2010
- Publisher(s): Jones & Bartlett Learning
- ISBN: 9781449613044
You might also like
audiobook
How to Do Nothing
A galvanizing critique of the forces vying for our attention-and our personal information-that redefines what we …
book
The Art of Communication
Bring nuance, depth, and meaning to every conversation you have The Art of Communication is for …
audiobook
Fall in Love with the Problem, Not the Solution
Unicorns-companies that reach a valuation of more than $1 billion-are rare. Uri Levine has built two. …
book
97 Things Every Programmer Should Know
Tap into the wisdom of experts to learn what every programmer should know, no matter what …