CSCI 3675, Summer 2001

Last modified: 7/20/01

Announcements

There will be a quiz Wednesday, July 25. Practice questions are available. Solutions are also available.

The final exam is Friday July 27 at the regular class time.


Syllabus

This course introduces the student to characteristics of various kinds of programming languages. See the syllabus.


Office hours

M-Th 1:15-2:00. I will stay later if there is demand.


Checking your grade

If you have obtained a password then you can check your grades as I have them recorded.

You can obtain a password from me. To obtain one by email, send me email giving your name, the course, and the password that you want. Choose a string of 4 or 5 letters/digits.


Quizzes and exams


Assignments

  1. Programming assignment 1
  2. Homework assignment 1
  3. Programming assignment 2
  4. Homework assignment 2
  5. Programming assignment 3
  6. Programming assignment 4
  7. Programming assignment 5
  8. Homework assignment 3
  9. Programming assignment 6
  10. Programming assignment 7

Unix accounts and Unix tutorial

All students will receive accounts on the Unix systems in Austin 320. If you have a prior account, it has not been modified. If you were on my class role and you did not have a prior account, then your account is your first initial followed by your middle initial followed by up to six letters of your last name. Your password is your three initials (first, middle, last) followed by the last five digits of your social security number. If you have no middle initial, an x is used.

A brief tutorial on unix is available.

Some links

The Astarte implementation can be obtained by anonymous from www.cs.ecu in the pub/astarte directory. The Unix file contains the entire hypertext documentation. Here are some links for convenience.


Brief summary of course so far

  1. [6/21/01] We began looking at general goals of programming languages. This is from chapter 1 of the text.

  2. [6/22/01] We looked at programming language implementations (chapter 2) and concrete syntax issues (chapter 3).

  3. [6/25/01] We covered material on specifying language syntax, including lexical rules and BNF notation, from chapter 3.

  4. [6/26/01] We looked at extended BNF and syntax diagrams. Then we turned to data items and representation of data items.

  5. [6/27/01] We finished data items, looked at memory management, including garbage collection, and began looking at name binding.

  6. [6/28/01] Quiz 1. We looked at scoping, and began to look at functional programming.

  7. [6/29/01] We started functional programming by looking at first order programming using equations.

  8. [7/2/01] We continued on functional programming.

  9. [7/3/01] We looked at higher order functional programming.

  10. [7/4/01] Holiday

  11. [7/5/01] Quiz 2. We did more on higher order functions and began looking at lazy evaluation.

  12. [7/6/01] We looked at evaluation strategies, including eager and lazy evaluation. We looked at how a stack can be used to avoid performing substitutions. Static links and function closures were introduced. Then we turned to the programming language Scheme.