Data Analysis meets Software Engineering

Post your commentary, answers, and any follow-up questions/confusions on Canvas the day before the lecture. (See the course website for suggestions regarding style and content.)

Readings

  • Science as Amateur Software Development

Reading questions

  1. Describe in your own words, ideally based on your own experience, how software engineering principles can improve the rigor of data analyses?
  2. Are these principles equally applicable to computational notebooks? Provide an argument for why or why not, with at least two concrete examples.
  3. Describe three specific quality control mechanisms for robust and reproducible data analyses.
  4. McElreath attributes a significant number of incorrect (scientific) studies to “sloth”. What is his key argument, what are the specific issues he is calling out, and what solutions does he propose?
  5. Provide an argument for why or why not general-purpose programming languages such as Python are an adequate choice for data analysis.