Book description
Based off the best-selling Programming and Problem Solving with C++, which Dale is famous for, the Brief Edition is 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.
Key Features:
-Presents advanced topics at an introductory level with accessible writing and strong pedagogy.
-Provides the highly successful concise and student-friendly writing style that is a trademark for the Dale/Weems textbook series in computer science.
-Introduces C++ language constructs in parallel with the appropriate theory so students see and understand its practical application.
-Strong pedagogical elements, a hallmark feature of Dale/Weems' successful hands-on teaching approach, include Software Maintenance case studies, Problem-Solving case studies, Testing & Debugging exercises, Exam Preparation exercises, Programming Warm-up exercises, Programming Problems, Demonstration Projects, and Quick Check exercises.
-A complete package of student and instructor resources include a student companion website containing all the source code for the programs and exercises in the text, additional appendices with C++ reference material and further discussion of topics from the text, and a complete digital lab manual in C++. Instructors are provided all the solutions to the exercises in the text, the source code, a Test Bank, and PowerPoint Lecture Outlines organized by chapter.
Table of contents
- Cover
- Title 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.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
- Summary
- Quick Check Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
- 6 Looping
-
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
- 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.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
- 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
- Pointer Expressions and 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
- 11.10 Dynamic Data
-
11.11 C-Style Strings
- Strings as Arrays
- C String Operations
- Converting C Strings to C++ Strings
- Which String Representation to Use
- 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
- 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
- Appendix A: Reserved Words
- Appendix B: Operator Precedence
- Appendix C: A Selection of Standard Library Routines
- Appendix D: Using This Book with a Prestandard Version of C++
- Appendix E: Character Sets
- Appendix F: Program Style, Formatting, and Documentation
- Appendix G: More on Floating-Point Numbers
- Appendix H: Using C Strings
- Appendix I: C++ char Constants
- Index
Product information
- Title: Programming and Problem Solving with C++: Brief, 6th Edition
- Author(s):
- Release date: March 2013
- Publisher(s): Jones & Bartlett Learning
- ISBN: 9781449694296
You might also like
book
Programming and Problem Solving with C++: Comprehensive, 6th Edition
The best-selling Programming and Problem Solving with C++, now in it's Sixth Edition, remains the clearest …
book
Programming and Problem Solving with C++, 5th Edition
Completely revised and updated with the latest version of C++, the new Fifth Edition of Programming …
article
Reinventing the Organization for GenAI and LLMs
Previous technology breakthroughs did not upend organizational structure, but generative AI and LLMs will. We now …
book
C++20 for Lazy Programmers: Quick, Easy, and Fun C++ for Beginners
Ready to learn programming with less effort and more fun? Then do it the lazy way! …