CSC 172
Introduction to Algorithms and Data Structures

Fall, 2000

The syllabus

will be available in HTML, LaTeX, and DVI.


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

Software support

In the first week of class, I'd appreciate it if you filled out a class survey. It should be essentially the same as the survey most of you filled out in CSC 171 last year, but some of the answers have presumably changed.

We've set up a WebBoard 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. To use the forms successfully, make sure your browser accepts JavaScript and cookies, log into your WebBoard account, and see the announcement entitled "PSP forms". 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 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.
For most of the semester, we'll use not DrJava but BlueJ, which is somewhat older and more stable. It is available for free download, and it is installed (locally) on all the lab computers on campus.


I haven't found a textbook that really suits the needs of this course: introducing Java to people who have done some programming in Scheme. Our main source of reading material will be 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, an extraordinarily well-written reference book (as are most of the books in O'Reilly's "nutshell series").

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 114; if I'm not there, look around the corner in 118) are

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

In addition, Chane Kampanatsanyakorn will be working as a computer science tutor in Alumnae Hall 110: If you consistently can't make those times, please suggest another time by contacting Rob or Chane.

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

You are visitor number to this page since September 23, 1998.
Last modified:
Stephen Bloch /