
CS550
Programming Languages and Systems
Fall 2006

Welcome to the home page of "CS550 Programming Languages and Systems,"
a course on current trends in design and philosophy of programming
languages and systems. In particular, the course covers topics in
programming paradigms (logic programming, functional programming,
constraint programming) and semantics. Concepts, theoretical
foundations, and programming practice will be addressed.
This course is taught by:
- Manuel Hermenegildo
<herme@unm.edu>
-
Class times:
Tuesday and Thursday, 14:00--15:15
-
Class venue:
ME 208
-
Office:
CS 340
-
Office hours:
Tuesday and Thursday 15:30--16:30 p.m., or by appointment and email.
Please note that these pages are all under permanent
construction/change. Comments, questions, raves, rants, etc., as well
as administrative questions on e.g. grading, changes in the
schedule, etc., regarding this course should be directed by email to
<herme@unm.edu>.
Syllabus:
-
Basic course info, bibliography, grading, etc.
[pdf,
html]
The CS550
mailing list:
Homeworks and Term project info: sent to the mailing list!
Course Slides to date (note that some slides may have not been
updated yet for this academic year, and that these notes may be
improved during the course):
- Introduction and Motivation.
[pdf,
html]
- Logic Programming.
- Adding functions, higher-order, constrains, objects,
assertions, ...:
multi-paradigm programming (in the
Ciao system).
[pdf,
html].
- Constraint (Logic) Programming.
- Semantics Wrapup.
- Main types of semantics. Operational semantics. Denotational
semantics.
- Axiomatic Semantics. Classical Program verification.
[pdf,
html]
- Advanced topic: Abstract Interpretation-Based Program
Development.
- Acknowledgments
Programming System for the course (freely available):
- Ciao, a freely available, fast, modular,
multi-paradigm system (supports functional-, logic-,
and constraint programming and aspects of object- and imperative
programming). Needed for the course. Runs on
Unix/Linux, Windows, Mac OS X, and other platforms.
Features are added often to Ciao so we recommend
always getting the latest version.
Note to web surfers: You are welcome to use all or part of this
course material, but if you do so we ask you to please quote the
origin. We would also very much appreciate if you let us know that
you are using this material and send us any errors you may find by
email to
<herme@unm.edu>.
Thanks in advance.
Last modified: Tue Oct 24 00:03:16 2006