[UMN logo]

CSCI 8980 (Fall 2006)
Advanced Topics in Programming Languages

New Information:

Table of Contents

Contact Information

Course Prerequisites

In the present rendition of this course, we shall discuss principles underlying logic and functional programming languages and approaches to their implementation. Mathematical maturity will be needed for the first part and also for understanding its influence on implementation questions. We shall also assume an understanding of the usefulness of languages such as Prolog and ML and a basic ability to write programs in them. Some of these aspects may be orthogonal to the actual discussions in class but would be necessary to understand their broader utility.

Course Texts and References

There is no official textbook for this course. A portion of the discussions will be based on research papers that will be distributed later in the term. The instructor's lectures on the more basic material will be drawn from some of the sources that are listed below: Unfortunately the UMN library does not have most of these books and some are also out of print. However, the sources are available for many and links have been provided whereever possible to these. For the others, the instructor has copies of the books and will be happy to loan them out on the promise that they will be treated very carefully.

Course Description and Objectives

The broad objective of this course is to discuss research related to the design and implementation of advanced programming languages. The lectures are intended to construct the background needed for understanding discussions related especially to the implementation of such languages. However, in keeping with the fact that this is a seminar-style course, the full set of topics will be determined by the interests of the participants. I see in particular a strong possibility for discussing rewrite systems and also for exploring the mix of language and logic properties that are turning out to be critical to authentication and security. Some of these topics will likely be discussed through student presentations.

Required Work and Grading

This is a seminar course with the usual rules for participation. Attendance is generally required and it is mandatory for student presentations. In addition, you should read material from the indicated sources to keep yourself informed about the topics in class.

The grade for the course will be determined mainly by a term paper of about 20 pages on a chosen topic (55%), a class presentation (30%) and participation in class discussions (15%). The term paper and presentation will generally be based on reading papers on a specific topic and interpreting and critiquing them. Criteria that will be considered in evaluating the term paper is the comprehensiveness of the study, the coherence of the report and, most important, the special insights that you offer into the work you have studied.

Here is a timetable that you should adhere to for the term paper and presentation:

Last modified: Sept 5, 2006 by gopalan atsign cs dot umn dot edu