HN Academy

The best online courses of Hacker News.

Hacker News Comments on
Principles of Biochemistry

edX · Harvard University · 4 HN comments

HN Academy has aggregated all Hacker News stories and comments that mention edX's "Principles of Biochemistry" from Harvard University.
Course Description

This introduction to biochemistry explores the molecules of life, starting at simple building blocks and culminating in complex metabolism.

HN Academy Rankings
  • Ranked #28 this year (2020) · view
Provider Info
This course is offered by Harvard University on the edX platform.
HN Academy may receive a referral commission when you make purchases on sites after clicking through links on this page. Most courses are available for free with the option to purchase a completion certificate.

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this url.
Jun 07, 2020 · rantwasp on Reminder of Complexity
i independently ran across this when going through:

As someone who is formally trained in computer science I was literally blown away by biochemistry. Once you see that any organism that involved organic chemistry is in fact an insanely complicated, biological computer you cannot unsee it. It's amazing.

In case someone is wondering what the author of the blog post zoomed in, that's the Krebs cycle - ie how we derive energy (ie ATP) from the food we eat ( See: and

Ok as someone who has been programming computers since age five (and currently in the industry) and has a PhD in biochemistry... It's not a computer. If you think of it that way you can wind up in deep trouble with critical nuances. That said, it can be fruitful to treat a small percentage of the systems (my gut says 10%), and exploit their computer-like features for fun and profit.
I'd like to hear more about this.

My understanding is that these things are not Turing complete, and don't resemble Von Neumann machines (or any other architecture we use for computers). But the processes themselves can be understood in terms of computation and/or communication.

Is that wrong? If so, why/how?

Also, could you point out an example or two of the nuances that tend to get people in trouble?

The big one is it's nondeterministic. An obvious example of nondeterminism is the genotype which determines mirror-body, it's caused by a defective cilium. Normally that cilium enforces torquoselectivity -it only rotates in one direction which establishes chiral directionality, but a certain genotype disables its rotation, so the orientation of your body is a factor of random chance based on how your cell was rotating at the single cell level. The mendelian inheritance is basically 50/50 stochastic based on the genotype.

That's a pretty macro example (both at the genotypic ratio and phenotype levels), but it can happen at the micro level, too. You can have grossly nonlinear effects (well actually many effects are O(n^k) in concentration n, where k is the oligomer size, 2->12->20++) and sometimes even the phenotypically important species is like 10%? 1%? 0.1%? 0.01%? of the molecule population. And the proportion of the species could depend on the temperature. Are you running at 35C? 38C? 40C? 42C?

In a reductionistic way you could say that any system that follows logical rules is "like a computer" but I think at that point it ceases to be a meaningful statement.

Computers are great because if you give them an input they can give a deterministic answer (you can also choose to have them not give a deterministic answer, as in ML, and yes sometimes at Google scale you have to deal with cosmic radiation) but the choice is inverted for biological systems. You can try really hard to make biological systems give deterministic answers, and in some systems you don't have to try that hard, especially nowadays, but the default still is "nondeterministic".

technically what we call computers are nondeterministic. it just so happens that the way we model the hardware and feed/extract data gives us predictability. There are a lot of things going on, even in silicon.

as far as biology goes, i can take any control structure you have in code and show you examples of how it’s being done. just because it’s happening at a large scale and it’s hard to predict at a micro level does not mean it’s not a computation and it does not mean it’s non-deterministiv

I see, should I have covered contrapositive of my statement?

technically everything in the universe is nondeterministic but to say "but also computers are nondeterministic" is reductionistic to the point where the categories are meaningless.

It's also not sufficient to say "computation" exists. Well, you could reductionistically describe the orbits of the planets as a very machine that is very good at one computation. So I guess that makes it a computer. The solar system is a computer.

Going beyond the question of determinism, similarly saying you can encode arbitrary computation to an arbitrary degree of determinism (which you can, in biology), is not helpful. This is like pointing to the Game Of Life, and showing that people can build computers in the game of life, and saying that the emergent phenomena are "just like a computer". Well yes, there is a computer underneath, but I think you're probably missing something important if you think the parameter and output spaces of game of life as "just like a computer".

i believe there is a disconnect between “is like a computer” and “is like a computer that i can understand and program”. if you were going for the latter i agree, we are not there yet.

but it you define a computer as something that runs on some sort of code and translates input to output literally everything can be seen as a computer. the more complex something is the more impressive it is.

you should also probably update your profile description since it’s literally confirming what i am saying :)) (ie I've been: A molecular biologist that discovered that an enzyme was secretly an NPN transistor)

An npn transistor is not a computer, and in this case it's literal. The molecule had an negative, a positive, and a negative iron sulfur clusters. However, it most certainly wasn't acting in a logic gate; if anything it's activity functionally was closer to a diode than a transistor, by blocking bulk current flow in one direction but not the other (but, for quantum reasons, it has to be a transistor to do that). There were no data transformations in it's activity.

To wit: I didn't get my job done on that project because I thought of it as a computer, I got it done because having been a curious child who also did computers I happened to know (and remember into adulthood) how computers work at a very low level and was able to make an insight based on that, nothing particularly CSey.

an npn transistor can be regarded as a computer. it's like a digital switch. was there something special that made you think npn or could it have also been a pnp transistor? (ie it was just acting as a transistor)

anyways, we may disagree but you do sound like a fascinating person. molecular biology, CS, elixir. that's a rare but exciting combo. what materials would you recommend for someone who is a rookie but wants to learn more about molecular biology?

It's npn, as I said, because there was a positively charged iron sulfur cluster between two negatively charged iron sulfur clusters. In a row. Like literally it could not be a pnp element. And not all switches are computers. You wouldn't call your wall lightswitch a computer, because in the general case, the current running through it is not meaningfully carrying data.

I don't really recommend 'learning' molecular biology. There really is no substitute for designing a molecular biology experiment, starting with dna synthesis, through cloning, and seeing it through to its biochemical outcome. It's not terribly time consuming, I had an intern that I took through the steps in 3 months, starting from no lab experience he completed 50 mutations on the enzyme, tested half of them, and got a paper out of it.

all switches are computers :) you have an input, a state and an output. if i'm hearing what you're saying correctly, you seem to have a complexity barrier that something must reach to be called a computer. i'm more liberal when it comes to defining a computer.

why don't you recommend learning molecular biology? is it hard to grasp without the practical experiments? what's your thinking behind "i don't recommend it"?

Your comments will hold weight when you start paying your electrician 6 figures.
why not? my electrician is also a computer. a biological one.
This video blew me away:

It's an animation of the bio-chemistry a lymphocyte uses to move between cells (maybe - that's a guess?). It covers what I can only assume is a few milliseconds, it's just a tiny slither of the cells behaviours, yet how much is going on to make that happen is off the charts. I showed in it a club consisting of mostly software engineers, and the universal reaction was "thank god I didn't do bio-chemistry".

> Once you see that any organism that involved organic chemistry is in fact an insanely complicated, biological computer you cannot unsee it. It's amazing.

This blew my mind. In addition to the computer analogy, I think Bio-mechanics is incredibly fascinating. The fact that I can close my eyes and still be able to touch the nose with my index finger repetedly from any starting position of the hand is mind boggling. I cannot fathom the type of inverse-kinematics that is involved in the cerebellum.

hah. technically your brain is a prediction machine and, when you are trying to touch your nose, it’s really good at minimizing the prediction error.
Also you're not just relying on sight, the sense of proprioception is providing constant feedback of your finger's position even with your eyes closed. So it's not an open loop control problem, it's a closed loop, which is much easier.
Well, it very much depends on ones goals and ones context, doesn't it? Which impacts what ones brain pays wants and what it focuses its attention on, and what it filters out no matter how much you attempt to cram it in.

What I found a revelation and a bug eye opener - yes as a (CS degree) programmer - was: medicine, chemistry (and org. chem and bio.chem), biology. From Coursera and When I did this it was all completely free, now they put some restrictions on some courses (Coursera more so than edX), for example that as a non-payer you cannot do all the exercises.

Even when/if the linked courses are over, accessing there content should still be possible. The courses are free, a certificate is not necessary. Some homework or exams may not be available for non-payers.

Best (university level introductory) course for biology:


Physiology: I actually found a lot of lectures on Google better than any of the online courses, start from

Fundamentals of neuro-science: followed by "Medical Neuroscience" on Coursera: -- easily one of the best courses out there

A very simple course combining (very simple, beginner level) programming and (basic) biology: -- what's interesting here for a programmer definitely isn't the Javascript code, but asking biology questions that can be answered with (even simple) code.

Staticstics is a huge part of medicine and biology - plenty of good courses on probability, statistics (all levels) and courses using R or Python, here a random example course:

On so many more levels than I can briefly write down here this "field trip" into bio-sciences felt soooo much better than learning yet another programming language. Let's keep in mind, regardless of C++, Haskell, Javascript, and/or whatever framework, the hardware underneath all of it is all the exact same architecture. Looking at differences between the programming languages now seems to me like looking at a surface that to a naked eye looks completely smooth, but if you zoom in far enough with an electron microscope it looks like a messy mountain area. But when you do that you lose sight of the big(ger) picture. The excourse into (organic and bio-) chemistry and biology helped me get a better sense of where we are, at least it feels that way. The neuroscience helps remaining grounded (and getting more cynical) when reading popular headlines about "neural network" and "AI" and the like.

I've been taking medical and biology related courses for the last five years or so, well over 1000 hours in lecture hours thus far - thanks to the Internet (a counterpoint to the "I Don’t Know How to Waste Time on the Internet Anymore" thread popular on HN right now). I concluded that while I find it all extremely interesting and exciting as far as anatomy, physiology, neuroscience, organic and biochemistry, genetics, statistics (which I had learned - and forgotten - before but now I actually found useful and therefore interesting for the first time), etc., I could never study medicine to become a doctor. All that rote learning!

For a CS graduate, it's like learning everything there is about Oracle 9i. For years. By heart. Not even about databases in general, you learn the basics of course, but then you spend most of your time learning by heart every command and every setting of Oracle 9i.

I'm sure it makes you an efficient doctor within the given system, and when trying to solve some example cases there sure is value in knowing pathways (real ones, e.g. neurological ones - where is the damage if the patient feels this and does not feel any of that?, as well as biochemical ones, but also organizational stuff like various ways invented to categorize broken bones, e.g. Quite frankly, I find most of it a waste of time.

Right now I'm re-taking edX "Principles of Biochemistry" (, and while it's a lot of fun I also feel it's quite a bit of a waste: From part III on it feels more and more useless. The course is done very well, and every bit is interesting, but how - WHY - am I supposed to learn soooo many paths in such great detail? What's the point? If I need it I can always look it up! No wonder that while there are several "Hello I'm new here, excited to start this course" messages in the forum every day there are only a handful of forum messages for the later sections of the course - after many months of running. I suspect >90% of people never get past part 3 (of 5). Because the brain just does not see the point of all this rote learning. If there was a larger project as context, a problem to solve! But just "here learn this" for no other reason than "it's interesting" (so are a trillion other pieces of information!!)... it does not work very well.

Learning needs both a PUSH and a PULL. The teaching is mostly about push(ing knowledge into brains), but where is the pull (reasons other than abstract "you need to know")? Brain have their own ways of detecting actual need, and that comes from having to solve actual problems, not from being told "this is important". And learning millions of facts when you don't need them but know you can always learn them/look them up quickly at any time when you do actually need them is soooo demotivating.

Yeah, totally with you on that. I knew lots of pre-Med majors in college and I could never wrap my head around how someone could enjoy such a masochistic form of learning. But the common thread of successful pre-Med majors is that they get straight A’s and are very successful memorizing everything.

Medicine is basically all rote memorization, from pre-Med to the MCAT. It makes sense to select for doctors who are good at it, because they need to have a quickly queryable, but wide breadth of knowledge in their head at all times.

Personally I’m happy to know that my doctor is able to memorize and collate so much information. But I do worry that the way he learns may also restrict his creativity and problem solving.

Perhaps as AI moves into medicine, doctors won’t need to rely so much on their own memorization, and can focus their efforts on problem solving.

I think you underestimate the role of problem solving skill in medicine. It’s not all rote memorization. A good doctor is good at problem solving and has to have lots of information ready for instant recall.
EDIT/FOLLOW-UP (my edit right just disappeared a minute ago):

Here is a link to example patient cases, which may help to see what kind of knowledge is useful. I was not trying to say it is all useless, when I had to solve sample cases e.g. in Medical Neuroscience (Coursera, huge course, great teacher) it sure helps to know the major pathways, and it would take too much time to have to look them up when the patient is in front of you.

"I could never study medicine to become a doctor. All that rote learning!"

Having taught many med students, I say this attitude would have been a good start towards being a great doctor.

I think medicine, being both a very old, and having a very complex subject, is guilty of a lack of abstraction.

I tend to joke that if a doctor discovered a keyboard he would name it a negra quadrodepressus-hectomatrix. Accurate.. and semantically useless. That's how you name things when you have no clue about it's function.

And medicine likes its superbly tough anatomical projection/cut of internals. Honestly I find it's a miracle how doctors can look at organs in every angle and still find their way (same for radiologists).

Coming from CS with a taste for multistage compilation and the likes, I find no beauty in anatomy.. I need a little more principles and less description.

Technical reasoning in the medical field involves composing many facts together to crystallize into an argument.

It's very useful to be capable to do that quickly if you can recall it off the top of your head, as you'd be able to more fluidly connect the information into the argument without all that task switching overhead from going back to Google every couple minutes.

Let alone the issue of the information needing to be available in the first place! How would you know what you don't know? Wouldn't you be a lot less likely to forget if you memorized?

I find medical textbooks have significantly improved over the years at their capacity for organizing their finds both functionally and hierarchically. But we can't really put these findings in terms of their compiler, the laws of physics; you don't get unity except by association of the lower level facts with their referrers.

Additionally, discovery in the modern medical field cycles from inductive to abductive to deductive reasoning ad nauseam, in particular by associating diseases together from common molecular components. Your brain will be incapable of having these insights spontaneously without having them internally to percolate.

Occasionally I see posts, for example on reddit but also discussions here, about what other programming languages a programmer could learn as the next (and higher) step in ones ongoing education.

My suggestion for what to do after the CS degree, a road I took myself during the last few years, is to go to edX (or Khan Academy for any missing basics) and at the very least take MITs "Introduction to Biology", which actually is an introduction to genetics (when you learn biology you first have to understand cells). Also, neuroscience, for which there are many courses (longest one on Coursera, "Medical Neuroscience", with an excellent teacher), from the basics ( to computational neuroscience (

I found understanding the basics of biology a lot more informative than learning new twists about some functional programming concept. It introduces you to a massively(!) parallel world where statistics rules, and errors/outliers are actually essential to functioning biological systems. You may find that if you remove all errors, for example that a protein is made that is not supposed to be made because it's not supposed to be needed, actually is essential, because only by making it does the cell notice that a different (better) fuel option has become available (that is from a concrete example, see the linked course :-)). So definitely add plenty of statistics courses until you learn to think "big". Each time you think about a problem think about that thing happening a trillion times instead of individual cases, until this becomes a habit. This helped me a lot, because most people focus their mind on single examples, for example when making suggestions how to improve society (hint: suggestions that sure work for anyone, but if everyone tried it would quickly unravel). Okay, in the last two sentences I'm going out on a limb (claiming that learning biology and statistical thinking helped), but definitely try some biology, statistics and neuroscience guys. It's all free and most of it high quality. And the statistics knowledge is just as good for machine learning so you need that anyway.

Also recommended: "Principles of Biochemistry" (, although I would say you should not try to do all the exercises because it will be way too much work (and highly demotivating, looking at how the discussion forum shows how the nr. of students very quickly grows thinner from course section to section) to try to learn all that stuff by heart. Also: "Cell Biology: Mitochondria"( to understand where the power comes from.

Also check out individual universities, some have a lot of free courses (sometimes using the edX platform software, which is open source, e.g. Stanford) hat they don't put on 3rd party platforms like edX.

Would you mind talking about what field or area you work in?

I came from a bioengineering background and ended up doing a lot of computational work (signals and communication systems, ML, FEA), so I feel like we are arriving at the same conclusion from opposite sides.

I studied CS, worked as a consultant and at a major Linux company, later as a freelancer. Learning stuff feels good :-) Even better when it's something I never ever expected to learn, since I thought that after choosing my field of study for university my path was all set. Thanks Internet - possibilities truly have increased by orders of magnitude compared to my youth!
IMHO these courses only scratch the surface, good to learn a thing or two, without much applicability. I am right now searching for a degree path in Biochemistry or Molecular Biology online. I want to spend time on it, but be able to actually apply my knowledge. There are so few of them (maybe because of the lab classes, idk). I've found online degrees in ASU ( and UF (, but they are really expensive. Biology is the future, but unlike the article, I think it will make software obsolete altogether.
Do you by any chance did come across an online course for biochemistry or something similiar? I've wanted now for quite some time to study biology and change my career in that direction, but no relevant degree seems to be designed for remote study.
Look at the "Principles of Biochemistry" course I linked to. Even when OP says "it's scratching the surface", that was in comparison to a complete several years study, that course by itself is extremely involved and pure biochem. It's "only" a single course, but let's wait what you say after unit 3 - because judging by the forum participation, about 99% of people who join that course won't even make it past the 2/3rd mark. So if you can stomach that one course it would be a good sign. I read that about chemistry in general, should be the same for biochem, that if you study in those fields the load is quite extreme.
> IMHO these courses only scratch the surface

Of course - that is what I recommend to programmers and CS majors, working in those jobs, on the side, not as a career path.

But in any case, those are "real" courses, so "scratching the surface" not because they are dumbed down but because those are the freshman courses. Of course year 2+ students will get more advanced courses not usually found on edX (although they have quite advanced topics in physics, for example

As I said, an alternative to learning yet another only mildly different programming language (that runs on the exact same pieces of silicon as the other ones they already know, so it cannot be fundamentally different by definition).

HN Academy is an independent project and is not operated by Y Combinator, Coursera, edX, or any of the universities and other institutions providing courses.
~ [email protected]
;laksdfhjdhksalkfj more things ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.