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, 1420-1520 or by previous appointment.
Teaching Assistant: Jiangbo Dang
Office A114, 300 Main, phone number 777-3421, dangj@cse.sc.edu,
Office Hours: MW 1600-1700

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. A local copy of the simplesem interpreter is available as a zip archive (simple.zip) at ftp://ftp.cse.sc.edu/pub/valtorta/.
  • 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:

    Questionnaires
    Beginning of course questionnaire
    Results of beginning of course questionnaire

    Homework, Tests, and Programs
    Homework 1 on preliminaries and history (in postscript format)
    Homework 1 on preliminaries and history (in text format)
    Homework 2 on preliminaries and history (in postscript format)
    Homework 2 on preliminaries and history (in text format)
    Homework 3 on syntax (in postscript format)
    Guidelines for oral team presentations (in postscript format)
    Guidelines for oral team presentations (in text format)
    Teams for oral presentations
    Program 2 (fp, postscript)
    Fall 2001 test1, with answers (in postscript format)
    Fall 2001 test2, with answers (in postscript format)
    Grading Guidelines
    Program 6 (Prolog, postscript)
    Fall 2000 final, with answers (in postscript format). Note: unlike the Fall 2000 exam, this year's exam is likely to be closed book, except for the FP grammar sheet; but bring your ML textbook, in case I change my mind!

    Quizzes
    Quiz 1 of 02/8/28 (in postscript format, with answer)
    Quiz 2 of 02/8/30 (in postscript format, with answer)
    Quiz 3 of 02/9/4 (in postscript format, with answer)
    Quiz 4 of 02/9/6 (in postscript format, with answer)
    Quiz 5 of 02/9/9 (in postscript format, with answer)
    Quiz 6 of 02/9/11 (in postscript format, with answer)
    Quiz 7 of 02/9/13 (in postscript format, with answer)
    Quiz 8 of 02/9/16 (in postscript format, with answer)
    Quiz 9 of 00/9/20 (in postscript format, with answer)
    Quiz 10 of 02/9/23 (in postscript format, with answer)
    Quiz 11 of 02/9/25 (in postscript format, with answer)
    Quiz 12 of 02/10/02 (in postscript format, with answer)
    Quiz 13 of 02/10/09 (in postscript format, with answer)
    Quiz 14 of 02/10/18 (in postscript format, with answer)
    Quiz 15 of 02/10/23 (in postscript format, with answer)
    Quiz 16 of 02/10/25 (in postscript format, with answer)
    Quiz 17 of 02/10/28 (in postscript format, with answer)
    Quiz 18 of 02/11/6 (in postscript format, with answer)
    Quiz 19 of 02/11/8 (in postscript format, with answer)
    Quiz 20 of 02/11/22 (in postscript format, with answer)
    Quiz 21 of 02/11/25 (in postscript format, with answer)

    Student Presentations

    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

    Some useful links:
    How to view postscript in Windows: Wim Sweldens's web page on GSview.
    Carter Bays's FP interpreter
    Knight's moves relation, represented in Prolog extensionally and intensionally
    Prolog Information
    Norman Matloff's Introduction to the vi Text editor
    Norman Matloff's Unix Tutorial Center