B. Boehm, A view of 20th and 21st century software engineering, Proceeding of the 28th international conference on Software engineering , ICSE '06, 2006.
DOI : 10.1145/1134285.1134288

M. E. Caspersen and M. Kolling, STREAM, ACM Transactions on Computing Education, vol.9, issue.1, pp.1-29, 2009.
DOI : 10.1145/1513593.1513597

C. Kazimoglu, M. Kiernan, L. Bacon, and L. Mackinnon, Developing a game model for computational thinking and learning traditional programming through game-play, pp.1378-1386, 2010.

C. Liu, Y. Cheng, and C. Huang, The effect of simulation games on the learning of computational problem solving, Computers & Education, vol.57, issue.3, pp.1907-1918, 2011.
DOI : 10.1016/j.compedu.2011.04.002

URL : https://hal.archives-ouvertes.fr/hal-00702982

S. Xiaoyuan, Toward more effective strategies in teaching programming for novice students, Proceedings of IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE) 2012, pp.2-3, 2012.
DOI : 10.1109/TALE.2012.6360379

J. W. Coffey, Relationship between design and programming skills in an advanced computer programming class, J. Comput. Sci. Coll, vol.30, issue.5, pp.39-45, 2015.

V. Kokotovich, Problem analysis and thinking tools: an empirical study of nonhierarchical mind mapping. Design Studies, pp.49-69, 2008.

R. J. Fornaro, M. R. Heil, and A. L. Tharp, What Clients Want - What Students Do: Reflections on Ten Years of Sponsored Senior Design Projects, 19th Conference on Software Engineering Education & Training (CSEET'06), pp.226-236, 2006.
DOI : 10.1109/CSEET.2006.40

T. Huang, Y. Shu, C. Chen, C. , and M. , The Development of an Innovative Programming Teaching Framework for Modifying Students??? Maladaptive Learning Pattern, International Journal of Information and Education Technology, issue.36, p.591, 2013.
DOI : 10.7763/IJIET.2013.V3.342

C. Loftus, L. Thomas, and C. Zander, Can graduating students design, Proceedings of the 42nd ACM technical symposium on Computer science education, SIGCSE '11, 2011.
DOI : 10.1145/1953163.1953199

A. Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams et al., A survey of literature on the teaching of introductory programming, ACM SIGCSE Bulletin, issue.2, pp.39-58, 2007.

P. J. Guo, Online python tutor, Proceeding of the 44th ACM technical symposium on Computer science education, SIGCSE '13, 2013.
DOI : 10.1145/2445196.2445368

M. Gautier and B. Wrobel?dautcourt, artEoz?dynamic program visualization, p.70, 2016.
URL : https://hal.archives-ouvertes.fr/hal-01388703

P. Mozelius, O. Shabalina, C. Malliarakis, F. Tomos, C. Miller et al., Let the Students Contruct Their own fun And Knowledge-Learning to Program by Building Computer Games, European Conference on Games Based Learning. 2013. Academic Conferences International Limited

M. Trevathan, M. Peters, J. Willis, and L. Sansing, Serious Games Classroom Implementation: Teacher Perspectives and Student Learning Outcomes, Society for Information Technology & Teacher Education International Conference, 2016.

D. R. Wright, Inoculating Novice Software Designers with Expert Design Strategies. in American Society for Engineering Education, 2012.

M. Hu, M. Winikoff, C. , and S. , A process for novice programming using goals and plans, Proceedings of the Fifteenth Australasian Computing Education Conference, 2013.

V. L. Neto, R. Coelho, L. Leite, D. S. Guerrero, and A. P. Mendon, POPT: A Problem-Oriented Programming and Testing approach for novice students, 2013 35th International Conference on Software Engineering (ICSE), 2013.
DOI : 10.1109/ICSE.2013.6606660

C. Morgado and F. Barbosa, A structured approach to problem solving in CS1, Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, ITiCSE '12, 2012.
DOI : 10.1145/2325296.2325415

R. M. Siegfried, D. Greco, N. Miceli, S. , and J. , Whatever happened to Richard Reid's list of First Programming Languages, Journal of Information Systems Education, vol.10, issue.4, p.7, 2012.

C. Higgins, F. Mtenzi, C. O-'leary, O. Hanratty, and C. Mcavinia, A CONCEPTUAL FRAMEWORK FOR A SOFTWARE DEVELOPMENT PROCESS BASED ON COMPUTATIONAL THINKING, INTED2017 Proceedings, 2017.
DOI : 10.21125/inted.2017.0244

G. Polya, How To Solve It, 1957.

N. Wirth, Program development by stepwise refinement, Communications of the ACM, vol.14, issue.4, pp.221-227, 1971.
DOI : 10.1145/362575.362577

M. Pizka and A. Bauer, A brief top-down and bottom-up philosophy on software evolution. in Software Evolution, Proceedings. 7th International Workshop on Principles of, 2004.

L. A. Liikkanen and M. Perttula, Exploring problem decomposition in conceptual design among novice designers. Design studies, pp.38-59, 2009.

A. Robins, J. Rountree, and N. Rountree, Learning and Teaching Programming: A Review and Discussion, Computer Science Education, vol.13, issue.2, pp.137-172, 2003.
DOI : 10.1076/csed.13.2.137.14200

H. Abelson and A. A. Disessa, Turtle geometry: The computer as a medium for exploring mathematics, 1986.

M. Resnick, J. Maloney, A. Monroy-hernandez, N. Rusk, E. Eastmond et al., Scratch, Communications of the ACM, vol.52, issue.11, pp.52-60, 2009.
DOI : 10.1145/1592761.1592779

C. Thevathayan and M. Hamilton, Supporting Diverse Novice Programming Cohorts through Flexible and Incremental Visual Constructivist Pathways, Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE '15, 2015.
DOI : 10.1145/176789.176795

L. Vygotsky, Interaction between learning and development. Readings on the development of children, pp.34-41, 1978.

D. Bustard, G. Wilkie, G. , and D. , The Maturation of Agile Software Development Principles and Practice: Observations on Successive Industrial Studies in 2010 and 2012, 2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS), 2013.
DOI : 10.1109/ECBS.2013.11

P. Kastl, U. Kiesmüller, R. , and R. , Starting out with Projects, Proceedings of the 11th Workshop in Primary and Secondary Computing Education on ZZZ, WiPSCE '16, 2016.
DOI : 10.1145/2481449.2481461

C. L. Li, L. P. Yang, W. , and W. , Application of mind mapping to improve the teaching effect of Java program design course, Computing, Control, Information and Education Engineering: Proceedings of the 2015 Second International Conference on Computer, Intelligent and Education Technology, 2015.
DOI : 10.1201/b18828-102