Syllabus
Course Description
In this course, you will study a range of advanced data structures with an emphasis on an object-oriented approach. Topics include asymptotic analysis; review of lists and arrays; binary search trees; heaps and priority queues; hash tables; and other selected topics. Programming projects in this course will focus on implementation of data structures and empirical analysis of their asymptotic performance.
Objectives
Students completing this course will be able to:
- Analyze common operations performed on a variety of data structures using asymptotic and amortized analysis as appropriate.
- Perform common operations on a variety of data structures using the appropriate algorithms.
- Use, modify, and implement data structures in complex applications, including recursive solutions.
- Choose an appropriate data structure and implementation based on application requirements.
- Prove basic results regarding the running times and correctness of common operations on data structures.
Required Textbook
The textbook Data Structures and Algorithms in C++, 2nd Edition by Goodrich, Tamassia, and Mount is required. This course participates in the Course Materials Initiative, so you will receive electronic access to the textbook as a registered student.

Lectures and Readings
You are expected to attend all lectures for this course and are responsible for all material covered in class. If you should happen to miss a lecture, you are responsible for getting any missed notes or announcements from a classmate.
Schedule
The course schedule includes lecture topics, exam dates, and due dates for homework and projects.
Grading and Late Policy
Your grade in this course is based on projects, homework, and exams as follows:
Item | Pct | Num | Total |
---|---|---|---|
Project 0 | 3% | 1 | 3% |
Projects 1 – 4 | 8% | 4 | 32% |
Participation | 3% | 1 | 3% |
Homework | 2% | 6 | 12% |
Midterm Exams | 15% | 2 | 30% |
Final Exam | 20% | 1 | 20% |
Letter grades will be assigned according to the usual 10-point scale.
The late policy for projects is set by the course coordintator. See the Projects & Support page for project policies and descriptions. The following policies apply to homework and exams:
- Late homework will not be accepted unless authorized in advance.
- Make-up exams will only be given for documented medical, personal, or family emergency.
Projects
See the Projects & Support site for project information.
Participation
The participation score is based on good-faith effort to complete in-class activities. Activities will be scored on a 0 – 2 scale. A zero will be given for absence on the day of the activity or no progress towards completing the activity. There will be no make-ups for in-class activities.
Homework
There will be six homework assignments over the course of the semester. Unless instructed otherwise, solutions are to be typed, converted to PDF, and submitted on Blackboard. Failure to submit solutions in the correct format will result in point deductions; submissions will be rejected for repeat offenders.
Exams
There will be two midterm exams and a final exam. Midterm exams emphasize material from the corresponding units (see the course schedule).
- Midterm Exam #1: Monday, March 9.
- Midterm Exam #2: Monday, April 27.
The final exam will be cummulative and will include problems similar to those in the midterm exams and homework assignments as well as problems related to the projects.
- Final Exam Date & Time: Monday, May 18, 10:30–12:30.
Blackboard
All grades and course announcements will be posted on Blackboard. Homework solutions will be submitted on Blackboard. Please contact Prof. Marron if you have difficulty accessing the class Bb site.
Academic Conduct Policies
By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC’s scholarly community in which everyone’s academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the Academic Integrity Resources for Students page, the Faculty Handbook (Sections 14.2-14.3), or for graduate courses, the Graduate School website.
If you need help with a project or assignments, see a TA or your instructor. You are encouraged to make full use of textbooks and the course web pages.
Academic Integrity policies for projects can be found on the Projects and Support site.
Your homework submissions will be checked for similarities with all other student work. If your work is found to be “substantially similar” to that of another student, or if it is determined that someone else wrote the solutions for you, then, at a minimum, you and the other student (if applicable) will receive a grade of zero for that assignment and an Academic Misconduct Report will be filed with the University. Furthermore, all parties concerned will have their prior homeworks re-checked for cheating.
If it is determined that you cheated on an exam, you will, at a minimum, receive a grade of zero for the exam and an Academic Misconduct Report will be filed with the University.
Any second Academic Integrity incident, whether on a project, homework assignment, or exam, will result in a grade of ‘F’ for the semester.
Any act of academic misconduct will be reported to the University’s Academic Conduct Committee for further action, which may include, but is not limited to, academic suspension or dismissal from the University.