Bill Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

December 2005
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Nov  Jan

Learning Lisp from Franz

Wednesday, December 14, 2005

For some time, Franz have offered an online "Allegro CL Certification Program" which teaches both Lisp programming (in general) as well as some specifics on the Allegro toolset. The courses are very good and cover a lot of material. I attended a classroom version of the Intermediate (Level II) training a few years ago and was impressed by the quality of both the instruction and instructor. Now, they are offering both scheduled, online versions of the training as well as pre-recorded training that you can watch in your own time. The following movie snippet (reproduced with permission) shows a few slides from one of the sessions (this one deals with method combinations and the class precedence list):

Franz
					  Training

Their training is pretty comprehensive. There are three separate courses, with each course being an increased level of difficulty. Each course consists of three, two-hour weekly sessions and includes lecture and homework assignments (the homework assignments are reviewed in class but not handed in).

The 3 different levels are:

  1. Lisp Programming Series Level I: Basic Lisp Essentials
    • Session 1:
      • Overview of Lisp: Explains the history of Lisp and discusses some of the features that make it uniquely suited to doing rapid programming of large and complex systems
      • Coding Style in Lisp: Indentation, naming conventions, and comments
      • Compiling and Running Code using the IDE
      • Evaluation of Lisp forms
      • Defining functions
      • Assigning values to variables
    • Session 2:
      • Control flow: conditionals and non-local exit
      • Special and Local variables
      • Iteration and recursion
      • Packages
    • Session 3:
      • More about lists
      • Numbers
      • Arrays, Sequences, and Strings
      • Streams, Pathnames and File I/O


  2. Lisp Programming Series Level II: Specialized Components of Lisp
    • Session 1:
      • Using and calling functions, including &key, &optional, &rest arguments, as well as funcall and apply
      • Structures and Hash Tables
      • Bits and bytes
      • Macros
      • Closures
    • Session 2:
      • Using the Common Lisp Object System (CLOS)
      • Classes, instances, and slots
      • Methods and Generic Functions
      • Inheritance and class precedence lists
      • Multiple dispatch
    • Session 3:
      • Performance considerations with CLOS
      • Garbage collection
      • Error conditions and error handling
      • Building interfaces on Windows using the IDE


  3. Lisp Programming Series Level III: Advanced Functions of Lisp
    • Session 1:
      • TBD
    • Session 2:
      • TBD
    • Session 3:
      • TBD
As can be seen, the Level III training has not yet been completed. However, with a topic like "Advanced Functions of Lisp", I'm sure a lot of people would be interested in this one!

If someone wanted to learn Lisp from scratch and hit the ground running, these classes would provide a good way to do that. In 2 days (using the pre-recorded versions of the classes), you could get through all of the Level I and Level II material and would be ready to start learning some Practical Common Lisp.

emacs Copyright © 2005 by Bill Clementson