CSCE 330: Programming Language Structures

TTh 1400-1515 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 1045-1215
Teaching Assistant: Sen Xu Office A111 300 Main, xu4@cse.sc.edu Office Hours: Monday and Wednesday 1300-1430. Phone 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 postscript format), assigned 2006-01-12, due 2006-01-19
  • Homework 2 on preliminaries and history (in postscript format), assigned 2006-01-19, due 2006-01-26
  • Old Test 1 (in postscript format, with answer, to help you prepare for the first test)
  • Homework 4 on axiomatic semantics and loop invariants (in postscript format), assigned 2006-02-14, due 2006-02-21
  • Practice test 2 (in postscript format, with answer, to help you prepare for the second test)
  • Program 4 in Prolog (in postscript format)
  • Program 5 in FP (in postscript format)
  • Guide to final exam

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

    ML Information

    Prolog Information

    Some useful links:
    In this class, we write dates according to ISO Standard 8601.
    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.
    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.
    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