Asee peer logo

Building a model of polymorphism comprehension

Download Paper |

Conference

2022 ASEE Annual Conference & Exposition

Location

Minneapolis, MN

Publication Date

August 23, 2022

Start Date

June 26, 2022

End Date

June 29, 2022

Conference Session

CIT Division Technical Session #10

Page Count

16

DOI

10.18260/1-2--41730

Permanent URL

https://peer.asee.org/41730

Download Count

376

Paper Authors

biography

Joshua Gross

visit author page

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.

visit author page

biography

Kevin Coogan

visit author page

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.

visit author page

author page

Sarah Heckman North Carolina State University at Raleigh

author page

Gabriel Silva de Oliveira North Carolina State University at Raleigh

Download Paper |

Abstract

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