Teaching and Learning of Divergent and Convergent Thinking through Open-Problem Solving in a Data Structures Course | IEEE Conference Publication | IEEE Xplore