Resources for learning how to code

Last month, I put together a small script that made the calendar from the Sackler website accessible to calendar software such as Google Calendar, Apple Calendar, Outlook, and others, that a majority of people now use. This little simple bit of code solved a problem of the Sackler website that has existed for years and requires no further intervention on my part. I’ve put the source code online on GitHub for anyone who is interested in seeing how it works (https://github.com/danielsenhwong/sackler). For anyone who is interested in learning how to code or, like me, would like to develop their skills beyond the introductory undergraduate level, I’ve compiled a list of resources that may be useful.

Getting started

This is in many ways the most difficult part about learning how to code. Many resources exist, but it’s difficult to know which is the most approrpiate for your current skill level. You may already be somewhat familiar with some specific coding techniques or languagees, but significant gaps may still remain in your knowledgebase. Such gaps could include understanding how to set up a coding environment on your computer, which language is most suitable for your work, or how to interface with a database instead of just reading data from a file generated by your plate reader. As biomedical scientists, our familiarity with computers and code is limited compared to more computationally-intensive fields, but not compeltely absent, and our field is rapidly becoming more computational.

practicalcomputingFortunately, there is a book specifically intended for biologists who are interested in developing their computing skill set: Practical Computing for Biologists, by Steven Haddock and Casey Dunn. The book introduces basic concepts of coding while also providing a thorough walkthrough of how to set up a suitable environment on your computer before moving on to practical applications of coding and tools for data analysis, including working with databases and best practices for working with graphics and generating figures for publication. The companion website for the book makes much of the example code freely available, along with some other extras, including the reference tables, which are extremely useful while you’re still learning the commands: http://practicalcomputing.org/

lynda_logo1k-d_72x72Tufts Technology Services (Tufts IT) also has some resources available for free to the Tufts community, including access to Lynda.com, which hosts self-paced online tutorials for a number of different topics, including coding as well as software-specific training (Adobe Photoshop, Illustrator, InDesign, etc.). Additional details can be found on the Tufts IT website: https://it.tufts.edu/lynda

Integrating coding into your work

It can be difficult to learn how to code if it’s siloed away as a separate skill you’re trying to learn, so one effective technique is to integrate it into your normal workflow. One example would be to use R (r-project.org) in place of Excel or Prism to perform your statistical analysis. A good book for learning how to get started is Introductory Statistics with R, by Peter Dalgaard. A PDF version of this book is available for free through the Tufts library or heavily discounted for purchase: http://link.springer.com/book/10.1007%2F978-0-387-79054-1