The Role of Abstraction in Introductory Programming
First year computer science (CS) courses have mean failure rates as high as 30.3% . In an attempt to identify and mitigate potential contributing factors to this problem, this study aims to investigate how the understanding of abstraction impacts students’ programming ability and subsequent success in a first-year data structures course. Specifically, we employ the use of videos to explicitly introduce the concept of abstraction and assess understanding through quizzes directly related to concrete programming exercises. Our work is motivated and guided by related work on abstract thinking as it relates to the skillset of a computer scientist, in addition to existing work on the introduction of abstraction as a learning outcome in computer science education. We measure the students' understanding of abstraction through a series of short weekly quizzes tightly tied to graded programming exercises. Through our analysis we identify specific topics in the introductory CS course that present abstraction difficulties for students, and suggest potential reasons that these topics are particularly challenging. We also evaluate the students' learning experience when taught abstraction explicitly, discussing both successes and areas in need of improvement. Finally, we recommend introducing abstraction into the early CS curriculum as an explicit learning outcome and treating the topic as a persistent theme throughout courses in order to support students' understanding of foundational programming.
Mon 5 DecDisplayed time zone: Auckland, Wellington change
09:00 - 10:00
Morning 1SPLASH-E at Seminar Room G125
Chair(s): Molly Feldman Oberlin College
The session is hybrid, with the first talk being in-person, and the second virtual. The physical venue G125 has video equipment for online presentation via airmeet. The SPLASH 2022 airmeet page is: https://tinyurl.com/splash2022virtual. Look for the SPLASH-E sessions there and bookmark them. For issues, use the airmeet chat if you are joining online, and look for the student volunteer Jiwon Park, if you in G125.
|Codehound: Helping Instructors Track Pedagogical Code Dependencies in Course MaterialsIn Person|
|The Role of Abstraction in Introductory ProgrammingVirtual|
Kezia Devathasan University of Victoria, Celina Berg University of Victoria, Daniela Damian University of VictoriaDOI