
In two exploratory studies, we looked at how expert Lisp programmers organize Lisp knowledge, and how they solve complex programming problems. First, using our previous work on Pascal
templates as a framework, we generated a set of potential Lisp templates and asked experts to identify and to sort them. Second, we invented a set of challenging Lisp programming problems and asked experts to solve one or two of them while thinking aloud. The protocols from these sessions give a rich picture of some of the techniques experts use to design solutions, and the criteria they use to evaluate partial solutions and solutions by others. We discuss how the results of these exploratory studies suggest changes to current Lisp instruction, and describe some instructional materials we are currently developing, including a set of
Case Studies and a hypermedia library of Lisp templates.