Some more specific tips on reading Sterling & Shapiro's book, ID1213, ID2213, Logic Programming. –Thomas S. This 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) I here write Lx for Lecture x (where x is one of 1,2,3,4,5,6,7) For L1 and L2 I suggest 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 For L2 I also suggest 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 For L3 I suggest 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. For L4 I suggest reading chapters 5.5, 11, 14, 20 and 21 You can skip 11.7 and 14.4 For L5 I suggest reading chapter 19 of S&S. For L6 I consider a few examples taken from other textbooks. There is somewhat corresponding text in S&S in in chap 17.1. For meta-programming I suggest reading chapter 10,17 and 22 of S&S. The techniques of extending a meta-interpreter for "vanilla Prolog" to form an expert system are found in the older textbook N&M. 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 L7 I also suggest reading chapters 13, 16 and 18 of S&S The compiler shown in chap 24 is a nice example. 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. Lecture 1 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) Lecture 2 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) Lecture 3 ch 13 13.3 (i) (ii) ch 15 15.1 (i) (ii) (iii) 15.2 (i) (ii) (iii) (iv) Lecture 4 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) Lecture 5 ch 17 17.2 (i) (ii) (iii) (iv) 17.4 (---) ch 19 --- ch 24 --- Lecture 6 ch 17 17.2 (i) (ii) (iii) (iv) 17.4 (---) ch 19 --- ch 24 --- Lecture 7 ch 13 (see above) ch 16 16.1 (i) 16.2 (---) 16.3 (---) 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.