This is very nicely writen, and looks like an extremely useful resource for those interested in entering the bioscience field. I would offer one word of caution, which I think is especially pertinent to those coming from a CS background (and, I should add, not something this book particularly does, as far as I have read).<p>Historically and practically, biology as a field has often represented processes and events in an highly linearized and well defined fashion. This is extremely attractive for a number of reasons. As one key example, we (as humans) remember through narrative, and so the construction of a Rube Goldberg type description of a process is often a useful technique for easy recall of complicated information (&quot;A hits B which winds up C and switches on D <i></i>etc<i></i>...&quot;).<p>The other reason is that many of the experiments would really imply a linear pathway if that were all one look for. There <i></i>is<i></i> often a clear-cut progression of information signals or metabolic intermediates moving from one state to another state through well defined intermediates, such that if that were what you were looking for, you&#x27;d find it.<p>In this representation, many biological processes are highly analogous to computer programs which perform some task - you have an input, and through functional manipulation generate an output.<p>The realty, as has been uncovered in the last 15-20 years, is that most of these processes and events are not linear pathways. They are wildly heterogenous networks that integrate information spanning a range of temporal and spatial scales. The non-equilibrium nature of the cell means that, to a certain extent, everything is coupled to everything else through interactions where the associated coupling coefficients are also dependent on everything else.<p>The reason I bring this up is that I think it&#x27;s very temping to find analogies between CS and biology (DNA = hard drive, RNA = memory etc). The problem with this is that we (again, as humans) implemented the underlying computer architecture, while we&#x27;re only scratching the surface of biological complexity. By prescribing that some mapping of CS-to-biology exists we risk convincing ourselves that we understand the biology better than we do, or making assumptions regarding how the biology may or may not work.<p>Clearly, this kind of description can be used early on, but its important to recognize that these analogies should be viewed as broad-brush stroke descriptors and not functional ones.