Guide to Teaching Computer Science An Activity-Based Approach - Hazzan, Orit; Lapidot, Tami; Ragonis, Noa (Springer London, 2011)