Building Tools to Help Students Learn to Program. - Guo, Philip (Communications of the ACM, 2017)
The article discusses aspects of building tools to help students to learn computer programming. Topics include the diversity of programming students including older or non-traditional students, the development of programming environments that enable learning such as the author's program Python Tutor, and the formats of instructional materials for programming education.