Lectures

The following table contains links to the course packet lecture notes, precept notes, and in-class demos. The lecture note material was created by Robert Sedgewick. Some of the lectures have been adapted by Kevin Wayne and Randy Wang. There are also notes on various topics covered in precept, written by Lisa Worthington. Finally, there are links to various in-class demonstrations. None of this information works very well as a substitute for going to lecture and precept.


Lecture Notes Precept Notes In-class
Demos

INTRODUCTION
 
I1.   Introduction  
LFBSR tool LFBSR demo

PROGRAMMING FUNDAMENTALS
 
P1.   Introduction to C
variables basic operations
conditions loops
 
P2.   Arrays and structs
arrays structs
C code Shuffling

P3.   Unix  
C and Unix code
P4.   Love, marriage, and lying  
C code Propose-and-reject
P5.   Abstract data types
modular programming
ADTs: stacks and queues
C code Stack of plates
Stack Array Postfix
PostScript
P6.   Functions and recursion
functions recursion
variable scope
C code Function calls
Recursive sum Bisection
Hanoi applet TSP applet

ARCHITECTURE
 
A3.   Boolean circuits
boolean logic
Circuit applet
A4.   Sequential circuits
sequential circuits
Circuit applet
A1.   TOY machine  
TOY applet
A2.   TOY programming  
TOY applet
A5.   Machine organization Lisa's  

ADVANCED PROGRAMMING
 
P7.   Pointers and linked lists
pointers linked lists
pass-by-reference
C code Pointer
Bad swap Swap
Static list Dynamic list
P8.   WAR card game  
C code Deal
P9.   Binary search trees
BSTs strings
Binary search BST applet
BST search BST insert
Preorder Level order

THEORY OF COMPUTATION
 
T1.   Pattern Matching
RE grep
PCP contest 10(10)* FSA
acat FSA grep examples
T2.   Machines
FSA PDA
NFSA 1 (naive) NFSA 1 (systematic)
NFSA to FSA PDA
palindrome NPDA Turing 1
Turing 2
T3.   Grammar grammars
Equal number of a's, b's, and c's
T4.   Computability Lisa's  
T5.   Algorithms and sorting  
insertion sort merge
partition sorting program
T6.   NP-completeness Lisa's  

SYSTEMS
 
S1.   Java    
S2.   Java applets    
S3.   Compilers    
S4.   Operating systems Lisa's  
S5.   Applications    

REVIEW
 
R1.   History    
R2.   Course review  
Course objectives


How to read the files.


Content subject to change.

Any significant changes or corrections to the slides will be noted in the course announcements. You are responsible for the information in the (most up to date) electronic versions.


Copyright © 2000, Robert Sedgewick