On a growing number of campuses, data science programs offer introductory courses that include a non-trivial amount of programming. The content of such courses overlaps that of traditional computer science introductory courses, but neither course subsumes the other. This situation creates challenges for students. Introductory courses should help students decide which disciplines to pursue further, but misaligned data science and computer science introductions leave students unable to switch between areas without starting over. This in turn puts pressure on departments to determine how to accommodate students as they explore their curricular options. In universities where finances follow student enrollments, overlaps such as these can also lead to turf wars and other tensions that adversely impact students.
We view "data science" as the process of answering questions about the world through the application of (usually statistical) computational methods to data. Data scientists benefit from some computing background. In recent years we have also seen the rise of the related profession of "data engineers," who need a substantial computing background. In addition, the central role of data across computing demands CS majors with basic data-science skills. Therefore, for the sake of this broad spectrum of students, it is time to rethink the content of introductory computing. We believe the approach described in this column—data-centric introductory computing—can support and engage students with diverse interests.