Student misconceptions of dynamic programming: a replication study
Shindler M.; Pinpin N.; Markovic M.; Reiber F.; Kim J.H.; Carlos G.P.N.; Dogucu M.; Hong M.; Luu M.; Anderson B.; Cote A.; Ferland M.; Jain P.; LaBonte T.; Mathur L.; Moreno R.; Sakuma R.
2022
Computer Science Education
2
10.1080/08993408.2022.2079865
Background and Context: We replicated and expanded on previous work about how well students learn dynamic programming, a difficult topic for students in algorithms class. Their study interviewed a number of students at one university in a single term. We recruited a larger sample size of students, over several terms, in both large public and private universities as well as liberal arts colleges. Objective: Our aim was to investigate whether the results of the previous work generalized to other universities and also to larger groups of students. Method: We interviewed students who completed the relevant portions of their algorithms class, asking them to solve problems. We observed the students' problem solving process to glean insight into how students tackle these problems. Findings: We found that students generally struggle in three ways, “technique selection,” ”recurrence building,” and “inefficient implementations.” We then explored these themes and specific misconceptions qualitatively. We observed that the misconceptions found by the previous work generalized to the larger sample of students. Implications: Our findings demonstrate areas in which students struggle, paving way for better algorithms education by means of identifying areas of common weakness to draw the focus of instructors. © 2022 Informa UK Limited, trading as Taylor & Francis Group.
algorithms education; dynamic programming; Replication study
Danielsiek H., Paul W., Vahrenhold J., Detecting and understanding students’ misconceptions related to algorithms and data structures, Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, SIGCSE ’12, pp. 21-26, (2012); Enstrom E., Dynamic programming - structure, difficulties and teaching, 2013 IEEE Frontiers in Education Conference (FIE), pp. 1857-1863, (2013); Enstrom E., Kann V., Iteratively intervening with the “most difficult” topics of an algorithms and complexity course, ACM Transactions on Computing Education, 17, 1, pp. 1-38, (2017); Erickson J., Algorithms, (2019); Farghally M.F., Koh K.H., Ernst J.V., Shaffer C.A., Towards a concept inventory for algorithm analysis topics, Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, SIGCSE ’17, pp. 207-212, (2017); Goodrich M.T., Tamassia R., Algorithm design and applications, (2014); Hamouda S., Edwards S.H., Elmongui H.G., Ernst J.V., Shaffer C.A., A basic recursion concept inventory, Computer Science Education, 27, 2, pp. 121-148, (2017); Karpierz K., Wolfman S.A., Misconceptions and concept inventory questions for binary search trees and hash tables, Proceedings of the 45th ACM Technical Symposium on Computer Science Education, SIGCSE ’14, pp. 109-114, (2014); Paul W., Vahrenhold J., Hunting high and low: Instruments to detect misconceptions related to algorithms and data structures, Proceeding of the 44th ACM Technical Symposium on Computer Science Education, SIGCSE ’13, pp. 29-34, (2013); Porter L., Zingaro D., Lee C., Taylor C., Webb K.C., Clancy M., Developing course-level learning goals for basic data structures in cs2, Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE ’18, pp. 858-863, (2018); Taylor C., Clancy M., Webb K.C., Zingaro D., Lee C., Porter L., The practical details of building a cs concept inventory, Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE ’20, pp. 372-378, (2020); Zehra S., Ramanathan A., Zhang L.Y., Zingaro D., Student misconceptions of dynamic programming, Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE ’18, pp. 556-561, (2018)
Routledge
Article
Scopus