CSCE 145: Algorithmic Design I