8-puzzle solver homework for Princeton's online algorithm course