CSC 172
Introduction to Algorithms and Data Structures

Spring, 2000

Introduction to the course

including meeting time and place, textbooks, etc.

The syllabus

is available in LaTeX, DVI, and Postscript.


An updated schedule will contain the latest updates to homework due dates, lecture topics, etc. Please check the schedule regularly and keep up on the assigned reading!

Homework Assignments

I'll try to give a homework assignment every week, due the following week. This means they'll have to be pretty short, becoming more ambitious and building on one another as the semester progresses.

What's on the final exam?

I haven't made up the final exam yet, but you will have to write Java code, so review and memorize the basic syntax. Here are some self-test questions and a pointer to my page about Java's syntactic structure. And here is a list of likely kinds of questions.

Software support

We've set up a discussion bulletin board for the class. Please check it every few days, and post questions or comments there. If you haven't got your username and password yet, contact me.

I've also set up some forms for entering and viewing PSP data. You're invited to use these forms to record defect and time information. So far not all of the forms are working; I'll install the rest as I get them debugged. (For more information about PSP, see the PSP page at Carnegie-Mellon.)

We're doing some of our assignments using the DrJava platform, which is installed on the N: drive of all the lab computers on campus. This is a pre-release version of DrJava, so it is not available for general downloading, and should not be taken beyond Adelphi University. It also may have more bugs than a fully released version would, so be prepared for that.
If the bugs get too annoying, our fall-back platform is BlueJ, which is somewhat older and more stable. It is available for free download, and it too is installed on the N: drive of all the lab computers on campus.


The main textbook for this class is Thinking in Java, by Bruce Eckel. The first edition should be in the bookstore; the second edition hasn't been printed yet, but is available online. Here is a local copy in HTML form (which entails the occasional formatting glitch); for the Word 97 version, the PDF version, and related information, see the author's Web site.

As a supplementary text, we'll use Watts Humphrey's Introduction to the Personal Software Process.

Since we'll be discussing many of the same topics we covered last semester in Scheme, you may want to review them in How to Design Programs.

Getting Help

My office hours (in Alumnae Hall 112; if I'm not there, look around the corner in 118) are

Tutor Rob Munster's office hours (at the Learning Center) are

If you consistently can't make those times, please suggest another time by contacting Rob.

Reading Assignments


I've set up a folder for programming examples. Please read and understand these.

For further information

Scheme and functional programming
Java and OOP
HTML and Web-site authoring (Warning: you can easily spend much too much time on this, considering it'll all be obsolete in a year or two!)
Using the Adelphi computer systems
The Adelphi Help Desk page
Computing in general

Last modified:
Stephen Bloch /