Most well-versed bioinformaticians have likely heard, or perhaps used, Rosalind, but I decided to write about it for any visitors who haven’t. Rosalind teaches users bioinformatics programming using exercises. Basically, the student is given a bit of background that ties the programming to the real-world application, is given a clear set of instructions, and is able to download data to use to test his or her program. The student then uploads their answer and the website grades it as correct or incorrect. Each dataset generated is unique, so you can’t just copy a friends answer. More importantly, with the way the exercises are set up, any programming language can be used to solve the problems, which provides a huge amount of flexibility. Last, and certainly not least, Rosalind is free to use!
Overall, for anyone who wants to learn how to program for bioinformatics with real-life challenges, I encourage you to give Rosalind a try. Likewise, if you are teaching students or forming a graduate student learning group, this is a great resource to use. I am currently using it for a class and am getting a pretty good handle on Python. I plan to attempt most or all of the challenges (beyond just those assigned in class) and may even go through a subset with a new language (such as Perl) to build my skills set. Seeing as most of the postdoc and faculty position listings I see in evolutionary biology and genomics explicitly demand the ability to use programming languages, it makes perfect sense to start learning!