CSCE 330: Programming Language Structures

TTh 1100-1215 SWGN 2A27

Prerequisites: CSCE 212, CSCE 245, MATH 374

Instructor: Marco Valtorta
Office: Swaeringen 3A55, 777-4641
E-mail: mgv@cse.sc.edu
Office Hours: TTh 1400-1530 (subject to change)
Teaching Assistant: TBD Sen Xu, xu4@cse.sc.edu, Office Hours TBA

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 and Linux workstations. 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 2007-08-28, due 2006-09-04
  • Homework 2 on preliminaries and history (in pdf format), assigned 2007-09-11, due 2006-09-18
  • Homework 3 on axiomatic semantics (in pdf format), assigned 2007-09-11, due 2006-09-20
  • Old Test 1 (in pdf format, with answer, to help you prepare for the first test)
  • Homework 4 on denotational semantics (in pdf format), assigned 2007-10-09, due 2007-10-16
  • Program 1 on operational semantics (simplesem) (in pdf format), assigned 2007-10-18, due 2007-10-25
  • Program 2 on operational semantics (simplesem) (in pdf format), assigned 2007-10-23, due 2007-10-30
  • Program 3 on Backus's FP language (in pdf format), assigned 2007-11-06, due 2007-11-13
  • Old Test 2 (in pdf format, with answer, to help you prepare for the first test)
  • Program 6 on Prolog (in pdf format), assigned 2007-11-27, due 2007-12-06
  • Guide to final exam

    Quizzes (In-Class Exercises)
    Quiz 1 of 07-08-28 (in pdf format, with answer)
    Quiz 2 of 07-08-30 (in pdf format, with answer)
    Quiz 3 of 07-09-04 (in pdf format, with answer)
    Quiz 4 of 07-09-04 (in pdf format, with answer)
    Quiz 5 of 07-09-06 (in pdf format, with answer) (incorrectly labeled Quiz 4)
    Quiz 6 of 07-09-13 (in pdf format, without answer)
    Quiz 7 of 07-09-18 (in pdf format, with answer) (incorrectly dated 07-09-13)
    Quiz 8 of 07-09-20 (in pdf format, with answer)
    Quiz 9 of 07-10-05 (in pdf format, with answer)
    Quiz 10 of 07-10-07 (in pdf format, with answer)
    Quiz 11 of 07-10-18 (in pdf format, with answer; dated 10-16, but actually done 10-18)
    Quiz 12 of 07-10-23 (in pdf format, with answer)
    Quiz 13 of 07-10-25 (in pdf format, with answer)
    Quiz 14 of 07-11-01 (in pdf format, with answer)
    Quiz 15 of 07-11-08 (in pdf format, with answer)
    Quiz 16 of 07-11-13 (in pdf format, with answer)
    Quiz 17 of 07-11-29 (in pdf format, with answer)
    Quiz 18 of 07-12-04 (in pdf format, with answer)
    Quiz 19 of 07-12-06 (in pdf format, with answer)

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

    ML Information

    Prolog Information

    Some useful links:
    Microsoft announces the release of the functional programming language F#: announcement from ACM Technews, 2007-11-09, pdf; same in MS-Word format, with link to a longer article; internship for functional programmers at Microsoft Research
    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