Teaching abstraction to novices: Pattern-based and ADT-based problem-solving processes | IEEE Conference Publication | IEEE Xplore