Teaching for Understanding by James Ed. Cohen, David K. Cohen & Joan E. Talbert