UVA-CS Graduate Algorithm Final Project