Course Docs
Notes and Handouts
- Lecture 01 – Introduction
- Module 02 – Data Structure’s Effects on Performance
- Foundations Slide Deck
- Note the additional references added to the Playlist on O’Reilly. I’ve added sections from books on BSTs and AVL Trees, specifically in Python.
- Binary Search Trees References:
- Notes from U Rochester (Stop at page 20)
- UCI Notes on AVL Trees (Stop at Analysis section)
- AVL Tree Rotations Diagram
- B+ – Trees
- Open Data Structures – B-Trees and B+-Trees (may need the ref the material above this part of the page)
- Notes on B-Trees (but really they are B+ Trees)
- Fontenot’s B+ Tree Example Walkthrough
- Video B+ Tree Walkthrough by TA Aryan Jain (Thank you!)
- Module 03 – Moving Beyond the Relational Model
- Module 04 – Data Replication (Will cover later)
- Module 05 – NoSQL and KV DBs
- Module 06 – Redis + Python
- Module 07 – Document DBs + MongoDB
- Module 08 – MongoDB and PyMongo
- Module 09 – Graph Data Model
- Module 10 – Docker Compose and Neo4j
Homeworks and Practicals
Homeworks
- Homework 1 – Lists and Trees
- Handout
- EC Due Date: Jan 12 @ 11:59 pm
- Regular Due Date: Jan 14 @ 11:59 pm
- Submit to Gradescope
- Handout
- Homework 2 – AVL Trees, Hash Tables, and B+ Trees
- Handout
- EC Due Date: Mon Jan 27 @ 11:59 PM
- Regular Due Date: W Jan 29 @ 11:59 PM
- Submit to GradeScope
- Homework 3 – MongoDB + PyMongo
- Jupyter Notebook
- EC Due Date: Sun Feb 16 @ 11:59 pm
- Regular Due Date: Tues Feb 18 @ 11:59 pm
Practicals
- Practical 01 – Index Builder
- EC Due Date: Last Commit before Feb 2, 2025 @ 11:59 pm
- Regular Due Date: Last Commit before Feb 4, 2025 @ 11:59pm
- Verification Dataset: > here <
- This is a small collection of 18 JSON documents from the original data set modified to include additional specific words to confirm searching produces correct results.
- You can also use this dataset to characterize the data structure organization (for each one your team is implementing) after indexing.
- Search Set (from Final Deliverable Step 3: Northeastern, Beanpot, Husky
- Template Analysis Report
- Practical 02 – Document DBs and Caching
Midterm
More information coming soon!
Course Project
More information coming soon!
Additional References
Python Refs: