In case you guys are wondering about current college curriculum, I just graduated with a BS in biotechnology-bioinformatics so I can provide a little insight.<p>My core classes consisted mainly of biology, chemistry, organic chemistry and physics. Other classes that my degree required was advanced mathematics (with biological application), advanced statistics, and computer science.<p>About the computer science portion of my degree: I was required to learn C, C++, discrete math, Perl, and data structure/algorithm design. I chose to take machine language as an elective.<p>What I've learned in industry: The CS foundation I built in college was critical. Although Perl is widely used where I work, languages like R and C are used more often (for my particular projects). I've also learned that my job is to bridge the gap between biologists and computer scientists.<p>Biologists say what they want to get-> Statisticians/Mathematicians think up a procedure -> I make sure the formulas make sense with the subject at hand, program it in Perl or whatever -> CS people optimize it and do their magic to make it run super fast -> checked by everyone to make sure its okay. -> stats analyze and feedback to the biologists.<p>My point being, I always think everyone should learn more math, but the industry has found a way to get around everyone needing to learn everything (jack of all trades master of none) to having experts work together towards a common goal (an oceans 11 type set-up). Everyone has something special to offer. Personally, I think the current set-up is working fine. Although everyone should learn more advanced math (or biologists should learn more CS), not everyone is willing and/or capable.<p>I hope this was helpful.
I'm conflicted about this. A little knowledge can be far more dangerous then no knowledge. I have seen things... things I can't unsee. Things done to software by biology and chemistry Ph.Ds that still give me nightmares.<p>But make no mistake, modern science is neck deep in serious computering. Not being computer literate is almost as bad as being just plain illiterate.<p>So here's what I think about this. Every scientists who's not a physicist, mathematician, or computer scientists needs to study more math, more stat, and more cs.<p>In fact I would go so far as to say everyone needs the equivalent of an associate degree in cs to get a Ph.D. in anything. For mathematicians and physicists this would happen almost without any extra effort, for biologists it might be quite a bit of extra effort, but well worth it.
This article is timely for me, having recently started a new job in bioinformatics. Specifically, building a centralized database (warehouse) for a variety of cancer research study data.<p>I'm coming from the opposite direction - a computer science background to the biology. A huge challenge for me is rapidly learning enough of the biostats and process to understand how to allow researchers to leverage having all this data in one place, easily accessible, and with a front-end that makes "sense" to the those MD/PhD types. A starting point is understanding what type of questions researchers can ask now that they have all the different data in one spot.<p>Fred Brooks said something like "computer scientists are toolsmiths." We build tools for user needs that simplify and strengthen the user's work. This requires the ability to somehow understand the user's needs, communicate with them effectively, and implement usable tools for them.<p>I sometimes feel like it is a failure on our part as builders to make it necessary for people who need software tools to build their own. I'm more than happy for other fields to add more CS type education to their required courses, but I'd rather be able to give researchers tools so that they stay on their critical path, rather than having to learn enough to hack together their own full solution.
This is a bit like the welder and the diver question, is it easier to teach a welder how to dive or a diver how to weld ?<p>For divers and welders the answer appears to be that it is easier to teach welders to dive than the reverse, even if both are far from trivial activities.<p>For biologists and computer scientists the answer is probably that it is easier to teach programmers to do biology than the reverse.<p>(good) Programmers have something universal about the way they apply themselves to problems and that way generalizes to problems in a different domain.
Well, as a reformed biologist and current informatician, I certainly think that biologists should study CS. However, even more important than studying CS, they absolutely NEED to learn how to program. I've seen lab scientists use extremely convoluted and error-prone workflows to conduct their analyses and experiments- workflows that, if they knew just a little bit of Python, would have been much simpler. I'm actually teaching a class in the fall on "utility scripting" to a mix of molecular biology PhD students and informatics master's students for just this reason.<p>Regarding the age-old question of "should biologists learn CS or should CS people learn biology", I'm firmly in the camp of biologists learning to do their own CS, or at least learning enough CS to productively work with CS people. A little bit of CS really goes a long way towards improving a biologist's workflow. A little bit of biology, however, is almost completely useless for a CS person who wants to get involved in lab science. It really takes a surprising amount of domain knowledge to be productive in a laboratory, or even to understand the nitty-gritty details of an experiment at a deep enough level to write or modify an existing bioinformatics tool.
One aspect of the article that I haven't seen much discussion of is the second part- about representing biological processes using an algebraic notation. While this might be really helpful for computational biology, it strikes me as a lousy idea for general work, because it presents an overly reductionist view of what's going on. Biomolecular pathways are almost never as simple as they seem at first, and they always interact in weird and complex ways. Presenting them as a big, gnarly, nasty diagram communicates this to readers... explaining them using nice neat equations makes the whole thing seem both simpler and better-understood than it probably really is.
The article is about computers as "part of biological research". I <i>wish</i> it had been about the real place I want biologists: designing the computer systems themselves.<p>Biological systems have scaling and reliability that we computer scientists only dream about. (Can you name a self-repairing computer system that runs for 80 years?) I want computers with the kind of systems thinking that biological systems have, not just more x86 cores on a single chip.<p>The only biologist I know who switched to designing computer systems is Alan Kay. I think we could do with a few more like him.
short answer, yes. Otherwise how can anything useful or meaning be effectively done with the huge volumes data that biologists now have quite frequently. They should also work on their statistics background to so that they can do more sophisticated model / hypothesis testing, but that's a whole separate issue that gets into the matter of education and community incentives and this is not the appropriate forum for that latter topic.
How about having biologists work side-by-side with experts in data analysis and statistics, rather than requiring the scientists be be experts in all fields?
Useful links for those interested in this crossover:<p>Great Principles of Computing: <a href="http://cs.gmu.edu/cne/pjd/GP/GP-site/welcome.html" rel="nofollow">http://cs.gmu.edu/cne/pjd/GP/GP-site/welcome.html</a><p>90 min talk by Peter Denning about Great Principles: <a href="http://www.youtube.com/watch?v=5a_pO3NYJl0" rel="nofollow">http://www.youtube.com/watch?v=5a_pO3NYJl0</a>