The effects of first programming language on college students' computing attitude and achievement: a comparison of graphical and textual languages - Chen, Chen; Haduong, Paulina; Brennan, Karen; Sonnert, Gerhard; Sadler, Philip (Computer science education, 2019)
Background and Context: The relationship between novices' first programming language and their future achievement has drawn increasing interest owing to recent efforts to expand K-12 computing education. This article contributes to this topic by analyzing data from a retrospective study of more than 10,000 undergraduates enrolled in introductory computer science courses at 118 U.S. institutions of higher education. Objective: We explored the relationship between students' first programming languages and both their final grades in an introductory computer science course and their attitudes about programming. Method: Multiple matching techniques compared those whose first language was graphical (e.g., Scratch), textual (e.g., Java), or absent prior to college. Findings: Having any prior programming experience had positive effects on both attitudes about programming and grades in introductory computer science courses. Importantly, students whose first language was graphical had higher grades than did students whose first language was textual, when the languages were introduced in or before early adolescent years. Implications: Learning any computer language is better than learning none. If programming is to be taught to students before early adolescence, it is advised to start with a graphical language. Future work should investigate the transition between different types of programming languages.