1st Edition

Computational Thinking for the Modern Problem Solver

ISBN 9781466587779
Published March 27, 2014 by Chapman and Hall/CRC
405 Pages 273 Color Illustrations

USD $105.00

Prices & shipping based on shipping country


Book Description

Through examples and analogies, Computational Thinking for the Modern Problem Solver introduces computational thinking as part of an introductory computing course and shows how computer science concepts are applicable to other fields. It keeps the material accessible and relevant to noncomputer science majors.

With numerous color figures, this classroom-tested book focuses on both foundational computer science concepts and engineering topics. It covers abstraction, algorithms, logic, graph theory, social issues of software, and numeric modeling as well as execution control, problem-solving strategies, testing, and data encoding and organizing. The text also discusses fundamental concepts of programming, including variables and assignment, sequential execution, selection, repetition, control abstraction, data organization, and concurrency. The authors present the algorithms using language-independent notation.

Table of Contents

What Is Computational Thinking?
Computers, Computers Everywhere
Computer, Computer Science, and Computational Thinking
From Abacus to Machine
The First Software
What Makes It a Modern Computer?
The First Modern Computer
Moore’s Law
When Will You Ever Use This Stuff?

How Real-World Information Becomes Computable Data
Information and Data
Converting Information into Data
Data Capacity
Data Compression

What Is Logic?
Boolean Logic
Applications of Propositional Logic

Solving Problems
Problem Definition
Logical Reasoning
Decomposition: Software Design
Decomposition: Other Uses
Abstraction: Class Diagrams
Abstraction: Use Case Diagrams
When Will You Ever Use This Stuff?

Algorithmic Thinking
Software and Programming Languages

Modeling Solutions
Activity Diagrams
Selection in Activity Diagrams
Repetition in Activity Diagrams
Control Abstraction in Activity Diagrams
States and State Diagrams
Including Behavior in State Diagrams
Providing More Detail in State Diagrams
When Will I Ever Use This Stuff?

Data Organization

Algorithmic Thinking
Von Neumann Architecture
Text Processing

Let’s Get It Correct
"Computer Errors" Usually Aren’t
Software Correctness
Software Testing
White Box Testing
Black Box Testing with Equivalence Partitioning
Boundary Value Analysis
When Will You Ever Use This Stuff?

Limits of Computation
How Is Capacity Measured in Computers?
An Estimate of the Physic al Limitations
Counting the Performance
Impractical Algorithms
Impossible Algorithms
Metaphysical Limitations
When Will You Ever Use This Stuff?

Concurrent Activity
Parallelism or Concurrency?
Sorting Networks
Measuring Concurrency’s Effect
Challenges of Concurrency
When Will You Ever Use This Stuff?

Information Security
What Is Security?
Common Forms of Cybercrime
How to Secure? Step 1: Authenticate
How to Secure? Step 2: Authorization
All a Matter of Risk
A Few Good Ideas
Good Strategies
When Will You Ever Use This Stuff?


References, Terminology, and Exercises appear at the end of each chapter.

View More