Summarization: Within the context of a European project exploring the development of programming skills in secondary education by means of modern educational programming languages, this paper proposes certain pedagogical methods, approaches and frameworks for enhancing the development of programming skills, and thereby increasing the number of students studying computer science both at school and university level. In particular, the aim of this paper is to explore the issues surrounding curriculum design for computer courses with a special focus on programming. It has been argued that the utilisation of learning activities that demonstrate specific pedagogic approaches (inquiry-based learning, collaborative learning, cognitive constructivis...