An Adaptive Gamification Optimization Algorithm for Analyzing Programming Learning Difficulties | AMiner