Click here to go to recent lectures. If this falls
behind, please send me email.
Approximate Dates of Lectures:
- Thursday 9/2
Go over syllabus and start Chapter 1. My slides
for chapter 1
- Tuesday 9/7
Finish Chapter 1, and start slides
for Chapter 2
- Thursday 9/9
(Class was cancelled this day.)
- Tuesday 9/14
More from Chapter 2, with a focus on grammars and the BNF
Homework Exercises 2.4; 2.6; 2.9 d,e,f
- Thursday 9/16
Class was cancelled this day due to Hurricane Floyd.
- Tuesday 9/21
Finish Chapter 2.
- Thursday 9/23
Discussion of the "dangling-else". Began going over the slides for Chapter 3. As you read Chapter 3, it
would be ok to skip section 3.6.
- Tuesday 9/28
Finish Chapter 3, and begin discussing the Modula programming language.
- Thursday 9/30
Begin discussing the Modula language, and the use of the MOCKA
Modula 2 compiler on linux.gl.umbc.edu. There was a handout describing
how to use the Modula compiler. The handout was a Microsoft Word
document entitled A Quick Guide to Running
Modula 2 at UMBC.
- Tuesday 10/5
After struggling with connecting my PC to the LCD projector, I
talked about the Modula language. The discussion was based on
Modula 2 Tutorial
I also gave a programming assignment, based on Exercise 2 of
Chapter 5 of the above tutorial. Modify the program recurson.mi as directed in that exercise.
- Thursday 10/7
Begin the slides from Chapter 4.
Return first homework assignment.
- Tuesday 10/12
Continue Chapter 4. Discuss exam scheduled for Thursday 10/21.
A sample midterm exam is now available.
- Thursday 10/14
Finish Chapter 4. Start slides from Chapter
- Tuesday 10/19
Finish Chapter 5, and review for the midterm day.
- Thursday 10/21
- Tuesday 10/26
Return and discuss midterms. Begin discussion of Chapter 6. The
from Chapter 6.
- Thursday 10/28
Continue Chapter 6. Maybe begin discussion of Chapter 7. The slides from Chapter 7.
- Tuesday 11/2
Guest lecturer Dr. Scott Cost. Begin discussion of Java. The slides on Java are now available.
- Thursday 11/4
Continue covering Java. Code for the echo.java
example is available.
- Tuesday 11/8
Continue covering Java. Code for the envSnoop.java example is available.
A copy of the Windows 98 Java Development Kit is available here. This file is a little more than
twenty megs in size.
Documentation for the Java API is available here.
Java software for other platforms, and more documentation, is
available at the Javasoft site.
- Thursday 11/11
Finish the Java slides, and discuss the Java programming project.
Java Programming Assignment Design and implement a class
HugeInteger which uses a 40-element array of digits to store
integers as large as 40 digits each. The integers may be positive,
negative, or zero. Provide methods inputHugeInteger,
outputHugeInteger, addHugeIntegers, and subtractHugeIntegers. For
comparing HugeInteger objects, provide methods isEqualTo,
isGreaterThan, and isLessThan, which return a boolean value. Also,
provide a HugeInteger constructor that takes an ordinary Java integer
value as the HugeInteger's initial value. I will provide a short test
routine which you can compile in with your program.
- Tuesday 11/16
Go over the Java needed for the HugeInteger project. The program
sample.java that demonstrates I/O from standard
input is now available.
- Thursday 11/18
More Java. A file with the signatures used by the Java project is
now available. This file could be considered a skeleton of the HugeInteger.java file. There is
also a main program for the Java project.
- Tuesday 11/23
More Java. Examples of networking programs.
- Thursday 11/25
- Tuesday 11/30
Begin discussing the functional language ML. There is a version
of SML for Windows 95/98/NT in the form of
a 7 megabyte self-extracting archive. I strongly recommend letting the
system be installed in the default (C:\sml) directory.
The data file for the Java project.
- Thursday 12/2
Due date for the Java project. Extra credit if dated
today, but no penalty until next week.
More on ML. The example ML program that shows
preorder tree traveral is available. Another
example shows postorder traversal.
The abstract syntax tree handout is now
- Tuesday 12/7
More on ML. The examples LoopIt and factorial comparison are now available.
Extra copies of the handouts from today and last Thursday are on my office
For extra credit, you may write an ML program to print a
multiplication table for the digits 1-10.
The slides for ML are now available.
- Thursday 12/9
Introduction to Smalltalk. The slides for a
Brief Overview of Smalltalk are available. If time
permits, a demo of Squeak.
You can read more about Squeak on the Squeak Home Page.
I've made a separate Web page to describe How
To use Squeak on a PC
- Tuesday 12/14
Preview of final exam.
Final Exam Preview
The emphasis will be on material covered since the midterm, although
topics from before the midterm are fair game.
- A program trace involving some sort of graph algorithm is possible.
- The final will be similar to the midterm with respect to length and type
I will allow you to bring a single page of notes to the Final Exam.
One sheet of 8 1/2 by 11 paper, written on only one side. The exam is otherwise
- Tuesday 12/21, 10:30-12:30, Final Exam
Programming Language Research
Free Compilers and Interpreters
Microsoft's Powerpoint Viewer for Windows 95/98 and NT