CSCE 330: Programming Language Structures

Prerequisites: CSCE 245

Instructor: Marco Valtorta
Office: Swaeringen 3A55, 777-4641
E-mail: mgv@cse.sc.edu
Office Hours: MWF, 1100-1200 or by previous appointment.
Teaching Assistant: Ravi Katpelly
Office 139C, 300 Main, phone number TBD, katpelly@cse.sc.edu,
Office Hours: Tuesday, 14:00-15:00, Thursday 14:00-15:00

Syllabus

Grading Policy

Reference materials:

  • Ghezzi, Carlo and Mehdi Jazayeri. Programming Language Concepts. Wiley, 1998 (required text, referred to as [G]). Supplementary materials from the authors, including an errata list, are available.
  • Ullman, Jeffrey D. Elements of ML Programming: ML97 Edition. Prentice-Hall, 1998 (required text, referred to as [U]). Supplementary materials from the author, including an errata list, are available.
  • The current departmental syllabus and the old departmental syllabus for CSCI 330 list the following goals for the course: Specific objectives of this course are:

    Notes
    Notes on Denotational Semantics (in postscript format)

    Tests
    Correction Guide for Test 1 (in postscript format)
    Correction Guide for Test 2 (in postscript format)
    Topics for the final

    Homework, Tests, and Programs
    Homework 1 on preliminaries and history (in postscript format)
    Homework 1 on preliminaries and history: correction guide (in postscript format)
    Homework 2 on preliminaries and history (in postscript format)
    Answer to homework 2 questions (in postscript format)
    Homework 3 on syntax (in postscript format)
    Answer to homework 3 questions (in postscript format)
    Programming assignment 1: introduction to Simplesem
    Answer to Programming assignment 1: introduction to Simplesem
    Homework 4 on operational semantics with Simplesem (in postscript format)
    Intro to Simplesem
    Homework 5 on static and dynamic links (in postscript format)
    Programming assignment 2: Static and Dynamic Links
    Programming assignment 3: Two FP Programs
    Homework 6 on functional languages (correction guide in postscript format)
    Homework 7 on ML (in postscript format)
    Homework 7 on ML (correction guide in postscript format)
    Programming assignment 4: ML
    Programming assignment 4: ML (partial correction guide in postscript format)
    Homework 8 on LISP interpretation (in postscript format). Local copy of paper for HW8 (postscript, two pages per sheet).
    Homework 8 on LISP interpretation (correction guide in postscript format)
    Programming assignment 5: ML
    Programming assignment 5: ML (correction guide in postscript format)
    Programming assignment 6: Prolog

    Quizzes
    Quiz 1 of 00/9/05 (in postscript format, with answer)
    Quiz 2 of 00/9/10 (in postscript format, with answer)
    Quiz 3 of 00/9/12 (in postscript format, with answer)
    Quiz 4 of 00/9/17 (in postscript format, with answer)
    Quiz 5 of 00/11/14 (in postscript format, with answer)
    Quiz 6 of 00/11/26 (in postscript format, with answer)

    Lecture Log

    The USC Blackboard has a site for this course. This is only used to support a discussion board and for posting of grades.

    ML Information

    Prolog Information

    Some useful links:
    How to view postscript in Windows: Wim Sweldens's web page on GSview.
    Carter Bays's FP interpreter
    Norman Matloff's Introduction to the vi Text editor
    Norman Matloff's Unix Tutorial Center