Computer Science & Software Engineering,
University of Canterbury
, Christchurch, New Zealand

Wolfgang Kreutzer
book cover

Kreutzer, W. & McKenzie, B.
Tools & Metaphors of AI Programming.
Addison Wesley Publishers
Reading (U.S.A.) 1990,
684 pages

Table of Contents

Preface & Introduction

  1. From heuristic search to knowledge-based systems - a brief history of Artificial Intelligence
  2. Heuristic search - programs as puzzle solvers
  3. Knowledge representation - programs as expert system
  4. Al folklore - some famous programs

Tools and Environments for AI Programming

  1. AI programming means managing complexity
    1. A layered approach to software design
    2. "CIassical" versus "exploratory" programming styles
  2. From IPL to LISP machines - a historical perspective
  3. Procedural programming- the LISP language
    1. Historical evolution and key concepts
    2. Programming in Scheme
    3. Some comments on style
    4. Summary and perspective
    5. Exercises
  4. Declarative programming - the PROLOG language
    1. Programming in logic - historical evolution and key concepts
    2. Programming in PROLOG
    3. Some comments on style
    4. Summary and perspective
    5. Exercises
  5. Object-oriented programming with flavour systems
    1. Object encapsulation, classification and communication
    2. Programming with flavours
    3. Some comments on styie
    4. Summary and perspective
    5. Exercises

Programming Metaphors

  1. From heuristic search to knowledge representation
  2. The state space metaphor
    1. Search, planning and problem solving
    2. Game playing, minimaxing and tree pruning
    3. Exercises
  3. Pattern matching and associative databases
    1. A historical perspective
    2. The 'Patterns' toolbox
    3. The 'KnowledgeBases' toolbox
    4. 'InnKeeper' - a crude example of a counselling program
    5. Exercises
  4. Production system interpreters
    1. A historical perspective
    2. The 'Productions' toolbox
    3. Some simple examples
    4. Exercises
  5. Associative and semantic networks
    1. General principles and historical perspective
    2. The 'AssociativeNetworks' toolbox
    3. The 'Bestiary' microworld
    4. Exercises
  6. Frames and scripts
    1. General principles and historical perspective
    2. The 'Frames' toolbox
    3. The 'Toyland' microworld
    4. Exercises
  7. Natural language processing and ATNs
    1. General principles and historical perspective
    2. The 'ATN' toolbox
    3. The 'JanesGarden' microworld
    4. Exercises
  8. Rodney - a restaurant advisory program
    1. Combining the toolboxes in a final example
    2. Exercises

The Smalltalk-80 Programming System

  1. Historical evolution
  2. Of mice, menus and windows - the Smalltalk system and the desktop metaphor
  3. A glance at basic syntax, data structures, operations and control structures
  4. Defining a simple application - classes, properties, methods - browsers, inspectors and debuggers
  5. Some simple graphics - classes Pen and Form
  6. FaceWorld - demonstrating the MVC metaphor
  7. Control structures as message patterns and Smalltalk's view of pseudo-concurrency
  8. Files and other miscellaneous features
  9. Some comments on style
  10. Summary and perspective
  11. Exercises

Summary and Future Perspectives

Appendices

  1. AI Programming- An Annotated Bibliography
  2. A Simple Discrete Event Simulator in Scheme
  3. Toolbox Sources (in Scheme - grab them from here)
  4. Software Tools - Some Useful Addresses and Profiles
  5. Solutions to Starred (*) Exercises
  6. Scheme and COMMON LISP: A Comparison
References
Index


Go to top of page