Computer Science Logo Style volume 3: Beyond Programming 2/e Copyright (C) 1997 MIT

Computer Science Logo Style
Volume 3: Beyond Programming

Brian Harvey
University of California, Berkeley

Volume 1: Symbolic Computing
Volume 2: Advanced Techniques
Download Berkeley Logo (UCBLogo)
Brian's home page
MIT Press web page for Computer Science Logo Style

Below this short table of contents is an expanded table of contents including sections within each chapter. Click on the chapter name to jump down. You can also download the complete text of each chapter in PDF format for elegant printing, or browse the HTML version.

Note: These books are still in copyright, and in print. They are posted here for your personal use, not for resale or redistribution. Thanks!


Preface

  • About This Series
  • How to Read This Book
  • What Isn't Included
  • Computers and People

Acknowledgments

1. Automata Theory

  • What is a Computation?
  • Finite-State Machines
  • Nondeterministic Machines
  • Representing Machines as Logo Lists
  • Text Editors: A Use for Acceptors
  • Regular Expressions
  • Rules That Aren't Regular
  • Regular Expressions and Finite-State Machines
  • How to Translate
  • Making the Machine Deterministic
  • Eliminating Redundant States
  • A Finite-State Adder
  • Counting and Finite-State Machines
  • Turing Machines
  • Turing's Thesis
  • The Halting Theorem
  • Proving the Halting Theorem in Logo
  • Program Listing

2. Discrete Mathematics

  • Propositional Logic
  • An Inference System
  • Problems with Ordering
  • Data Structure
  • Program Structure: Recording Simple Propositions
  • Program Structure: Recording Implications
  • Using Implications to Represent Orderings
  • Backtracking
  • Generalized Inference Systems and Predicate Logic
  • Logic and Computer Hardware
  • Combinatorics
  • Inductive and Closed-Form Definition
  • Pascal's Triangle
  • Simulation
  • The Simplex Lock Problem
  • An Inductive Solution
  • Multinomial Coefficients
  • Program Listing

3. Algorithms and Data Structures

  • Local Optimization vs. Efficient Algorithms
  • Memoization
  • Sorting Algorithms
  • Sorting by Selection
  • Sorting by Partition
  • Order of Growth
  • Data Structures
  • Data Structures in Real Life
  • Trees
  • Improving the Data Representation
  • Trees as an Abstract Data Type
  • Tree Modification
  • Searching Algorithms and Trees
  • Logo's Underlying Data Structures
  • Program Listing

4. Programming Language Design

  • Programming paradigms
  • Interactive and Non-Interactive Languages
  • Block Structure
  • Statement Types
  • Shuffling a Deck Using Arrays
  • Lexical Scope
  • Typed Variables
  • Additional Types in Standard Pascal
  • Critique of Typed Variables
  • Procedures and Functions
  • Call by Value and Call by Reference
  • Parameters in Logo: Call by Binding

5. Programming Language Implementation

  • Formal Syntax Definition
  • Tokenization
  • Lookahead
  • Parsing
  • Expressions and Precedence
  • The Two-Stack Algorithm for Expressions
  • The Simulated Machine
  • Stack Frames
  • Data Structures
  • Code Generation
  • Program Listing

6. Artificial Intelligence

  • Microworlds: Student
  • How Student Translates English to Algebra
  • Pattern Matching
  • Solving the Equations
  • Age Problems
  • AI and Education
  • Combining Sentences Into One Equation
  • Allowing Flexible Phrasing
  • Using Background Knowledge
  • Optional Substitutions
  • If All Else Fails
  • Limitations of Pattern Matching
  • Context-Free Languages
  • Augmented Transition Networks
  • Program Listing

Appendices

Bibliography

  • Read These!
  • Chapter 1: Automata Theory
  • Chapter 2: Discrete Mathematics
  • Chapter 3: Algorithms and Data Structures
  • Chapter 4: Programming Language Design
  • Chapter 5: Programming Language Implementation
  • Chapter 6: Artificial Intelligence
  • Computers and People

Credits

Index of Defined Procedures

General Index

MIT Press web page for Computer Science Logo Style

Brian Harvey, bh@cs.berkeley.edu

AltStyle によって変換されたページ (->オリジナル) /