Chapter 3 What should I learn?

Modern scientific coders often operate with many coding languages and software in our workflows. But getting started, we often have a primary language that we use along with a suite of concepts and that help us develop workflows and interoperate between languages and software to do our analytical research. Learning one language to do a task at hand can help you develop skills and mindsets that can be transferable when you come upon other tasks.

A great thing about modern computation is that there are multiple ways to do the same thing. But this can also be a really challenging thing too: what should you learn? And in which order? This chapter aims to help you find resources to learn what you need.


3.1 Learn a new language

Introductory tutorials will help you install software and get comfortable using it. They will also and help you develop the mindset to seek out existing code that works (including your own!) and adapt it for your analyses.

You want to learn:

  • R
    • to get a sense of coding in R…4.1
    • to learn R…4.2
  • Python
    • to get a sense of coding in Python…5.1
    • to learn Python…5.2
  • The Command Line

3.2 Image analysis

Learn more about image analysis techniques and software with the image.sc community…11.3

You want to learn:

3.3 RNA Sequencing

  • Molly Hammell software
  • Gene Yeo UCSD course

3.4 Project Management & Workflows

  • Google Drive / Box / Dropbox…
  • AWS…
  • Project-oriented workflows….9.3
  • R Markdown…4.5
  • Jupyter Notebooks…
  • GitHub Issues…8.3
  • evcouplings pipeline…10.2
  • text editors (could be its own chapter)

3.5 GitHub

  • intro with R …??
  • walking back changes with R…8.2
  • Issues…8.3

3.6 Data Sharing

Platforms for data sharing

3.7 Machine Learning (ML)

  • Intro to ML conceptually …
  • Intro ML in R….4.7
  • Intro ML in Python….

3.8 Plotting

should this be a section or page?

3.9 Publishing

create its own page

  • GitHub for Publishing…8.3

3.10 Containers

  • Docker …