Resumo:
The Computer programming is a discipline that assists students in the development of logical thinking, creativity and capability for abstraction, as well as fundamental for students who wish to to work with software development in the future. However, many students have difficulties to understand programming concepts due to their inherent complexity. These difficulties, if not solved in time, impair students learning throughout the programming course and contribute to the increase of rate of disapproval and evasion in technology courses. This work aims to identify and analyze the main barriers and difficulties that students face during programming learning. We conduct a survey-based study with students and recent graduates in Information and Communication Technology courses from different regions of Brazil. The results show several barriers and difficulties for learning programming, ranging from the understanding of programming logic to the definition of recursive algorithms and data structure. The problems raised in this work point to the need for changes in the current practices of teaching and learning programming, combined with the use of tools and learning environments that facilitate the understanding of abstract concepts programming.
Keywords: