The difficulties in teaching introductory programming, Object Oriented Design (OOD) and Object Oriented Programming (OOP) are well known, whereas the game attraction in young teens as well as the strong appeal that mobile technologies has on students is being debated as a means to engage students and overcome such difficulties. This work presents a one term teaching experience on a K-11 class focusing on learning OOD and OOP by using a versatile framework such as XNA to build games. The pedagogical approach, the context and the contents of the course are presented, with a focus on the challenges in presenting advanced curriculum topics in a classroom with highly differentiated students and on the strategies used to overcome such difficulties. The main elements of the approach are: a project and inquiry based pedagogical method; an "object first" approach leading to design an UML class and sequence diagram from the beginning; formation of a shared memory of student’s solutions to assignments and a blog used for supporting class activities and fostering self-reflection and critical thinking. A content analysis of the blog as well as of the data collected during face to face conversation both in the laboratory and in class reveal common errors and suggests approaches for avoiding them.