Good Scientific Code Workshop

Hello lovely people!

Over the past three years I’ve been developing a workshop on Good Scientific Code. It hopes to solve many problems in scientific code that stem from lack of education on programming principles. The workshop is organized into 6 blocks and its goal is to encapsulate all skills required in developing a good scientific code base. Each block has a lecturing part and a hands-on exercises part. The blocks are about coding principles and design, not any specific programming language, but I am showing examples in Julia and also solving the exercises in Julia. The blocks are:

  • Clear code : write code that is easy to understand and reason for
  • Software developing paradigms: write your code like a software developer
  • Scientific project reproducibility : publish reproducible papers
  • Version control : retraceable code history using git
  • Collaboration & publishing code : modern team-based development on GitHub
  • Documenting software : documentation that conveys information efficiently and intuitively

The bulk of the exercises of the workshop is applying these concepts on our very own scientific code bases!

I’ve recently performed this live at the Max Planck Institute for Meteorology and uploaded the recording on YouTube. If you think you or some of your fellow scientists will benefit from this please do go ahead and share, all workshop materials are online :blush:

YouTube link: Good Scientific Code Workshop - YouTube

Workshop GitHub page: GitHub - JuliaDynamics/GoodScientificCodeWorkshop: A workshop on writing good scientific code.

CU!

p.s.: I didn’t put this in the teaching and outreach category, because this kind of workshop is also for senior scientists. If there was an “academia” category I would put this post there

77 Likes

When people ask me where to start in Julia, my first recommendation is always your “From zero to hero” Julia tutorial. It seems that now I have another great resource to pass to other people!

Great work!

3 Likes

oh gosh thanks so much you make me BLUSH!!!

1 Like

looks very cool! We need more stuff like this in academia!

You may be interested in checking out the coderefinery material, they have been organizing workshops with a very similar goal and curriculum, might be a nice food for your brain :slight_smile:

3 Likes

Thank you very much for the suggestion! I’ve now created a dedicated markdown file that lists further resources, which is easy to update, and I added your suggestion there!

3 Likes

This sounds interesting - I’m just looking for materials for a course in software development in Julia starting this autumn. Can you give me the link for this “Zero to Hero” course in julia? I couldn’t find in and would be interested in combining it with the “Good Scientific Code” workshop in a life-sciences context.

There you go! It pretty much covers all the things a new user needs to know about Julia.

1 Like