Fostering Problem Understanding as a Precursor to Problem-Solving in Computer Programming | IEEE Conference Publication | IEEE Xplore