Some more specific tips on reading Sterling & Shapiro's book. Remember that you are allowed to bring the book (actually any book) to the examination. So it is not a course where you are expected to learn the content by heart but rather show your understanding of the material through solving of problems and of course by producing a nice project. (towards the end of this file you find a listing of exercises that are recommended) Chapter 1 of my compendium suggests reading chapters 1,2,4,5 and 6 in S&S more specifically you can safely skip parts 2.4, 2.5, 4.3, 5.2, 5.3, 5.6 and 6.3 Note here also that the notions of "search tree" and "proof tree" that I use are more limited than the general forms described in the text, since I assume that the SLD-rule has fixed the rule for goal selection to be the left-to-right rule used in prolog. Chapter 2 of my compendium suggests reading chapters 2,3,6,7,8 and 13 in S&S more specifically (again) you can skip 2.4, 2.5, and also 3.6, 6.3, 7.6, 13.3 and 13.4 Chapter 3 of my compendium suggests reading chapters 7,8 and 15 of S&S You should also read 13.3 here, but 13.4 can be skipped The textbook uses the infix operator '\' to indicate difference lists. My examples use '-'. As you know the choice of operator is irrelevant. A good idea is to use an operator that has no other meaning in your data. Otherwise programs might be quite unreadable. Chapter 4 of my compendium suggests reading chapters 6,7,11,14,20 and 21 of S&S Actually it should be 5.5, 11,14,20 and 21 You can skip 11.7 and 14.4 Chapters 20 and 21 contain interesting program examples using search parallel and concurrent execution is not covered by S&S, so you can skip this. In the older textbook there are chapters for those interested. Chapter 5 suggests reading chap 19 and 24 of S&S the compiler shown in chap 24 is a nice example Chapter 6 of my compendium concerns an example There is somewhat corresponding text in chap 17.1 in the textbook. You should consider this chapter as further illustration of logic programming techniques. Chapter 7 of my compendium first suggest reading chap 13,16 and 18 of S&S Chapter 13 is a repetition related to part 7.2 of the compendium Chapter 16 relates to part 7.3 of the compendium Chapter 18 relates to .... (I'll fill this in later) Part 7.4 on meta-programming suggests reading chapter 10,17 and 22 of S&S ch 10 covers basic predefined predicates for meta-programming ch 17 .2 -17.4 are related to programming techniques with meta-interpreters You can skip 17.5 chap 22 describes an expert system witten in Prolog. For Chapter 8 of my compendium chapter 22 of S&S again The techniques in 8.1.6 of extending a meta-interpreter for "vanilla Prolog" to form an expert system are found in the older textbook N&M Chapter 9 of the compendium on constraint logic programming has no counterpart in S&S, and is therefore not required for this course. You can find some useful information in the latter chapters of the older textbook, if you are interested, and of course there are whole books devoted to this topic that will be covered in higher courses. A recent one is written by Marriott and Stuckey. But, again, you do not need to know constraint logic programming for this course. Exercises from Sterling and Shapiro "The Art of Prolog 2nd edition" organised according to the compendium structure (more advanced exercises not listed, or as (---) can be used for project). The textbook contains exercises for most chapters. Below you find a selection of them that can be useful. The other exercises are not irrelevant, but in most cases I consider them to be more complicated. If you have a problem finding out a good project task, I could suggest that you pick a topic from the textbook, and then solve some of the more advanced exercises for that topic (mostly those not listed here). With a nice and concise report this makes a perfect task for the project part of the course. Compendium Ch1. S&S ch1 - What is the essence of logic programming? (computation, meaning of a program) ch2 2.1.1 (i) (ii) (iii) 2.2.1 (i) (ii) (iii) 2.3.1 (i) (ii) ch 4 4.1.1 (i) (ii) 4.2.1 (i) (ii) (iii) ch 5 5.4.1 (i) (ii) ch 6 6.1.1 (i) (ii) (iii) Compendium Ch2 S&S ch 2 (see above) ch 3 3.1.1 (i) (iv) (v) (viii) 3.2.1 (ii) (iii) (v) 3.3.1 (i) (ii) (iii) (iv) (v) 3.4.1 (i) (ii) (iii) (iv) (v) 3.5.1 (i) (iii) (iv) (v) ch 7 7.1.1 (i) (ii) 7.2.1 (i) (ii) 7.3.1 (i) (ii) 7.5.1 (i) ch 8 8.2.1 (i) (ii) (iii) 8.3.1 (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) Compendium Ch3 S&S ch 13 13.3 (i) (ii) ch 15 15.1 (i) (ii) (iii) 15.2 (i) (ii) (iii) (iv) Compendium Ch4 S&S ch 11 11.1 (i) (ii) (iii) 11.3 (---) 11.4 (ii) ch 14 14.1 (i) (ii) (v) (vi) 14.2 (ii) ch 20 20.1 (ii) (iii) Compendium Ch5 & 6 S&S ch 19 --- ch 24 --- Compendium Ch7 S&S ch 13 (see above) ch 16 16.1 (i) 16.2 (---) 16.3 (---) ch 17 17.2 (i) (ii) (iii) (iv) 17.4 (---) ch 18 (18.1 18.2 18.6 ---) I hope this was somewhat enlighting, and didn't look too scary. The textbook is rather thick, but this is mainly because the authors have put a lot of effort into explaining examples in full detail. - Thomas S.