General Information:
Lecture Slides: I will try my best to post the lectures slides in
time for you to print them before the start of class, but I
may update them after class or at the end of the course module.
You will be notified of any updates to the slides on this page, and/or in
the
log file.
Code: Some of the
example code that we use in class will also be posted on this
Web page.
Readings: I have made a tentative list of all of the readings for
the course. These may be updated as the course progresses. Any updates
will be registered in the log file.
When something is listed as optional reading it truly is optional.
This is simply reading that may assist with the material covered in class,
tutorials,
or in the mandatory readings.
Formal Specifications I & II:
Readings: Mitchell Chapter 4.1.
Optional Extra Reading: Sebesta Chapter 3.1-3.4, Chapter 4.3-4.5. (Sebesta
is on reserve in the library.)
Slides:
Sept 13/14:
2up.ps;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Sept 16/21:
2up.ps
;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Scheme:
Readings: Mitchell Chapter 3, 4.2. (I would also encourage you to skim Chapter 2, though it isn't required reading.)
Optional Extra Reading: Sebesta Chapter 15 or Sethi Chapter 10 (in library). Dybvig (online or in library).
References:
MIT Scheme Home Page;
MIT Scheme Documentation.
Also, check out some of the reference books in the library, such as Dybvig.
The Dybvig book is very good and is also available
online here.
See also links to Scheme from CSC324 Home Page. There are some interesting reads.
Code used/developed in class:
to October 5.
Slides:
2up.ps
;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Slides II:
2up.
ps
;
2
up.pdf;
4u
p.ps;
4
up.pdf;
8u
p.ps;
8
up.pdf.
Slide III (Obsolete - Replaced by Slides III*):
2up
.
ps
;
2
up.pdf;
4
u
p.ps;
4
up.pdf;
8
u
p.ps;
8
up.pdf.
Slides III* (Updated after October 4 Class):
2up.ps
;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
* This is a corrected superset of the previous "Slide III".
Changes: Slide 50 is corrected to remove extra brackets in append.
New slides 58-63 and 74-78 are inserted.
My recommendation: We only covered up to slide 58 (which was handwritten)
on October 4. For those who printed the
previous "Slides III," I recommend either reprinting the whole thing and
recopying your annotations, or just reprinting slides 58-78 and marking the
change on your old copy of slide 50. For those who have not yet printed
"Slides III", just print these instead.
Slides IV (3 page insert to Slides III*):
ps
;
pdf.
Slides V:
2up.ps
;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Slides VI (1 page insert to Slides V):
ps
;
pdf.
Midterm Review:
Slides:
2up.ps,
2up.pdf .
Typing and ML:
Readings: Chapter 5, Chapter 6, and Chapter 8.2.
References: Ullman is very good (See our
course description for the reference. On hold for you in the library.)
as are the online materials. You will be using
SML/NJ (a version of ML). I also particularly recommend the
ML tutorial by Harper though there are also several other tutorials linked from the
SML/NJ web page.
Slides I (subsumed by Slides III):
PS;
PDF;
Slides II (by Hojjat Ghaderi):
PS;
PDF;
Slides III (these subsume Slides I):
PS;
PDF;
Slides IV:
PS;
PDF;
Also, please make sure you review the "Efficiency and Let" material from the
Monday November 1 tutorial. I understand the TAs were unable to get to it
because of time. (Same basic concept & motivation as in Scheme, different
syntax. It's well described in most ML reference material.)
Prolog:
Readings: Mitchell Chapter 15.
References: See also the Prolog references listed on the main CSC324
Web page. In particular, I recommend the Prolog reference Clocksin & Mellish (available in the library. Also the SWI Prolog online documentation.
Slides:
2up.ps ;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Hand-drawn proof tree for grandfather query covered in class
Family Tree code (run some queries yourself)
Extended Family code
Slides II:
2up.ps ;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Slides III:
2up.ps ;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Examples of List Code Developed in Class
Slides IV: All material in this set of slides will be covered in
class or tutorial, with the exception of the material at the end that is labelled as beyond the scope of the course.
2up.ps ;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Slides V:
2up.ps ;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Scanned Copy of My Handwritten Slides on Procedural Language Design and
Prolog Cut:
pdf
Unification (MGU - Slide 91) Example from Class:
text
Procedural Language Design:
Readings: Mitchell Chapter 7.1, 7.2, 7.3.
Reference: Sethi Chapter 5 is
a very good reference for this material.
Slides I:
2up.ps;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Slides II:
2up.ps;
2up.pdf;
4up.ps;
4up.pdf;
8up.ps;
8up.pdf.
Scanned Copy of My Handwritten Slides on Procedural Language Design and
Prolog Cut:
pdf
Final Review:
Slides:
2up.ps;
2up.pdf.