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 0900-1000 or by previous appointment.
Teaching Assistant: Ravi Katpelly
Office 139D 300 Main, katpelly@cse.sc.edu Office Hours: MW 1200-1300
Office Hours: TBD

Topics for the Exam

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/. Simplesem has also been installed on the departmental Sun workstations (rivers and constellations): see /usr/local/csce330.
  • 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:

    Lecture Log

    Lecture Notes

    Homework, Tests, and Programs
    Grading Guidelines
    Homework 1 on preliminaries and history (in postscript format)
    Homework 2 on syntax (in postscript format)
    Old Test 1 (in postscript format)
    Test 1 solution guide (in postscript)
    Homework 3 on syntax and pragmatics (in postscript format)
    Homework 4 on syntax and semantics (in postscript format)
    Program 1 on static languages (in postscript format)
    Program 2 on FP (in postscript format)
    Program 5 on Prolog (in postscript format)
    Test 2 (in postscript format, with answers)
    Fall 2000 final (in postscript format, with answers)

    Student Presentations
    Student presentation information

    Quizzes
    Quiz 1 of 03-08-28 (in postscript format, with answer)
    Quiz 2 of 03-09-04 (in postscript format, with answer)
    Quiz 3 of 03-09-09 (in postscript format, with answer)
    Quiz 4 of 03-09-11 (in postscript format, with answer)
    Quiz 5 of 03-09-16 (in postscript format, with answer)
    Quiz 6 of 03-09-18 (in postscript format, with answer)
    Quiz 7 of 03-09-23 (in postscript format, with answer)
    Quiz 8 of 03-10-02 (in postscript format, with answer)
    Quiz 9 of 03-10-07 (in postscript format, with answer)
    Quiz 10 of 03-10-16 (in postscript format, with answer)
    Quiz 11 of 03-10-21 (in postscript format, with answer)
    Quiz 12 of 03-10-23 (in postscript format, with answer)
    Quiz 13 of 03-10-28 (in postscript format, with answer)
    Quiz 14 of 03-11-04 (in postscript format, with answer)
    Quiz 15 of 03-11-06 (in postscript format, with answer)

    ML Information

    Prolog Information

    Some useful links:
    In this class, we write dates according to ISO Standard 8601.
    Paper by Paul Graham on John McCarthy's original LISP interpreter.
    Local copy of the paper on the original LISP interpreter: postscript, two pages per sheet.
    Note for lectures on the LISP interpreter (in postcript)
    Paper by Paul Graham on a large application of LISP.
    AutoLISP is used in AutoCAD
    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
    John McCarthy, developer of LISP, wins the Franklin Medal