With the semester wrapping up, I feel my status as a teaching assistant for a computational modeling course compels me to address something that we’ve encountered off and on the past several months. I’ll let Condescending Wonka introduce it.
He doesn’t mince words, does he? But it nails the point I want to address: if you have no prior programming experience, why are you 1) taking a course that demands prior programming experience, and 2) complaining about the programming assignments?
To be perfectly blunt: computational biology as a field attracts a very broad swath of folks. Since it’s still to a large degree in its infancy, we have people from experimental biology and chemical engineering and computer science, all with their own wholly distinct backgrounds and experience; it’s not trivial to bring them all onto the same playing field.
We recognize this in our particular program, and thus we plan for it. Obviously there’s still some who fall through the cracks and that’s ok; those who are particularly lacking in one area were likely admitted because of their outstanding work in some other area, and thus we can shift coursework around so they still get up to speed with everyone else.
Ok, truthfully, the problem isn’t even our program. By a vast margin, the students in our Ph.D. program did perfectly fine in the course. The problem was–also by a wide margin–the M.S. students (not directly affiliated with our program) who also enrolled.
In short, my litany of problems:
- We devoted an entire lab session–the very first of the semester–to showing the students how to implement ODE solvers in both Matlab and Python. Solving ODEs was 95% of the coding needed for this course.At the end of the semester, I still had more than just a handful of students asking me basic ODE-coding questions. And not simple one-line-of-code questions, but holy-crap-I-have-no-clue-what-to-do questions.
- During our final exam review today (not reviewing for the exam, but going over the now-graded final), several students voiced their complaints that the final was too long. Which is totally fair: it absolutely was. But more than a handful said they were stuck for hours googling for the magical two lines of Matlab code they needed to solve one of the questions. If that is the case–you don’t know the code, and you don’t even know what you’re looking for–you should not be taking a course that involves programming.
- At the end of the day, I keep coming back to this mantra: it’s a computational course; if you have absolutely no ability to program, either learn before taking the course or find something else. We went out of our way to teach the coding you’d need for the course, posting the examples on the site for all to use as reference, and showing you where the online (and in-program) documentation could be found, even though programming is a prerequisite for the course.
If you want to take the plunge and see if you’re adaptable enough to survive without very much prior programming experience, that’s totally fine! But in my opinion, by doing so you waive your right to complain about having to do some programming. Particularly when we give you everything you need to know. And particularly when the course is a core requirement of a computational Ph.D. program.
End rant. Begin really freaking hilarious picture on icanhascheezburger today: