algs4 study project