M101J homework codes of week 2 and week 3

and a new reading material, Effective Java