CMPS 101, Winter 2002
Algorithms and Abstract Data Types
Textbooks
Note: All these books are on course reserve in the Science Library.
The recommended readings are optional and we won't directly use them,
but some students might find them helpful.
- Primary Textbook: Introduction to Algorithms (any
version okay), by Thomas Cormen et al.
I strongly recommend that any serious student of computer science
should own a copy of this book, since it is a valuable reference
resource that will serve you well for a long time. I will not
assign homework from this book, but I will expect students to be
prepared for discussions and exams related to its content. The
goal of the class is to cover the sections on Mathematical Foundations,
Sorting and Order Statistics, Data Structures, Advanced Data Structures,
and Graph Algorithms. We may also implement some of the
data structures and algorithms from the book in programming
assignments.
- Recommended Reading: Computer Algorithms: Introduction
to Design and Analysis, by Sara Baase and Allen Van Gelder.
Another good overview of the algorithms field with some useful
features such as a template for math induction proofs.
- Recommended C Programming Book: Programming Abstractions
in C: A Second Course in Computer Science, by Eric Roberts.
This book contains a good review of C and also introduces a
style of programming with a high degree of abstraction which
we will explore in the programming assignments.
- Recommended Java Programming Book: Schaum's Outline
of Theory and Problems in Data Structures with Java by John Hubbard.
This book contains a review of Java and a lot of examples of Java
implementations of data structures of the kind we may do in
the programming assignments.
- C BEGINNER BOOK: Some people have asked about a
more introductory level C programming book. I am recommending
Ira Pohl's C by Dissection. For a description
CLICK HERE.
For a web course with a few programming assignments and example solutions,
CLICK HERE. There have been other recommendations about this
on the class newsgroup.
- THE OPTIONAL C AND JAVA TEXTS ARE BACK IN STOCK!
The bookstore stocked 20 more copies of the optional C programming
text Programming Abstractions in C by Roberts
and 20 more copies of the optional Java book Schaum's Outline of
Data Structures with Java.