SOARS 2019 COMPUTATIONAL THINKING AND DATA SCIENCE WORKSHOPS

  • (3) three, 2 hour sessions
  • Track 1 covers basics of algorithmic and computational thinking
  • Track 2 covers advanced coding topics in Python, Jupyter and Github with a focus on open discussions and advanced problem solving in Python with Geoscience applications
  • Github repository and website: https://github.com/NCAR/SOARS2019-CTDSWorkshops

WORKSHOP 0: Friday, May 24

AM Track + PM Track

  • Using Slack as a collaborative communication tool;
  • Basic Python resources (a few books);
  • Python, Jupyter Notebooks (Hub);
  • Why data and computation may be your most important career differentiating tools?

WORKSHOP 1: Friday, May 31

AM Track

  • Introduction to algorithmic and computational thinking
  • Review of Python, Jupyter Notebooks, Github reloaded
  • What is pseudocode and how do we solve problems with it?

PM Track

  • Overview of primary data science libraries in Python
  • Basic problem solving strategies;
  • Advanced problem solving strategies with code
  • The importance of teamwork in coding

WORKSHOP 2: Friday, June 7

AM Track

  • Translating pseudocode to real code
  • Hands on exercises in algorithmic thinking

PM Track

  • Looking at important Python Geoscience libraries for getting work done
  • Introduction to Python in Jupyter Notebooks
    • matplotlib
    • Reading files in netcdf and other formats
    • Looping
    • Variables
    • Writing better Python
    • Efficient algorithms
    • Writing Math narratives with Markdown and in-line \(\LaTeX\)
    • Basic code diagnostic troubleshooting

WORKSHOP 3: Friday, June 21

AM Track

  • More coding in Python with a focus on more complex algorithms
  • Introduction to computational narratives (generic) and writing up your solutions to problems
  • How to explain your programs to others that make sense

PM Track

  • Workflows around code, research explorations and computational narratives
  • Advanced data sharing, code and notebooks
  • Reproducible research
  • Exploring useful resources for learning more
  • Obtaining citable DOIs with Figshare
  • Sharing code with Github and Zenodo
  • Broadcasting on social media
  • Publishing gray or formal work on Github
  • Building a website for yourseld and your work in Hugo