Author(s)

Bibliographic Information

Byond programming

(Computer science Logo style / Brian Harvey, v. 3)

MIT, c1997

2nd ed

Available at  / 12 libraries

Search this Book/Journal

Note

Includes bibliographical references and indexes

Description and Table of Contents

Description

This series is for people-adults and teenagers-who are interested in computer programming because it's fun. The three volumes use the Logo programming language as the vehicle for an exploration of computer science from the perspective of symbolic computation and artificial intelligence. Logo is a dialect of Lisp, a language used in the most advanced research projects in computer science, especially in artificial intelligence. Throughout the series, functional programming techniques (including higher order functions and recursion) are emphasized, but traditional sequential programming is also used when appropriate. In the second edition, the first two volumes have been rearranged so that illustrative case studies appear with the techniques they demonstrate. Volume 1 includes a new chapter about higher order functions, and the recursion chapters have been reorganized for greater clarity. Volume 2 includes a new tutorial chapter about macros, an exclusive capability of Berkeley Logo, and two new projects. Throughout the series, the larger program examples have been rewritten for greater readability by more extensive use of data abstraction. In Volume 3 "Beyond Programming", the reader learns that computer science includes not justprogramming computers, but also more formal ways to think about computing, such as automata theory and discrete mathematics. In contrast to most books on those subjects, this volume presents the ideas in the form of concrete, usable computer programs rather than as abstract proofs. Examples include a program to translate from the declarative Regular Expression formalism into the executable Finite State Machine notation, and a Pascal compiler written in Logo. The Logo programs in these books and the author's free Berkeley Logo interpreter are available via the Internet or on diskette.

Table of Contents

  • Part 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. Part 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
  • multinominal coefficients
  • program listing. Part 3 Algorithms and data structure: local optimization versus efficient algorithms
  • memorization
  • sorting algorithms
  • sorting by selection
  • sorting by particition
  • 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 structure
  • program listing. Part 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. Part 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. Part 6 Artificial intelligence: microworlds - Student
  • how Student translates English algebra
  • pattern matching
  • solving the equations
  • age problem
  • 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! - automata theory: automata theory
  • discrete mathematics
  • algorithms and data structures
  • programming language design
  • programming language implementation
  • artificial intelligence
  • computers and peoples.

by "Nielsen BookData"

Related Books: 1-1 of 1

Details

Page Top