CSCI 3675
Fall 2001

Last modified: 12/10/01

Announcements

The final exam will be Friday, December 14 at 8:00am in Austin 304.

Practice questions on object-oriented programming are available.


Systems

You can get Astarte version 0.10.4 for Windows now. See getting Astarte distribution.

You can get to the lab computers using ssh and sftp. Ssh for Windows is available from ftp://ftp.ssh.com/pub/ssh. Get SSHWinClient-3.0.0-build203.exe. It is a self-extracting executable. Just run it and it will install itself.


Syllabus

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


Office hours

TTh 10:45-12:15 and 5:30-6:30pm or by appointment.


Checking your grade

If you have obtained a password then you can check your grades as I have them recorded. This will be the only way that you can learn your grade at the end of the term before it has been posted on the student desktop.

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. Be careful about upper and lower case letters. Your password will be exactly what you send to me.


Quizzes and exams

  1. Practice questions for quiz 1
  2. Answers to practice questions for quiz 1
  3. Practice questions for quiz 2
  4. Answers to practice questions for quiz 2
  5. Practice questions for quiz 3
  6. Answers to practice questions for quiz 3
  7. Practice questions for quiz 4
  8. Answers to practice questions for quiz 4
  9. Practice questions for quiz 5
  10. Answers to practice questions for quiz 5


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. Programming assignment 6


Writing project


Unix accounts and Unix tutorial

All students will receive accounts on the Unix systems in Austin 320. If you do not yet have an account, please let me know and one will be created for you.

A brief tutorial on unix is available.


Lecture summaries

  1. [8/16/01] We covered general material in chapter 1 of the text, and about half of chapter 2 on programming language implementations. If you have not signed up to get a text, please do so. The cost will be $22.

  2. [8/21/01] We finished looking at implementations of programming languages, and also began chapter 3 on syntax. We only covered section 3.1 on syntax design.

  3. [8/23/01] We looked at specifying syntax, including lexical rules and BNF for describing program structure.

  4. [8/28/01] We finished syntax by looking at extended BNF and syntax diagrams. Then we turned to semantics and language classification. The latter material is in chapter 4.

  5. [8/30/01] We looked at data and representation of data. This is in Chapter 5.

  6. [9/4/01] We discussed the homework and covered chapter 7, on names and name binding.

  7. [9/6/01] Quiz 1. We discussed scoping and naming issues from chapter 8. We just began to look at functional programming with one simple example, a function to compute factorials.

  8. [9/11/01] We went over definitions of functions in an equational, or functional, style. This is in chapter 9 of the text.

  9. [9/13/01] We continued to look at defining functions and evaluating expressions in a functional style, including material from chapter 10 of the text.

  10. [9/18/01] We went over the homework and then began to look at functions as values. Functions can work on functions and produce new functions as their results. Programming using these capabilities is called higher order programming, and is covered in chapter 12.

  11. [9/20/01] Quiz 2. We looked at examples of higher order functions.

  12. [9/25/01] We continued looking at higher order programming and evaluation of programs.

  13. [9/27/01] We looked at approaches to evaluation, including call-by-value, call-by-name and call-by-need.

  14. [10/2/01] We talked about uses of lazy evaluation. This is in chapter 13 of the text.

  15. [10/4/01] We started to discuss the programming language Scheme. Scheme is discussed in chapter 14.