Syllabus
15-212, Spring 1998


Course Material:

This course covers the following broad areas (tentative). The relevant reference material, from the recommended textbooks/notes, will be filled in as we go along.


Date Subject Readings
13-Jan-98
15-Jan-98
Finite state automata
Regular expressions
Lewis & Papadimitriou: Ch. 2
20-Jan-98
22-Jan-98
Pushdown automata
Context-free grammars
L&P Sec. 3.1-3.5
27-Jan-98
29-Jan-98
Turing machines
Recursive and non-recursive sets
Decidability
The halting problem
L&P Sec. 4.1-4.5, 5.1-5.3
3-Feb-98 Review before midterm1 L&P, see above
5-Feb-98 Overview of Object oriented programming Java in a Nutshell (Flanagan), Ch. 1, 2.
From the Java Tutorial
10-Feb-98 Midterm 1 (On automata)
12-Feb-98 Abstraction, Encapsulation, Modularity Flanagan, Ch 2, Ch 3 upto pg. 62
From the Java Tutorial:
17-Feb-98
19-Feb-98
Inheritance, Polymorphism Flanagan, Rest of Ch. 3
From the Java Tutorial:
24-Feb-98
26-Feb-98
Interfaces, Uses in AWT From the Java Tutorial:
3-Mar-98 Parsing context free grammars using
top-down, recursive descent parser
Slides(postscript)
5-Mar-98 Exception handling Flanagan, pp. 39-45
From the Java Tutorial:
10-Mar-98 I/O Streams, Object serialization
Abstract Window Toolkit (AWT)
Flanagan, Ch. 9
Flanagan, Ch. 7, 8
From the Java Tutorial:

Topics to come:



Programmming Assignments:

We plan to have four or possibly five programming assignments: All your programs will be graded by testing them on Sun Solaris workstations, using JDK 1.1. You may develop your solutions on any platform you like, but make sure that ultimately they work under Solaris, with JDK 1.1. (See Getting Started with Sun Java.) There have been several cases of programs failing to work under Solaris, even though they worked fine on some other system.

For some more information, see assignments.



Mid term exams:

There will be two mid-term exams, probably both closed-book, closed-notes: For some more information, see assignments.