Unit 2: Data Science

This unit focuses on data and a functional approach to problem-solving. In contrast to the imperative appraoch used in Unit 1 (where programming was seen as giving instructions to make something happen), a function approach sees programs as transformations of data.

This unit considers functional perspectives at multiple levels: from functions within Python programs, to piping together command-line programs, to chaining web APIs together. A functional perspective underlies many data science methods, as (for example) manipulation of a Pandas DataFrame involves application of functions in parallel.

Learning goals


Collect some data or use an existing dataset. Frame a research question and use the data to answer it.