Introduction to Algorithms and Data Structures
Dr. Stephen Bloch
is available in HTML,
An updated schedule
contains the latest updates to homework due dates, lecture topics, etc.
Please check the schedule regularly and keep up on the assigned reading!
May 9, 2001: I've graded homework 6, and handed it back
with comments on paper. If you haven't received a grade on homework 6,
it probably means I didn't receive your homework 6 at all.
I've set up some
forms for entering and viewing PSP data.
Please use these forms to record defect and time information.
cookies. (For those with a moral opposition to cookies, I assure you
that they're all "temporary" -- they disappear as soon as you quit the
Not all of the forms are working yet, but
I'll install the rest as I get them debugged.
(For more information about PSP, see the PSP page at
For most of the semester, we'll use a package named
It is available for free
download, and version 1.1.2 is installed (locally) on all the lab
computers on campus.
If you want to install it on your home computer, you'll need to
first download and install the Java Development Kit.
Note: version 1.1.3 was released in late March.
You can get it from bluej.org,
but I've got a local copy; point to the following link and choose
"Save Link As..." (don't just click on it).
Download BlueJ 1.1.3.
If the file size isn't 1,117,150 bytes, something's wrong.
Follow the above link, choose your platform (e.g. Windows),
ignore the stuff about IDEs, and click on the "Continue" button near the
bottom of the screen. (If you're using Linux, there will be two
"Continue" buttons; I'll trust you to figure out which is which.)
If you have trouble installing BlueJ on your home computer,
the Frequently Asked
Questions to see if your problem is a common one with an easy fix.
When writing in Java, you'll frequently need to look up some detail of
the language or its libraries. All of this information is on the Web;
the pages you'll probably need most often are
My office hours
(in Alumnae Hall 114; if I'm not there, look around the corner in 118)
I'm frequently available in my office on Wednesdays, Thursdays,
and Fridays too, but less predictably.
- Monday 1:00 - 2:15 PM
- Tuesday 9:00 AM - 4:00 PM
We also have several
tutors capable of helping with this course.
I've set up a folder for programming examples.
Please read and understand these. (I'll try to keep the same files on
the lab's N: drive too, but things have a habit of disappearing from the
Our primary textbook will be Goodrich & Tamassia's Data
Structures and Algorithms in Java, which starts with two chapters
on the Java language and object-oriented programming. The remainder of
the book treats a series of different data structures that are widely
used in real programming. It's available from amazon.com for $80,
Barnes & Noble for $75, Bookpool for $68, fatbrain.com for $79, and
WebBooks for $64.
For supplementary material on the Java
language, I've ordered David Flanagan's Java in a Nutshell.
This is not a textbook in the usual sense:
it's written for an audience of programmers who already know one or two
other languages, but don't know Java. It is, however, a very
well-written reference book. It's available from amazon.com for $24,
Barnes & Noble for $24, Bookpool for $18, and fatbrain.com for $24.
As another supplementary text, we'll use Watts
Humphrey's Introduction to the Personal Software Process.
This book treats not ``how to program'' but rather ``how to be a
programmer''; exercises in this book will help you study your own skills
and abilities, discover your own strong and weak points, improve your
time-management skills (especially, though not exclusively, in relation
to programming), and become more efficient. It's available from
amazon.com for $25, Barnes & Noble for $25, Bookpool for $20, and
fatbrain.com for $25.
For further reading...
Oriented Programming FAQ
- Wired on Java, one of
many on-line Java instruction sites with tutorials
- my CSC 172 class last fall
- my CSC 172 class last spring
- Java example programs
- W3C's HTML Page,
where you'll find definitive information about the latest
version of HTML.
- HTML Goodies, a
collection of lots of tutorials and examples of stuff you can
do with HTML.
- Builder.com, a
site containing lots of tips, tricks, and
suggestions for writing better pages and sites.
- The Adelphi
Help Desk page
- The Free Online
Dictionary of Computing.
- The Association for
Computing Machinery, the premiere professional
organization for computer scientists. The site includes
career services, the student programming contest, a
information on student
membership, and lots more.
You are visitor number
to this page since September 23, 1998.
Stephen Bloch / email@example.com