Scientific computing is important but mastering the skills takes time

Scientifically Sound was born out of the need to provide an online resource to conduct science that is reproducible and valid. This resource is in recognition of the fact that learning the digital skills to manage and analyse data reliably takes time and can be daunting. These concerns were echoed in the recent Nature article Scientific computing: Code alert. It is encouraging to see folk in the scientific community acknowledge the usefulness and importance of programming tools to manage data, as well as the investment and support needed to learn them.

The article overviews the benefits of learning to program, how to get started (eg. with Python or R), and how to maintain newly acquired skills. Interested readers may peruse the full article but here are some quotes:

Coding automates and speeds up analyses.

Scientists commonly use languages such as Python and R to conduct and automate analyses, because in this way they can speed data crunching, increase reproducibility, protect data from accidental deletion or alteration and handle data sets that would overwhelm commercial applications. … Andrew Durso can vouch for those upsides. The ecology graduate student at the University of Utah in Salt Lake City started his research career using programs with graphical interfaces. Whenever he clicked buttons or checked boxes on a computer screen, he would try to write those steps down on paper in case he wanted to redo an analysis — a strategy that was both time-consuming and unreliable. Even though he is still new to coding, he says, a re-analysis of one of his earlier projects took less than 5% of the time previously required, and every step was recorded automatically.

Learn to code a useful language by working in short time blocks.

Novices often try to learn too many tools at once, says Broman. “They learn a bit of Python and a bit of R or a bit of Ruby rather than concentrating on learning one new thing,” he says. He recommends that people pick a language that’s popular with their colleagues and work initially in four-hour blocks, which he says provide enough time to work through hurdles and get a sense of progress.

It’s ok to take courses and ask for help.

Being familiar with computing tools is not the same as incorporating them into the research routine. Perhaps the biggest barrier is insecurity, says Anelda van der Walt, a volunteer with both Data and Software Carpentry and head of Talarify, a company in Cape Town, South Africa, that provides computational training to geneticists. “Many people think, ‘I’ll just figure it out on my own first. I’m not good enough yet to ask questions’,” she says. Instead, they should seek help from others to gain more skills.

The article directs readers to different resources that provide an introduction to programming such as Software Carpentry, Codeacademy and Coursera.

At Scientifically Sound we aim to support new and ongoing learners with Tutorials on different programming languages, and promote valid interpretation and communication of scientific findings through the Research tools and methods series. We hope readers and other researchers find these resources useful.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s