A Functional Approach to Data Science in CS1

被引:8
作者
Albright, Sarah Dahlby [1 ]
Klinge, Titus H. [1 ]
Rebelsky, Samuel A. [1 ]
机构
[1] Grinnell Coll, Grinnell, IA 50112 USA
来源
SIGCSE'18: PROCEEDINGS OF THE 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION | 2018年
关键词
Data science; CS1; Scheme; Racket; map-reduce; Functional programming; Cross-disciplinary courses;
D O I
10.1145/3159450.3159550
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
As part of the development of a new interdisciplinary initiative in data science that draws from statistics, mathematics, computer science, and the social sciences, we have developed a new introductory CS course that emphasizes data science and that we refer to as DataCSCi. Unlike other introductory data science courses, such as Berkeley's Data 8, our course retains the broad array of concepts necessary not only to introduce programming principles related to data science, but also to prepare students for the second course in our standard introductory computer science sequence. In particular, the course includes coverage of recursion (numeric and structural), unit testing, linked data structures, and other concepts we rely upon in subsequent courses in computer science. At the same time, we introduce students to a wide variety of techniques and approaches that support them in their subsequent work in data science, including techniques for wrangling, cleaning, and visualizing data. We achieve this combination of breadth and depth through two core approaches: We focus on a spiral "use then implement" approach and we focus on a functional model of programming using Scheme/Racket. While Python and R are the most commonly used languages for data science, we find that Scheme works particularly well to introduce students to concepts both complex, like map-reduce, and simple, like list filtering. In this paper, we report on the design of the curriculum, particularly the capstone project and the ways in which we incorporate the burgeoning subfield of data science for social good.
引用
收藏
页码:1035 / 1040
页数:6
相关论文
共 11 条
[1]   CAN PROGRAMMING BE LIBERATED FROM VON NEUMANN STYLE - FUNCTIONAL STYLE AND ITS ALGEBRA OF PROGRAMS [J].
BACKUS, J .
COMMUNICATIONS OF THE ACM, 1978, 21 (08) :613-641
[2]   A Data Science Course for Undergraduates: Thinking With Data [J].
Baumer, Ben .
AMERICAN STATISTICIAN, 2015, 69 (04) :334-342
[3]  
Berman Francine, 2016, TECHNICAL REPORT
[4]  
Cassel L. N., 2016, P 47 ACM TECHN S COM, P691, DOI [10.1145/2839509.2850558, DOI 10.1145/2839509.2850558]
[5]  
Cockburn A., 2001, EXTREME PROGRAMMING, P223, DOI [10.1108/00012530210448235, DOI 10.1108/00012530210448235]
[6]  
DeNero John, 2017, DATA 8 FDN DATA SCI
[7]  
Goldweber Michael, 2013, ACM Inroads, V4, P58, DOI 10.1145/2432596.2432616
[8]  
Goldweber Michael, 2015, SIGCAS Comput. Soc., V45, P29, DOI [10.1145/2809957.2809963, DOI 10.1145/2809957.2809963]
[9]  
Guo, 2014, PYTHON IS NOW MOST P
[10]  
Guzdial M., 2013, P 9 ANN INT ACM C IN, P19, DOI [DOI 10.1145/2493394.2493397, 10.1145/2493394.2493397]