7 ms·
Why biology students should learn how to program
- kyro 18y agoBiology students should definitely learn how to program. I'm in my 4th year as a bio major and have been involved with several research projects. The first involved inducing schizophrenia in rats, and recording their movements in reaction to a set of audio stimuli after being given a set of varying medicines. We had folders and folders filled with spreadsheets of data -- data that would have to be manually inputted into some crappily obsolete software. Even with somewhat specialized software, each run was saved as a separate file, adding to the clutter. Our research would have definitely progressed more quickly had we had programmers that built the appropriate software to aggregate our data. In my second research project, our team was trying to, and still is, find the metrics to 'the beautiful face.' This requires morphing pictures of women together, presenting these synthetic images to a focus group, who then rates the images. After the pictures are rated, they are subject to a natural selection type algorithm we developed, and the beauty evolution is done manually. We would've definitely found much value in recruiting a programmer who could've written a program to automate the selection process, and perhaps built an app that brought the focus group rating aspect of our research to the web. We do use hotornot.com, but it's not ideal. I'd like to add that additionally, medical students and doctors should learn how to program. There are many many many areas in medicine and healthcare generally that are behind the tech times. Coding doctors would definitely expedite the progression of the medical field from within. At least I think so. That's what my med school personal statement was about. :P As someone who has studied biology/medicine, and has a definite interest in programming (teaching myself currently), I hope to find myself helping in the progression of the convergence of these two fields.
- jskopek 18y agoI'd extend your comment to "Everyone should learn how to program". When you look at the number of repetitive tasks that take place in a typical office environment, it's amazing at how much time could be saved with a little programming. Macros were designed to accomplish this, but they're still way to complicated to be used by most people. It would be great if there were some sort of easy to use third party system that could integrate with a number of products (Word, Excel, Websites) and provide an easy environment to build macros. Edit: I'm basically thinking of OS X's Automator
- whughes 18y agoConstruction? Landscaping? Farming? Jobs with lots of secretarial assistance? I think you've taken it a step too far and ignored several sectors of society. Many scientists could benefit from programming, and anyone else who has to deal with information regularly probably could as well. That doesn't equal everyone.
- donal 18y agoArguably VB for Applications could come in handy for almost anyone. Though interestingly most farmers, carpenters, and other handy-workers are more capable of performing arithmetic than the rest of the population. Still the power of a well-tuned spreadsheet is quite amazing. Farmers are also a bad example these days, agriculture is totally high-tech.
- davi 18y agofarming, e.g.: http://www.ruralmfg.com/mall/GS02_OutbackS2.asp http://www.ruralmfg.com/mall/GS02_OutbackS2.asp
- quilby 18y agohttp://www.cs.tau.ac.il/~tommer/beautification2008/ http://www.cs.tau.ac.il/~tommer/beautification2008/ Is that what your second project was about? Thats a very cool app built by computer scientists at Tel Aviv Uni.
- sgrove 18y agoCan't agree more. In my undergraduate research in the Cognitive Neuroscience labs at Berkeley, it was disappointing to see how much effort was wasted because people avoided technology instead of embracing it (in neuroscience!). The work done there was incredible, but as I was passed around to researchers in the lab, programming the experiments they had designed (have to pay your dues to get into research), I got a chance to see the methods they used before they were able to get competent programmers. Manually marking spikes and anomalies in EEG data when there was an api for the program to allow access to recorded data for just such a purpose, dealing with timing issues because few understood the difficulties of achieving high-precision event timing, etc. It was depressing to think of how much further it could have gone. When I left to pursue my startup, I was working on some automated techniques to remove noise from fMRI data. That type of work will speed up research and allow researchers to spend time on meaningful things.
- patio11 18y agoIs there a compelling reason why the biologist and the programmer need to be the same person? It looks to me like researchers have figured out specialization of labor: one well-educated researcher to make the theory, several low-wage grunts who get to feed the rats. (Whether this relationship is fair to graduate students is outside the scope of this post.) I think we're suggesting people learn programming so that they can do tasks which are of comparative complexity to feeding the rats. Converting data from one form to the other? That is feeding rats. Iterating over data to produce summary statistics? That is feeding rats. (I know biologists work with really big data sets. So maybe they're not feeding rats, they're feeding monkeys. Disgustingly parallel algorithms are getting easier and arranging the hardware for them is getting easier: in a few years, the monkeys will be about as easy to feed as rats are today.) Biologists don't have grad students scratch-build their own microscopes, do they? That would be silly. Why not have the scientists and proto-scientists concentrate on science and outsource the feeding of computational rats to someone who doesn't really need a graduate degree in bioinformatics. Plus, if using cheap outsourced rat-feeders achieves comparable quality to graduate students, there will be less market need for a permanent underclass of rat feeders with crushing debt loads and stipends that make McDonalds look generous.
- dgmacarthur 18y agoBiologists don't necessarily need to be the one writing the high-end software tools, in the same way (as you note) that they don't build their own microscopes. But re-formatting, filtering and running basic QC on complex data is something a lot of biologists have to do every day; and the types of data, their quality and their format are constantly evolving. Biologists who have to run down the corridor to their local (probably overworked and underpaid) programmer every time their data format changes, then explain the problem in terms the programmer can understand, then wait for the programmer to write something, and then check the script's output for errors, will be at a huge disadvantage compared to those who can quickly whip up and debug a parsing script themselves on the fly.
- dehowell 18y agoI couldn't agree more. Grant money is precious. Instead of spending three or four grad student salaries to pay a programmer a competitive wage, it makes more far more sense to fund three or four students on research assistantships where they have time to learn Perl.
- biohacker42 18y agoMath skill will make you a better scientists. Programming skills could also be useful, but then again maybe not. Read about Richard Dawkins' dangerous addiction: http://www.guardian.co.uk/theguardian/2007/feb/03/weekend7.weekend5 http://www.guardian.co.uk/theguardian/2007/feb/03/weekend7.w... The danger I see in teaching biology students how to program is that they are not, and don't want to be, good software engineers. And that's often worse then not knowing a thing about computers. A little knowledge is a dangerous thing. Combine a little programming knowledge with a lot of intellect and no small amount of arrogance due the proudly earned Ph.D in biology or chemistry or what ever and some VERY bad things can happen. I've seen databases where 99% of the data was NULL, because the Chemistry Ph.D author couldn't be bothered with trivial details like what's a one to many relationship. Naturally it was MS Access. Beware of bad software engineering, even more so if the person coding is otherwise brilliant. That's the most dangerous type. Software is a very sharp sword, you should use it carefully not try to swing it as hard as you can.
- kaneraz 18y agoI've always been of the opinion that diversity in your education will help you somewhere down the road. That being said you should still have one thing you focus on. If you're going to be learning how to program as a biologist, you still need to be a biologist first and a developer second. I'm a developer first and whatever it is I'm programming for second. I learn how to do the job of the people I write code for so it will do what they need.
- Dilpil 18y agoIf two semesters of calculus are relevant to biology students, then surely at least one semester of programming is as well.