CSCE 330: Programming Language Structures

TTh 1400-1515 SWGN 2A21

Prerequisites: CSCE 212, CSCE 245, MATH 374

Instructor: Marco Valtorta
Office: Swaeringen 3A55, 777-4641
E-mail: mgv@cse.sc.edu
Office Hours: TTh 1045-1215 (subject to change)
Teaching Assistant: Sen Xu Office A111 300 Main, xu4@cse.sc.edu Office Hours: MW 1400-1530. hone 777-7506

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 Unix workstations (rivers and constellations): see /usr/local/etc/csce330. See below for an introduction to Simplesem and its use.
  • 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:

    Student Presentations
    Student presentation information

    Lecture Log

    Lecture Notes

    Homework, Tests, and Programs

  • Grading policy per assignment
  • Homework 1 on preliminaries and history (in pdf format), assigned 2006-08-31, due 2006-09-07
  • Old Test 1 (in pdf format, with answer, to help you prepare for the first test)
  • Solution to "dangling else" question in MT1 (pdf format).
  • Homework 5 on denotational semantics (in ps format), assigned 2006-10-03, due 2006-10-10
  • Homework 6 on axiomatic semantics (in ps format), assigned 2006-10-05, due 2006-10-12
  • Program 1 on Simplesem (in ps format), assigned 2006-10-17, due 2006-10-26
  • Practice Test 2 (in ps format, with answer, to help you prepare for the second test)
  • Program 4 on FP (in ps format), assigned 2006-11-30, due 2006-12-07
  • Program 5 on Prolog (in ps format), assigned 2006-11-30, due 2006-12-07

    Quizzes (In-Class Exercises)
    Quiz 1 of 06-09-05 (in postscript format, with answer)
    Quiz 2 of 06-09-07 (in pdf format, with answer)
    Quiz 3 of 06-09-12 (in postscript format, with answer)
    Quiz 4 of 06-09-14 (in postscript format, with answer)
    Quiz 5 of 06-09-19 (in postscript format, with answer)
    Quiz 6 of 06-10-03 (in postscript format, with answer)
    Quiz 7 of 06-10-05 (in postscript format, with answer)
    Quiz 8 of 06-10-10 (in postscript format, with answer)
    Quiz 9 of 06-10-12 (in postscript format, with answer)
    Quiz 10 of 06-10-17 (in postscript format, with answer)
    Quiz 11 of 06-10-24 (in postscript format, with answer)
    Quiz 12 of 06-10-26 (in postscript format, with answer)
    Quiz 13 of 06-10-31 (in postscript format, with answer)
    Quiz 14 of 06-11-02 (in postscript format, with answer)
    Quiz 15 of 06-11-21 (in postscript format, with answer)
    Quiz 16 of 06-11-28 (in postscript format, with answer)
    Quiz 17 of 06-11-30 (in postscript format, with answer)
    Quiz 18 of 06-12-05 (in postscript format, with answer)
    Quiz 19 of 06-12-07 (in postscript format, with answer) (This quiz was discussed after the end of class, but the students were not asked to turn it in.)

    The USC Blackboard has a site for this course. This is only used for posting of grades.

    ML Information

    Prolog Information

    Some useful links:
    Dr. Vidal is looking for students to join the resurgent ACM student chapter!
    In this class, we write dates according to ISO Standard 8601.
    Brian Hayes. "The Semicolon Wars." _American Scientist_, July-August 2006, pp.299-303. Local copy, pdf.
    The Ariane 5 launch disaster.
    Local copy of paper for HW2: Rajlich, V., N. Wilde, M. Buckellew. and H. Page. ``Software Cultures and Evolution.'' _Computer_, 34, 9 (September 2001), pp.24--28.
    Introduction to Simplesem and its use.
    The Tiobe Software web site, with the Tiobe Programming Community Index of the popularity of programming languages.
    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.
    FAQ for comp.lang.lisp.
    AutoLISP is used in AutoCAD
    How to view postscript in Windows: Wim Sweldens's web page on GSview. Another link to Ghostscript and Ghostview, courtesy of Stephen Smolley.
    Carter Bays's FP interpreter
    Norman Matloff's Introduction to the vi Text editor
    Norman Matloff's Unix Tutorial Center
    A site with a short program written in many languages, not including FP.
    A site with onother short program written in several languages..
    John McCarthy, developer of LISP, wins the Franklin Medal