Introduction to Computing and Algorithms / Edition 1 available in Paperback
Introduces basic computing ideas, including essential algorithm constructs, software engineering, and certain foundational aspects of theory, tailored to students at a beginning level.
Using a "Java-like" pseudo-code, this text prepares students for learning how to program with an object-oriented language.
Provides a comprehensive lab manaual that introduces students to various software applications that they will use throughout their careers. Reinforces key concepts with pedagogical features like "Food for Thought" sections and boxed definitions.
|Edition description:||New Edition|
|Product dimensions:||6.00(w) x 1.25(h) x 9.00(d)|
About the Author
Russell Shackelford is currently the Director of Lower Division Studies in The College of Computing at Georgia Tech. He holds various degrees in Computer Science, Education, and Psychology. His work is aimed at integrating research and practice concerning computing education, and at the development of computing tools and associated human methods for supporting education. Besides having a well-rounded education, Dr. Shackelford also loves baseball and occasionally can be found walking on the beach somewhere in Alabama.
Table of Contents
I. THE COMPUTING PERSPECTIVE.
Technology and Human Evolution.
The Age of Tribal Consciousness.
Abstract Media Technology.
The Age of Absolute Abstraction.
Mechanical Media Technology.
The Age of Mechanistic Thinking.
Electronic Media Technology.
Hallmarks of a Paradigm Shift.
Essential Features of the Emerging Paradigm.
The Central Theme of the New Paradigm.
The Algorithmic Model.
Properties of Algorithms.
Seeing Things from the Computing Perspective.
II. THE ALGORITHM TOOLKIT.
Data Types and Declarations.
Conditions and Decisions.
Tools for “Procedural Abstraction.”
Two Kinds of Modules.
The Scope of Data.
The Importance of Procedural Abstraction.
Using a stack to Trace Recursion.
Tools for “Data Abstraction.”
The Difference Between Types and Variables.
Anonymous Data Types.
Dynamic Data Structures.
The Scopeof Linked Data.
Iteration vs. Recursion.
The Abstraction Power of Constants.
The “Data Abstraction” Power of Creating New Data Types.
Graphical Data Notation.
Divide and Conquer.
Tools for Estimating Cost and Complexity.
Analysis of work done.
Performance and Data Structures.
Reasonable vs. Unreasonable Algorithms.
Tools for Verifying Correctness.
Tools for “Behavioral Abstraction.”
The Benefits of the OO Approach.
Achieving Superior Encapsulation.
Achieving Superior Reusability.
Achieving Superior Adaptability.
Everything is an Object.
III. THE LIMITS OF COMPUTING.
Issues in Concurrency.
Hierarchies of Complexity.
Tractable vs. Intractable Problems.
Oracles and Determinism.
NP-Complete vs. Intractable Problems.