4 ms·
Hi, I am a university professor in one of Paris universities. I teach programming to both computer scientists and biologists. Fundamentals-first is of course my
by nekonaute 8y ago
Hi, I am a university professor in one of Paris universities. I teach programming to both computer scientists and biologists. Fundamentals-first is of course my choice for CS students.
As for students in biology I will always go tools-first, at least for the first course (which is ~30 hours here). Then for further courses I would go fundamentals.
A lot of students of biology (unfortunately) don't really care about programming, and may consider it as some kind of black magic. Taking them quickly to do things that "works" is essential to break the ice. And this is just what I think the first course is for: to give them the intuition of what programming is.
Then, for a biologist to take a second course of programming (this is not mandatory here) means he/she really wants to learn something, so we can raise up the bar and go fundamentals.
Hope this helps.
- farseer 8y agoThank you for this great teaching insight!
- cimmanom 8y agoI think this is great advice about the psychology of learning. But also wanted to add an anecdote. A friend is getting a degree in a field similar to biology. She and everyone else in her program have been processing their data (for at least the past 5 years) with a script written by the person in the department who is most competent with the programming tools at their disposal. Last week, sanity-checking its output, she discovered a bug in the script that meant that every dataset processed by this program had been deeply flawed. That means dozens, maybe hundreds of studies published based on meaningless data. It might be worthwhile to also introduce a cautionary tale or two and encourage your students to take followup courses that go deeper into programming; learn automated testing; etc, so that they can be confident in the future that the output of their studies is correct.
- veddox 8y agoOh my goodness! :-( Even worse, I heard a very similar story in a science talk only last week. I wonder how many more of these bugs there are out there?
- cimmanom 8y agoA frightening number, I'm sure. Consider the fact that even highly experienced programmers introduce bugs all the time. And that the vast majority of people writing data processing scripts for scientific use are not experienced programmers.
- breckuh 8y agoThis is an anecdote but my guess is a lot. I was a software engineer for a decade and recently transitioned to a bioinformatics job. A cursory look at many of the repos that supplement published papers (even in top journals like Nature), will show you that there are often no tests or type documentation of any kind and quite often you'll find bugs when you use packages with your own datasets. So to the OP I would recommend either teaching fundamentals first or concurrently--but don't skip fundamentals!
- Canadauni 8y agoThis is why the push to open science is so important. Making data sets and code accessible for more in depth peer review should be required. Maybe it is a side effect of our antiquated publishing industry though.
- arandr0x 8y agoTo be clear though -- sometimes (often) this is not due to lack of education. The job of researchers is to produce papers and grants, not working software, and postdocs and grad students are junior researchers, not junior developers. It advances their careers to forgo the time to write tests (or, sigh, manually test other cases than their lab's data). Big labs with large funding where funding sources allow hiring non-research full-time support staff as software engineers, places like the Broad, tend to have slightly better practices. But if you're using a package written by a graduate student.... his job is not to make yours easier. And since he's paid less than the guy who manages your local sandwich shop, maybe it's understandable. There's a problem in science where we don't value scientists. Telling them "the world values software engineering" and turning them into software engineers is only going to make them go into industry faster.
- cuchoi 8y agoAny recommendations for data analysis testing?
- madhadron 8y ago...I don't think there's a good book available on that.
- tsumnia 8y agoI'm curious, what do you consider "fundamentals" for CS and "tools" for bio?