This course is an introduction to the fundamental data structures of computer science: linked lists,
stacks, queues, trees (BSTs, heaps, AVLs and other self-balancing BSTs), hash tables,
sets (Union-Find), graphs and their accompanying algorithms. Principles of algorithmic
analysis and object reasoning and design will be introduced using mathematical techniques
for the notions of both complexity and correctness. More practical issues, such as memory
management, searching, sorting and hashing, will also be covered.
- Course number
- CMSC B151
- Instructor
- Elizabeth Dinella
- Teaching Assistants
- Course Staff
- Website
- https://bmc-cs-151.github.io/
- Code Samples From Lecture
- Github
- Discussion Forum
- Piazza
- Time and place
- Spring 2024, MW 1-2:30pm, Location: Park 245
- Lab M: 2:40-4:00pm, Location: Park 231
- Prerequisites
- One of the following courses is required with a grade of 2.0 or better (or permission of
the instructor):
- CS B110
- CS B113
- CS H105
- Course Readings
- Each lecture has an accompanying chapter/section of the textbook. We will be using the 6th edition of Data Structures and Algorithms by Goodrich, Tamassia and Goldwasser as the required text.
- Some lectures will have accompanying optional reading related to the lecture’s topic
Grading
- Homeworks: 35%
- Labs: 5%
- Midterms: 20%
- Final: 35%
- Participation: 5%
- Late day policy
- As a general rule, no late homework will be accepted.
See the Policies for more details.