Learning programming is a complicated task and there is a high rate of students’ failure or desertion. It requires the student to think abstractly and acquire a high level of affinity and discipline. It requires the student to think abstractly and acuire a high level of affinity as well as discipline. The basis is to find studies based on the development of tools for learning programming, which attract a high level of students’ attention. The purpose is to carry out an analysis of the main characteristics, advantages and disadvantages of augmented reality as a learning methodology for programming, as well as the tools necessary for its development. After the review, we have found different types of applications which purpose range from business applications, maintenance support and equipment assembly to the development of kinesthetic skills. Regarding the support in learning, this is applied in different areas of study, with very few results in programming. It is intended to make a proposal of an augmented reality model for learning programming. Its high potential in education serves as support for pedagogical activities and the development of cognitive skills. However, there are still problems, such as the dependence of a device with a camera and special capabilities that support its proper functioning. Another impediment is that; the use of technology can be a cause of distraction when teaching a class. Nevertheless, all this with the advance of technology and research related to the subject of study, can certainly be overcome.