Course pages 2017–18
Prolog
Course materials this year are available on the dedicated site, http://prolog.cl.cam.ac.uk/ls/teaching/1718/prolog. Copies of the lecture slides and question sets are also available on this site. If you experience problems with the site, please email the lecturer.
Question sets are also available on the Online Teaching Tools site:
- Supervision 1 - Review Questions: http://ott.cl.cam.ac.uk/questions/sets/14
- Supervision 1 - Supervision Questions: http://ott.cl.cam.ac.uk/questions/sets/15
- Supervision 2 - Review Questions: http://ott.cl.cam.ac.uk/questions/sets/18
- Supervision 2 - Supervision Questions: http://ott.cl.cam.ac.uk/questions/sets/19
Supervision plans and discussion points for questions are available for supervisors and Director's of Studies. Contact ott-admin@cl for access.
Assessed exercise
Deadlines: All students taking Paper 7 should complete the assessed exercise. You must pass the online tests by 5th February 2018 by 12 noon. You will also need to attend a ticking session on the afternoon of 9th February 2018.
Workbook: prolog-exercise-1718.pdf
Ticking slots: Ticking sessions will take place on 9th February 2018: Ticking slot assignments
Errata
Errors in the lecture videos and questions are indexed by video number (V), slide number (S) and time (T).
V | S | T | Errata | Corrige | From |
---|---|---|---|---|---|
15b | No slide or question index | Slide and question index built | rsa33 | ||
12 | 10 | div | intdiv (div is an infix operator in some versions of prolog) | hp343 | |
8 | 6-9 | 4:30 | Video and audio are not quite in sync | (under investigation) | awc32, vbt22 |
7 | 13 | 8queens | eightQueens | ns532 | |
7 | When asking to generalise from 8-Queens to n-Queens its not clear what the chessboard size should do | You should generalise to n-Queens on an nxn chessboard | cdk23 | ||
3 | 8 | The text typed during the lecture on this slide should read rule2 rather than rule. | Correct.... | jp581 | |
3 | 8 | Implicit binding of the exists quantifier is too large. This is important because otherwise the statement holds when thing(1,2) and thang(2) is true but rule2(1) is false - this happens because false implies anything and the overlarge capture of the exists allows you pick a z for which the LHS is false. | There should be an open bracket before the exists and a close bracket before the implication arrow | jp581 | |
8 | 6 | 10:00 | eval(mult(A2,B2),C2) :- eval(A2,A3),eval(B2,B3), C2 is A2*B2 is incorrect. | It should read C2 is A3*B3. | mjh233 |
17 | 23 | The domain of P is {1,2,3,4} | The domain of P is {1,4}. | arg58 |