Core Biological concepts explained to a Computer Scientist?
Evolution


Evolution is the accumulation of genetic mutations that results in phenotypic variation (physical characteristics) where surviving variations are more suited to the environment the organism lives in, thus allowing it to survive better and -- critically -- reproduce as-good-as or better-than its competing organisms.

In terms of computer science this would be like a starting with basic CPU design with all the absolute necessities. Now, let's pretend every generation of CPU after your first is going to be randomly designed by something called "Pressure OS". Pressure OS doesn't care if the CPUs it designs match the needs of the consumer. PrOS is unfeeling. An OS of pure logic. ALL it will do is make a bunch of random ones, note which ones sell the best, and make the best-selling ones to be the template for its next round of random designs.


  Selection and Variation


Selection is the process by which environmental pressures (low moisture, high heat, high altitude, available food, extreme pressures at the bottom of oceanic trenches, etc.) dictate how well each successive generation of organisms survive.

In our analogy, the Pressure OS is the cause of Selection. Some CPU designs aren't going to meet the needs of consumers (first-gen Atoms which could barely operate a toaster). Those ones won't be produced again. Others will be very successful (like the Pentium-4 Series which lasted for years) and will quickly outnumber the inferior ones.

Some designs, as odd as they are, will find success in areas outside enthusiast desktops or workstations. Like ARM designs which were never part of the desktop market, but found lots of success in phones and business devices.

Market requirements/environments, as met by the random variations produced by Pressure OS, created Variation in the types of CPUs available.

ARM Snapdragons could never, ever compete in the desktop enthusiast market. That's the realm of Sandy Bridges, Haswells, Semprons, and Phenoms. Then again, they're dramatically different designs -- which stem from common designs decades ago that have been heavily modified over the years -- that don't need to compete. Snapdragons and Semprons can co-exist because they fill different niches.

Now, when consumer needs change again -- if everybody gets tired of mobile phones, tablets, and desktops in favor of cone-shaped personal assistants which go in your ear -- then designs will change again under that new pressure. Eventually CPU one design will become the standard for that particular piece of hardware, and you could say that CPU variation had evolved to get there via selective pressure from consumers.

Biology operates in the exact same way, except the selection process is instigated by environmental pressures to produce organism variations that can successfully reproduce. It's also been going on for >3 Billion Years.