S-Q 1998 Expanded Syllabus

This page gives an expanded syllabus, listing all of the readings and handouts, as well as some notes about the readings and suggested related readings. Consult the syllabus and information page for assignments and due dates.


This section lists all the handouts that have been distributed in class, along with a brief description of each. This list will be updated as the semester progresses.

6/22 - Introduction, Big-O, and ADTs
6/24 - Proofs, Linked Lists, Dynamic Memory Allocation in C.

6/29 - Properties and Implementation of Stacks, Queues and Sparse Arrays

7/1 - Trees

7/6 - Balanced Trees and Related Topics

7/8 - Heaps and Priority Queues

7/13 - Searching and Sorting

7/15 - Radix Sort and Heap Sort

7/20 - Introduction to Graphs

7/22 - Graph Algorithms

7/27 - Hashing and Hash Tables

7/29 - I/O of Data Structures

8/3 - String Searching

8/5 - Randomized Algorithms

8/7 - Last Day of Classes

8/10 - Course Review

8/12 - Final Exam - SciCen 102b

Recommended Reading and References

Harley Hahn's Student Guide to UNIX (second edition), by Harley Hahn. A valuable reference for anyone who wants to learn more about UNIX.

Lewis and Denenberg
Data Structures and Their Algorithms, by Harry Lewis and Larry Denenberg. This book deserves a place on every computer scientist's bookshelf.

Lewis and Papadimitriou
Elements of the Theory of Computation, by Harry Lewis and Christos Papadimitriou. The first chapter of this book gives a good review of the mathematics relevant to data structures and algorithms. (I haven't seen the 2nd edition, which came out in 1997, but the original edition included this review.)

Cormen, Leiserson, Rivest
Introduction to Algorithms, by Cormen, Leiserson, and Rivest. An large, encyclopedic survey of algorithms. Mathematically advanced. If you pursue computer science, eventually you will own a copy.

Kernighan and Ritchie
The C Programming Language (second edition), by Brian Kernighan and Dennis Ritchie. The definitive reference for the C language.

Harbison and Steele
C: A Reference Manual (fourth edition), by Samuel Harbison and Guy Steele. If you can't figure it out from K+R, this book is the next place to check.

Other Links

Daniel Ellard