Data Structures and Algorithms II
CS 2631 (Winter 2014)

Instructor: Dr. R. Rosebrugh, Dunn 203


Check this URL regularly for information about the course.

Syllabus Revision: March 19, 2014

Revisions below are noted with bold italic

Topics, dates, text readings:
In all cases involving Java, also consult Sun Java Tutorials and the Java API. Dates for starting topics are approximate, and will be updated.
Review: Inheritance, Abstract Classes and Interfaces, Generics: Jan 6 Bailey Ch 4, 7
Iterators: Jan 13
Lafore Ch 5; Bailey Ch 8
User interfaces: GUI's: Jan 17
Course notes; Sun Java Tutorial
n lg n sorts: heapsort and quicksort ; analysis of comparison sorts; other sorts: Mar 3
Lafore Ch 6,7,12; Morin Ch 11; Bailey 6.5,6.6
Map Structures and Hashing: Mar 10
Lafore Ch 11; Morin Ch 5; Bailey 15.1-15.5
Threads and Concurrency: Mar 17
See references from class
Balanced tree algorithms: AVL and RB trees: Mar 24
Lafore Ch 9,10; Morin Ch 9; Bailey 14.7
Data Compression and Tries: Mar 31
Bailey 12.8
More graph algorithms: Apr 7
Lafore Ch 13, 14; Morin Ch 12; Bailey 16.4


Note: In order to pass the course:

Grades will be assigned using approximately the following weights:

The midterm test will be held on Wednesday, March 12 [in class].


There will be about five laboratories held in Dunn 101, Weds 2;30-5:20, starting January 22. Lab coding must follow the CS2631 - Style Guide 2014. Lab periods will also be used for interactive assignment grading.



Be sure to look at all problems in the text, not just the ones assigned to be handed in.

Notes: (these apply to \emph{all} assignments):

  1. Problems with a * must be handed in electronically with the following specification:
    Email to the instructor one .zip file called where FL are your first and last initials and nnn is the problem number, for example nnn= "C2.9". The zip file must contain one folder that is an Eclipse project named FLnnn, including Javadoc.
  2. Code must conform to the CS2631 - Style Guide 2014 .
  3. Solutions to other problems must typed (LaTeX preferred). Be sure that you test any code you hand in.
  4. Late assignments are penalized 40% per day, and not accepted beyond three days.
  5. You may discuss the assignment problems with classmates, but unless noted otherwise, you must do all coding and written work yourself. Read and be familiar with the Academic Calendar Section 10.13.
  6. You are expected to be familiar with and you must follow the Computing Services Department Policies . Note especially Password Policy, Terms & Conditions for Use of University Computing Accounts, Computer Network Usage Policy.