Data Structures

(CMSC 341)

Course Summary

An examination of a range of advanced data structures, with an emphasis on an object-oriented approach. Topics include asymptotic analysis; various binary search trees, including red-black and splay trees; skip lists as alternatives to binary search trees; data structures for multidimensional data such as K-D trees; heaps and priority queues, including binary heaps, binomial heaps, leftist heaps (and/or other mergeable heaps); B-trees for external storage; other commonly used data structures, such as hash tables and disjoint sets. Programming projects in this course will focus on implementation issues for data structures and on empirical analysis of their asymptotic performance.

Class Time:
Section 04: MW (5:30 PM - 6:45 PM) Janet and Sondheim, 409

Books (Required): Data Structures and Algorithms in Java 3/E

Discussion Group : Piazza

Central Course Portal : Here

Instructors:
Nilanjan Banerjee (Section 04) (email: nilanb AT umbc.edu)
Nilanjan Banerjee: Office hours (Room # 362)
:
Monday (11:00 - 12:00 pm), Wednesday (11:00AM - 12:00 PM)

Teaching Assistant:

Office hours : TBA

Grade Distribution: Projects (Project 0= 3, Project 1-5=7*5 = 35), Homeworks (Homeworks 1-6=12%), Midterms (2 Midterms = 10*2 = 20), Finals (25%), In-class Discussion (5%)

Academic Honesty: UMBC's academic honesty policy can be found here . As you have probably been told umpteen times by now, violating this policy is a strict no-no! If we catch anyone cheating, we will take the maximum action possible against them, including reporting the matter to the appropriate university authorities. In fact, we are now mandated to report even minor infractions that in the past we would have dealt with within the course by dropping a letter grade on the assignment, etc. Please cooperate by doing your own work and not seeking inappropriate help from your classmates. You may, of course, discuss homework and other assignments amongst yourselves, as long as that discussion does not lead to a exchange of solutions. You should be aware that we may use a cheat-checker program to run over randomly selected assignments and look for unusual similarities. This program isn't perfect, but it does a great job of identifying the few pairs of handins that should be hand-checked for cheating. In previous classes, this program has done very well at finding cheaters, so please don't force us to demonstrate how well it works this semester.

ADA Compliance: We recognize that some of you may have disabilities that require special attention from the instruction staff. Please make us aware of them at your earliest convenience so that UMBC can make suitable arrangements.