2B) Tools From a Productivity Toolbox - streamlining your workflow as a computational scientistLost in your data or your simulation code? Frustrated by repetitive tasks or tools getting in your way? Need to quickly share & publish your computational results? Read on!
Virtually all branches of science have profited from the vast increase in computational power in recent decades. However, given that scientists are rarely trained computer programmers (and more often than not self-taught), there is a substantial barrier to harnessing this power as it is easy to lose track of your work or get lost in the subsequent data analysis.
This workshop will provide a hands-on introduction to a variety of tools to make your workflow as a computational scientist more efficient, productive and reproducible.
This is *not* a workshop about programming. Rather, it is about the infrastructure and tools surrounding your daily simulation work. The aim is to help you build a solid framework for your computations so that you can focus on your research rather than wasting all your time trying to manage data and simulations.
Intended audience: Any computational scientist who feels that parts of their workflow are unstructured or inefficient and is looking for ways to improve it.
- Basic programming experience will help but is not strictly required (Python is preferred, but the language mostly shouldn’t matter).
- We will work quite a bit from the command line, so you should feel moderately comfortable in a terminal and know the basic commands for navigating between directories etc.
- Participants are asked to install some necessary software on their laptops beforehand (detailed instructions will be sent around in advance).
Preliminary list of topics (subject to change):
- The IPython Notebook: a versatile, interactive computing environment and electronic notebook (not just for Python!)
- Basic version control with git
- Makefiles for reproducible workflows and automation
- Sumatra: a tool for keeping track of simulation & data anaysis runs (in particular for large parameter spaces), with the aim of supporting reproducible research
The focus will be on providing minimal working knowledge of these tools to enable participants to immediately start using them, rather than covering advanced features in great depth.