Algorithms are important procedures that are found in every aspect in our life. Large numbers of these algorithms cannot be accurately understood unless they are presented differently, especially if they are taught to students. A complete visualization system is created to teach dynamic programming algorithms. Through visualization, a student is able to trace the algorithm step‐by‐step, similar to the debugger, but in a simplified way. In addition, the system can handle errors during the execution of the algorithm. Moreover, the system guides and helps the students during the tracing and stores all of the information about the errors during the tracing. The students obtain the feedback of the tracing from a report generated by the system. The teacher benefits from the generated report through the enhancement of the teaching methods that focus on the misunderstood steps. Additionally, the system allows the user to see how a certain algorithm can be monitored by displaying the source code. The developed system is evaluated using different methods to prove the effectiveness of the system in teaching and learning.© 2017 Wiley Periodicals, Inc. Comput Appl Eng Educ 25:179–187, 2017; View this article online at wileyonlinelibrary.com/journal/cae; DOI 10.1002/cae21781.