Abstract:The course of programming languages is usually the first core course for the majority of computer science. However, in the teaching practice, it is hard for students to master some complex and abstract knowledge in programming languages. To overcome the difficulties in teaching the course of programming languages, in this study, we design and implement a teaching system for the course of programming languages—a program dynamic analysis system. This system, by applying the knowledge of programming languages and some other core professional courses, implements program error detection and automated source instrumentation. We apply this system to the teaching practice, which helps students to understand and master the complex and abstract concepts in the course of programming languages, and their applications in real-world software development, thus to improve the teaching effectiveness.