Objectives . Our replacement of RAPTOR, a flowchart-based programming environment, with Python in an introductory computing course at a post-secondary institution provided a novel opportunity to explore the impacts of the programming language on students’ success with programming, perception of different programming languages, and interest in computing. Participants . We conducted a cluster-randomized study that involved the 1083 students who took our introductory computing course in the 2019–2020 academic year. The student populations in both versions of the course were similar with respect to sex, race, standardized test scores, predicted performance, and grade point average (GPA) in courses that satisfy general education requirements. Moreover, our course is a general education requirement, which precludes self-selection bias by students predisposed to study a computing or technical discipline. Study Methods . Our mixed methods research design compares student performance in both versions of the course, including by demographic groups; explores factors that predict student performance; summarizes students’ perceptions of RAPTOR and Python; investigates how the programming language influences students’ interest in computing majors; and examines how the programming language affects students’ performance in subsequent courses. Our data regarding student achievement is archival, collected from our student information system, which we augment with voluntary-provided feedback from questionnaires and course evaluations. Findings . Student achievement is correlated with prior programming experience and standardized test scores, yet students performed similarly overall in both versions of the course despite one racial group performing significantly worse with Python, a difference largely attributable to imbalances in academic preparation among the two cohorts for that racial group. Students’ interest in computing and their performance in subsequent computer science courses were not impacted by the programming language they learned in our introductory computing course. Nevertheless, students overwhelmingly perceived Python to be more valuable. Conclusions . Our work is unique in its context (i.e., taking place at the post-secondary level) and scope. The similar performance of students learning each programming language differs markedly from prior research that found all students perform better when using a block-based modality. Moreover, students’ preference to learn Python, particularly among those who subsequently major in a computing discipline, argues against a one-size-fits-all approach when teaching introductory programming. Our results raise important questions about the role of an introductory computing course in promoting equity and engaging students from historically marginalized or underrepresented groups in computing fields.
更多