Abstract

In computer science, learning abstract fundamental concepts requiring students to understand memory management can be very difficult and lead to misunderstandings that carryon into advanced topics. This is especially true in data structures with abstract data types. Understanding how novice students think and reason about data structures is important for improving teaching and learning in computer science. Most studies focus on student misunderstanding of advanced algorithms and data structures related to topics such as heaps, binary search trees, hash tables, dynamic programming, and recursion. Whereas, fewer studies focus on more elementary data structures, such as arrays and linked lists. Since linked lists serve as a bridge to understanding more advanced data structures, we believe that it is critical to identify students' conceptual and procedural misunderstandings earlier rather later. Therefore, directly after learning about linked lists using the C language, we conduct semi-structured, think-aloud interviews with 11 students to uncover their reasoning and misunderstandings about singly linked lists in C. Using rubrics to code responses to interview questions, we reveal students' confusion around the node containing a node pointer, failure to define a node structure, lack of knowledge regarding typecasting malloc, and lack of attention to the importance of NULL.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call