Byond programming
Author(s)
Bibliographic Information
Byond programming
(Computer science Logo style / Brian Harvey, v. 3)
MIT, c1997
2nd ed
Available at 12 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
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"