Design involves solving complex, ill-structured problems. Design tasks are consequently, appropriate contexts for children to exercise higher-order thinking and problem-solving skills. Although creating engaging and authentic design contexts for young children is difficult within the confines of traditional schooling, recently, game-design has emerged as an alternative context to provide young children with opportunities to practice design and thinking skills. Despite the increasing interest from educators and researchers to use game-design as a platform to teach young students higher-order thinking skills, literature documenting design and development of such learning experiences has been scarce. This paper provides a detailed account of how a complex network of pedagogies, theories, and technologies were brought together to design and develop the Game Design and Learning (GDL) program, with the purpose of teaching students basics of computer programming, and to give them hands-on experiences in game-design, and teach them complex problem-solving skills. The GDL program can serve as an example for efforts aiming to create similar technology-rich environments.