COMP 150FLP: Functional and Logic Programming
Course Web page (this page)
http://www.eecs.tufts.edu/comp/150FLP/
Prerequisites: COMP 80 or permission by
instructor.
Class Times: Tuesday, Thursday 2:30-3:45pm. Room: H-106.
Instructor:
Roni Khardon
Office: Halligan 230
Office Hours: Tue 12:30-1:30, Thu 10-11
Phone: 1-617-627-5290
Email: roni@cs.tufts.edu
Course Structure and Marking
- See
Course syllabus in department's list
- We will have roughly half of the course for each language (Prolog,
ML), starting with Prolog
- The mark will be assigned by a combination of:
regular small homework assignments (30%),
regular brief class quizzes (30%),
a larger programming project (40%).
I expect to have roughly 10 small homework assignments and quizzes.
-
You may miss one homework and one quiz without penalty.
Alternatively, if you submit all of them, the one with the lowest grade
will not count in calculating the average.
-
Quizzes are 10-15 minutes long. They will take place in the
beginning of class on Thursdays (not every week). I will let you know
a week in advance.
- The Project:
- The project will involve a large programming effort in Prolog and/or ML.
The topic is for you to choose -
pick your favorite problem -
but if you have a hard time I can make suggestions.
-
You may choose to solve the same problem in both Prolog and ML
so as to experience the differences and similarities first hand. Or
you may choose to program in only one of the languages in which case
the scope should be slightly larger.
-
The project is due on the last day of classes, December 10th.
-
By Tuesday October 30
you should approach me with suggestions for
topics to make sure they are not too large/small for the purpose.
-
By Thursday November 8 I would like to have a 1-page written proposal
outlining what the project involves.
Required Texts
-
PROLOG Programming for Artificial Intelligence,
Ivan Bratko,
Addison Wesley, 2001.
-
Elements of ML Programming, ML97 Edition,
Jeffrey D. Ullman,
Prentice Hall, 1998.
Alternative/Recommended Texts
-
Programming in Prolog (4th Edition),
W. F. Clocksin, C. S. Mellish,
Springer-Verlag, 1994.
-
The Art of Prolog : Advanced Programming Techniques,
Leon Sterling, Ehud Shapiro
MIT Press, 1994.
-
Introduction to Programming Using SML,
Michael R. Hansen, Hans Rischel,
Addison Wesley, 1999.
-
ML for the working Programmer (2nd Edition),
L.C. Paulson,
Cambridge University Press, 1997.
Programming
- We will use:
SWI-Prolog
and
Standard ML of New Jersey
-
Both are free (please see license conditions) - so if you wish
you can download versions to use on your own computer.
-
The sites linked above include the software
as well as documentation and other information and
resources for Prolog and ML.
- Here is a local copy of the
swi-prolog manual (pdf format)
- Here is a local copy of the
sml/nj manual (postscript format)
-
The site for the text
Elements of ML Programming
has an errata list, problem solutions and the programs from the text on-line.
Program Examples from Class
-
Prolog are available here
-
ML are available here
Assignments