Gang of Four book learning guide (by Joshua Kerievsky)