Computational Thinking for the Modern Problem Solver: 1st Edition (Hardback) book cover

Computational Thinking for the Modern Problem Solver

1st Edition

By David Riley, Kenny A. Hunt

Chapman and Hall/CRC

405 pages | 273 Color Illus.

Purchasing Options:$ = USD
Hardback: 9781466587779
pub: 2014-03-27
SAVE ~$19.39
$96.95
$77.56
x
eBook (VitalSource) : 9780429167935
pub: 2014-03-27
from $48.48


FREE Standard Shipping!

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

Summary

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

Summary

Logic

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

Summary

When Will You Ever Use This Stuff?

Algorithmic Thinking

Algorithms

Software and Programming Languages

Actions

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

Summary

When Will I Ever Use This Stuff?

Data Organization

Names

Lists

Graphs

Hierarchies

Algorithmic Thinking

Von Neumann Architecture

Spreadsheets

Text Processing

Patterns

Let’s Get It Correct

"Computer Errors" Usually Aren’t

Software Correctness

Verification

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

Benchmarks

Counting the Performance

Impractical Algorithms

Impossible Algorithms

Metaphysical Limitations

When Will You Ever Use This Stuff?

Concurrent Activity

Parallelism or Concurrency?

Scheduling

Sorting Networks

Measuring Concurrency’s Effect

Challenges of Concurrency

When Will You Ever Use This Stuff?

Information Security

What Is Security?

Foundations

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?

Index

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

About the Series

Chapman & Hall/CRC Textbooks in Computing

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
COM012040
COMPUTERS / Programming / Games
MAT000000
MATHEMATICS / General
MAT004000
MATHEMATICS / Arithmetic