Data Structures and Algorithms II
CS 2631 (Winter 2014)
Instructor: Dr. R. Rosebrugh, Dunn 203
General
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
Evaluation
Note: In order to pass the course:
- a passing mark
on the aggregate of the test and the final exam must be
obtained;
- and you must be present for all labs (unless excused).
- and you must be present for 80% of the quizzes (they will be from assigned homework problems).
Grades will be assigned using approximately the following weights:
- Labs: 15% Lab attendance is mandatory.
-
Assignments and quizzes: 15%
-
Midterm Test: 20%
-
Final Exam: 50%
The midterm test will be held on Wednesday, March 12 [in class].
Laboratories
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.
Resources
Assignments
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):
-
Problems with a * must be handed in electronically with the following specification:
- Email to the instructor one .zip file called FLnnn.zip 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.
- Code must conform to the
CS2631 - Style Guide 2014
.
- Solutions to other problems must typed (LaTeX preferred). Be sure that you test any code you hand in.
- Late assignments are penalized 40% per day, and not accepted beyond three days.
- 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.
-
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.