In academia, it is common to identify the problem solving process based on computational thinking, as the traditional method of programming teaching. However, students would first have to develop the four types of thinking involved in this process, in order to develop successfully the programming skills. Therefore is required from the beginning of the learning process a method that provides students with a contextualization, allowing the configuration of their own language, which propitiates the development of analytical thinking for the construction of solutions for increasingly complex problems. This paper describes a methodological process of computer programming teaching based on the computational thinking process, by integrating components that promote the development of analytical thinking. Finally, we present a case study with STEM undergraduate students as participants.