The aim of this file is iterate/decide on:
- A list of chapters
- The scope of each chapter
- The order of the chapters
- Version Control - @r-j-arnold
- Open Research - @r-j-arnold
- Reproducibility - @pherterich
- Testing for research - @r-j-arnold and @annakrystalli
- Continuous integration - @r-j-arnold and @annakrystalli
- Reproducible Compute Environment - @r-j-arnold and @annakrystalli
- Research Data Management - @pherterich and @rosiehigman
- Collaborating (through Github/Gitlab) - @pherterich and @rosiehigman
- Case studies - @LouiseABowler
- Checklist - @annakrystalli and @KirstieJane
- Working Environment and notebooks - @LouiseABowler & @sgibson91
- Coding Styles and Linting - @r-j-arnold
- Deep Learning
- Ethics
- Credit for Reproducible Research
- Scoping a data project - RSEs
- Similarities and differences across data science disciplines
- Visualisation
- For yourself
- For everyone else
- Version Control - what is it and why use it. (Or xx_final_Final.docx is version control, but you can do better.)
- Your first project using Git
- Accessing previous versions of your code
- Branches and Merging
- Semantic Versioning - Tags and releases (and how that fits in with trad publishing DOIs)
- Commenting and documenting projects
- How to write a good README
- How to write good commit messages
- Anatomy of a github repo
- Using Pull requests
- How to use cloud-based tools to power-up your repo (e.g. cloud-based CI see below)
- Why should you test your code?
- What is a good test
- End-to-end testing vs. Unit Testing & other types.
- Documenting Data
- Open (FAIR) Standards
- Packaging code for re-use (containers)
- Managing Dependences
- Continuous Integration (and available tools)
- Random Seeds & Dealing with Stochastic simulations (e.g. due to floating point errors)
- Reproducible Research for HPC Projects
- How does reproducibility overlap with Open
- Roles in a reproducible project
- Maintaining reproducibility as a group
- Introduction to the command line
- Alternatives to the Command Line
- Interactive Development Environments
- Jupyter Notebooks (and common issues)
- Dealing with Sensitive Data
- Getting Consent for Data Sharing
- Ethics Approbal @ the Turing
- What makes a good data science project