Course Homepage

This homepage contains links to lecture notes and homework assignments; in the near future, it should contain more of the syllabus information.

All lecture notes were produced using the HtX system, a compiler mapping LaTEX-like source to HTML target.

The course text is Mark Allen Weiss' book Data Structures & Problem Solving Using Java; on-line errata and other materials can be found at the author's website .

On-line lecture notes

  • Algorithms and Analysis

    Some of the definitions are missing from the last section; they are given in the book on page 121.

  • Two Sample Problems in Analysis

    This lecture covers two examples, one using loops from the text (the maximum contiguous subsequence sum problem) and one involving recursion (Fibonacci numbers). The definition of Ackermann's function and table of values is not currently in the notes, but will be added for the review if mentioned on the exam.

  • Recursion and induction

    This lecture is finally on-line ... and there's still a cartoon!

  • Overview of data structures

    This lecture is finally on-line ... and here's some poetry about error messages.

  • An Example of Tree Coding

    This lecture provides a sample use of the tree code from the Weiss textbook. It also describes a few issues on setting up project directories and a little bit on generics (but it's missing an example here).

  • Sorting algorithms

    This lecture discusses a few different kinds of sorting algorithms and draws the distinction between several broad categories. It needs some detail on mergesort ... and lots of pictures! (especially the "folding vector" for shellsort)

Printable (ASCII) versions of lectures

On-line homework and programming projects