Hey everyone! I’m excited to introduce CodeStories, an education platform for professionals, as well as our first publicly available course, Intermediate Python for Bioinformatics (InPyBio)!
The purpose of InPyBio is to empower all life scientists to analyze and understand their own data.
CodeStories began as a conversation in 2015 when a group of first-year life science graduate students at UNC-Chapel Hill took a taxing biophysics course that highlighted a couple of issues:
- Biological sciences increasingly rely on programming and data analysis to interpret data and understand experiments.
- The university didn’t have the training infrastructure needed to teach its hundreds of graduate students in life sciences how to program.
The students decided to organize and lead their own summer course. As someone who’d had those exact realizations a couple years earlier as a biochem undergrad, I volunteered as a cofounder to teach what I knew about coding at the time.
In order to keep class sizes manageable, we capped course registration at 60 students. It was full in less than two days. The six-week course was a huge success, with surveyed students indicating that they both learned a lot and enjoyed themselves. As will be obvious to many of you, six weeks is hardly enough time to fully learn how to program. The instructors were aware of this from the start, even electing to call the course How to Learn to Code. We aimed not only to teach the fundamentals of programming but to provide students with the tools to continue their education on their own. This belief that it’s as important to teach the discoverability of programming as it is to teach coding itself is still a key aspect of our teaching philosophy.
Despite our best efforts, however, some portion of students later reported that they’d largely abandoned coding, citing a lack of comfort with programming on their own. In response, InPyBio was born in 2016. The goal was (and remains) to teach individuals who have learned what they could by teaching themselves via MOOCs and beginner sites how to feel comfortable translating their biological experiments into algorithms and data structures. The class takes a project-based learning approach, focusing on real-world problems that students might need to solve in their careers and ensuring that students constantly have sufficient context to understand why what they’re learning is important.
Work on the CodeStories webapp also began in 2016, due to a need to engage students not only in the classroom but also throughout the week. Primarily, I wanted a tool that would allow students to submit scripts they’d written and have the code automatically graded. A number of sites offer this general functionality, but there were a few other requirements:
- The site needed to support Python, the language the class was going to be taught in.
- It needed to either be biologically focused or allow instructors to write their own problems.
- Native support for Python’s scientific stack, like numpy and pandas, was also critical.
- There should be some way for students to earn hints when they get stuck on a problem.
- Most importantly, students should find the site engaging, easy to use, and immediately applicable.
We couldn’t find anything that fit these criteria, so we built it ourselves. CodeStories has been in use at UNC every summer since.
Even though I’ve always believed that bioinformatics is going to be one of the most important careers in the coming decades and that training future scientists and engineers is a critical responsibility for current bioinformaticians, I was originally planning on leaving this project behind when I graduated. The events of the past couple months, however, have forced me to reconsider, due to a couple of key insights:
- For numerous reasons, individuals who can work from home are increasingly well-positioned to contribute to their company and to their field, regardless of the circumstances.
- Biological threats aren’t something that began in January, and they certainly won’t go away when this particular pandemic passes. Our only hope to be better prepared in the future is to start better equipping people with the tools they need to make sense of biology’s complexity. Humanity as a whole would greatly benefit from having more, and more broadly-trained, life scientists.
While both CodeStories and InPyBio have a long history at this point, this summer is going to be the first time it’s going to be opened to a general audience. And, of course, it’s the first time it’s going to be remote. I have to say...I’m really excited about seeing how this new chapter turns out!