Minneapolis, MN
August 23, 2022
June 26, 2022
June 29, 2022
16
10.18260/1-2--41730
https://peer.asee.org/41730
376
Joshua Gross is an assistant professor of computer science at CSUMB. He spent nearly a decade as a software engineer, earning an MS in software engineering from the University of St. Thomas in St. Paul, Minnesota. He holds a PhD in information sciences and technology from Penn State, where his research focused on the intersection of artificial intelligence and human-computer interaction. His current research is focused on the psychology of programming, with the goal of better understanding factors that support student success in undergraduate computer science coursework and in software development professions, with the hope of addressing the severe shortfall of qualified developers.
Kevin Coogan is an instructional faculty member at Hampton University in Hampton, VA. He received his Ph.D. from the University of Arizona where his primary research focus was on malware obfuscation techniques. Over the past eleven years he has taught a wide variety of courses including information security, networking, operating systems, data structures, and introductory programming. His current teaching is focused primarily on introductory programming and data structures, and his current research interests center on improving student outcomes in these and related core courses.
Mastering subclass polymorphism in object-oriented (OO) programming is critical because polymorphism plays a central role in many commonly used design patterns and in software development generally. However, designing and implementing polymorphic solutions is challenging for novice programmers because polymorphism is an emergent consequence of correctly using multiple OO language features. In order to eventually improve polymorphism instruction, this research focuses on developing a model of polymorphism comprehension, along with a schema for placing students within that model. A case study was conducted with ten students in an OO CS2 course. Participants completed several short assignments, then participated in mock whiteboard interviews. Analyzing these interviews, researchers derived a three-level model of polymorphism comprehension: basic structured software design principles, OO abstraction principles, and OO polymorphism principles. Data show a major gap between OO abstraction and polymorphism, indicating a need to focus on moving from inheritance to substitutability.
Gross, J., & Coogan, K., & Heckman, S., & Silva de Oliveira, G. (2022, August), Building a model of polymorphism comprehension Paper presented at 2022 ASEE Annual Conference & Exposition, Minneapolis, MN. 10.18260/1-2--41730
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2022 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015