Students' explanations in complex learning of disciplinary programming