CSC 8310   Linguistics of Programming Languages

Dr. David Matuszek,
Summer 1998, Villanova University

This is the home page for CSC 8310, Linguistics of Programming Languages, Villanova, Summer 1998. Please check this page frequently as the semester progresses.

July 22. Plan to have a relatively short (less than two hours) class this week, Thursday, July 23. I'll be glad to answer any questions about any of the material we have covered.
July 21. Here is the complete development of the Life program, both as an application and as an applet.

July 13. In case it's useful to anyone, here's the source code for

July 13. This is a periodical, so I don't know how long the link will be good, but here's an interesting article on the status of Java.

July 2. The ML assignment has been eliminated, and the two Java assignments have been finalized.

June 30. Here is a trivial Java program for you to try to run, along with some notes on how to run it.

June 23. Clarification (I hope!) of the Scheme assignment. A valid clause does not contain

  1. two copies of the same literal, for instance '(a a b c),
  2. two copies of the same negated literal, for instance '((not a) (not a) b c), or
  3. both a literal and its negation, for instance '(a (not a) b c)
Your program should assume valid input. That means you don't have to worry about these cases.

Your program should produce valid output, according to points (1) and (2) above, when given valid input. To make the assignment a little simpler, I said that your output did not have to meet condition (3), although you could do so for a couple of extra points (be sure to mark it so that I notice you've done this).

June 16. From now on, class will begin at 6:10, rather than 6:00.

June 7. Added a page of Resolution Practice Problems; added the Scheme assignment; minor changes to schedule below.

The following schedule is tentative.


Covered in class

Reading Assignment

May 28

Introduction, syntax, Prolog

Sethi 1, 2

Jun 4

Resolution, structured programming, Prolog

Sethi 3-3.4, 11

Jun 11

Program verification, Scheme

Sethi 3-3.4, 11

Jun 18

Data representation, recursion, Scheme

Sethi 4

Jun 25

Procedures, parameters, scopes, ML

Sethi 5, 8

Jul 2

Types, ML or Java

Sethi 9

Jul 9

O-O programming, packages, Java

Sethi 7-7.3; Flanagan 1, 2

Jul 16

HTML, Java

Flanagan 3, 4, 5

Jul 23


Flanagan 6, 7, 17, 18; Sethi 15

Jul 30

No class; take-home final due

Review everything.

Additional pages:

This page is
Last updated July 21, 1998.