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
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