Learning Analytics and Behavior of Distributed Self-assessment and Reflections in Programming Problem Solving