Nov 7th 2016

Nature, in Code: Biology in JavaScript (edX)

Taught by:

Learn JavaScript programming by implementing key biology concepts in code, including natural selection, genetics and epidemics. If you are interested in learning programming, but find pure programming courses not very exciting, this course is for you.

Instead of just learning programming principles outside of any context, you will learn JavaScript programming by implementing key biological concepts in code so they can run in your browser.

If you know a little (or a lot of) programming already, but want to learn more about the rules that govern life without having to pick up a traditional academic textbook, this course will also be of interest to you. You will learn some key ideas that form the basis of modern biology, from population genetics to evolutionary biology to infectious disease spread.

No prior programming knowledge needed.

What you'll learn:

- Basic JavaScript programming

- Key biological concepts that govern life

- How to programmatically implement an idea or concept

- How implementing an idea or concept in code is an efficient way to fully understand it

Course Syllabus

Chapter 1: Introduction

Chapter 2. The Genes, They Are a-Changin’

The Hardy Weinberg Principle

What Does Boring Look Like?

Chapter 3. Genetic Drift: The Power of Chance


The Randomness of Finite Populations

Visualizing Drift

A Mathematical Formulation of Genetic Drift

Effective Population Size

Chapter 4. Mutation: The Power of Mistakes

The Fixation of Mutations

Chapter 5. Migration: Spatial Models

Quantifying Inbreeding

Chapter 6. Natural Selection: The Best Idea Anyone’s Ever Had

Directional Selection

Balancing Selection

Disruptive Selection


Chapter 7. Epidemics: The Spread of Infectious Diseases

The SIR Model

It’s a Small World