algorithm course assignment