Computer Science Logo Style, Second Edition, Volume 2

Advanced Techniques

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.

Volume 2 Advanced Techniques, is addressed to the reader with some experience with symbolic Logo programming. It combines additional tutorial chapters about advanced Logo features with case studies in which those techniques are used in programming projects. The projects range from games (a solitaire program) through utilities (finding the differences between two versions of a file) to a computer that translates BASIC programs into Logo. This volume also includes the Berkeley Logo Reference Manual as an appendix.

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

  1. Preface
  2. Acknowledgments
  3. 1. Data Files
  4. 2. Example: Finding File Differences
  5. 3. Nonlocal Exit
  6. 4. Example: Solitaire
  7. 5. Program as Data
  8. 6. Example: BASIC Compiler
  9. 7. Pattern Matcher
  10. 8. Property Lists
  11. 9. Example: Doctor
  12. 10. Iteration, Control Structures, Extensibility
  13. 11. Cryptographer's Helper
  14. 12. Macros
  15. 13. Example: Fourier Series Plotter
  16. Appendices: Berkeley Logo Reference Manual
  17. Index of Defined Procedures
  18. General Index