research Exploring the Role of Errors in Programming Learning ACM Transactions on Computing Education Sun ACM Transactions on Computing Education, Volume 26, Issue 2, Page 1-22, June 2026. dl.acm.org