Using a Problem Analysis Model to Enhance Student Learning in Computer Programming | AMiner