Uncovering difficulties in learning for the intermediate programmer | IEEE Conference Publication | IEEE Xplore