Release date: 2099-01-01 00:00:00-05
Final Due date: 2026-03-01 23:59:59-05
Final Submission enabled until: 2026-03-03 23:59:59-05
Last updated: 2/12/2026
Checkpoint 0 due: in-class, 2026-02-05 17:50:00-05 (no grace period)
Checkpoint 1 due: 2026-02-08 23:59:59-05
Checkpoint 1 submission enabled until: 2026-02-10 23:59:59-05
Source files to modify:
Instructions: see lecture notes on 2/5/2026.
Checkpoint 2 due: 2026-02-15 23:59:59-05
Checkpoint 2 submission enabled until: 2026-02-17 23:59:59-05
Source files to modify:
Instructions: see lecture notes on 2/10/2026.
If some of the tests fail to load the B-tree files in data/preloaded_ds_btree/search,
you may remove the directory data/preloaded_ds_btree/search and rerun ./import_data.sh.
Please do not modify include/ds/BTree.h and src/ds/BTree.cpp as
they will be overwritten later on. If you need to add member declarations to the meta
data page and the B-tree class, please do so in the corresponding sections in include/ds/BTreeExtra.h
Checkpoint 3 due: 2026-02-22 23:59:59-05
Checkpoint 3 submission enabled until: 2026-02-24 23:59:59-05
Source files to modify:
Instructions: see lecture notes on 2/10/2026.
To run tests, directly invoke tests/ds/BasicTestDSBTreeInsert. Some of the tests may enter an infinite loop
if you have not implemented anything. The execution time of any of the test case should not exceed 16 seconds.
You should not allocate additional memory space through new/delete, malloc/free, or alloca beyond what's provided in the code stub.