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
- Fall 2024, MW 1:10-2:30pm, Location: Park 159
- Lab M: 2:40-4:00pm, Location: Park 230
- 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 optional accompanying chapter/section of the textbook. We will be using the 6th edition of Data Structures and Algorithms by Goodrich, Tamassia and Goldwasser.
Grading
- Homeworks: 50%
- Labs: 5%
- Midterm: 15%
- Final: 25%
- Participation: 5%