Skip to content
Core Text
Menu Toggle
Chapter 0: Ancient Greek Math and the Foundations of Computational Thinking
Menu Toggle
Introduction: Two 2,300 Year Old Problems
Algorithms and Greatest Common Divisors
A Painless Intro to Pseudocode and Control Flow
Loops and the Trivial GCD Algorithm
Euclid’s Insight Leads to the World’s First Nontrivial Algorithm
Eratosthenes, Primes, and the World’s Second Nontrivial Algorithm
Epilogue: Efficient Prime Finding Algorithms Are Central to Modern Computing
Chapter 0 Exercises: Fun with Integers
Chapter 1: Hunting for Hidden Messages in Bacterial Genomes Using String Algorithms
Menu Toggle
Introduction: The Most Beautiful Experiment in Biology
Two Problems Related to Bacterial Replication
Hidden Messages in the Replication Origin
An Explosion of Hidden Messages
A Surprising Pattern, and Some Gritty Details about DNA Replication
Epilogue: Some Hidden Messages are More Elusive than Others
Chapter 1 Exercises: Working with Strings
Chapter 2: Forecasting a Presidential Election with Monte Carlo Simulation
Menu Toggle
Introduction: Polls and the 2016 US Presidential Election
The US Presidential Election, Monte Carlo Simulation, and Craps
Pitfalls of (Pseudo)Random Number Generation
Rolling Dice and Completing our Craps Simulator
Simulating a Presidential Election
Epilogue: A Reflection on the Nature of Election Forecasting
Chapter 3: Discovering a Self-Replicating Automaton with Top-Down Programming
Menu Toggle
Introduction: Self-Replicating Machines and the Fermi Paradox
The Game of Life
A Brief Reintroduction to Top-Down Programming
Top-Down Programming Meets the Game of Life
Toward a Self-Replicating Cellular Automaton
Epilogue: Langton’s Loops and Artificial Life
Chapter 3 Exercises: The Gray-Scott Model and Turing Patterns
Even more in ’24!
Code Alongs
Menu Toggle
Chapter 0 Go Code Alongs
Menu Toggle
Installing Go and Writing Our First Program
Types and Numeric Variables
Functions
Conditionals
While Loops
For Loops
Implementing GCD Algorithms
Arrays and Slices
Implementing Prime Finding Algorithms
Chapter 1 Go Code Alongs
Menu Toggle
An Introduction to Strings
Substrings and Subslices
Maps
Finding Frequent Words
Finding Clumps
Building a Skew Array
Chapter 2 Go Code Alongs
Menu Toggle
Generating “Random” Numbers and Rolling Dice
Simulating Craps with Monte Carlo Simulation
Parsing Election Polling Data from Files
Simulating an Election from Polling Data
Chapter 3 Go Code-Alongs (Coming in March!)
Manifesto
Thanks
Contact
Search for:
Search
Search
Core Text
Menu Toggle
Chapter 0: Ancient Greek Math and the Foundations of Computational Thinking
Menu Toggle
Introduction: Two 2,300 Year Old Problems
Algorithms and Greatest Common Divisors
A Painless Intro to Pseudocode and Control Flow
Loops and the Trivial GCD Algorithm
Euclid’s Insight Leads to the World’s First Nontrivial Algorithm
Eratosthenes, Primes, and the World’s Second Nontrivial Algorithm
Epilogue: Efficient Prime Finding Algorithms Are Central to Modern Computing
Chapter 0 Exercises: Fun with Integers
Chapter 1: Hunting for Hidden Messages in Bacterial Genomes Using String Algorithms
Menu Toggle
Introduction: The Most Beautiful Experiment in Biology
Two Problems Related to Bacterial Replication
Hidden Messages in the Replication Origin
An Explosion of Hidden Messages
A Surprising Pattern, and Some Gritty Details about DNA Replication
Epilogue: Some Hidden Messages are More Elusive than Others
Chapter 1 Exercises: Working with Strings
Chapter 2: Forecasting a Presidential Election with Monte Carlo Simulation
Menu Toggle
Introduction: Polls and the 2016 US Presidential Election
The US Presidential Election, Monte Carlo Simulation, and Craps
Pitfalls of (Pseudo)Random Number Generation
Rolling Dice and Completing our Craps Simulator
Simulating a Presidential Election
Epilogue: A Reflection on the Nature of Election Forecasting
Chapter 3: Discovering a Self-Replicating Automaton with Top-Down Programming
Menu Toggle
Introduction: Self-Replicating Machines and the Fermi Paradox
The Game of Life
A Brief Reintroduction to Top-Down Programming
Top-Down Programming Meets the Game of Life
Toward a Self-Replicating Cellular Automaton
Epilogue: Langton’s Loops and Artificial Life
Chapter 3 Exercises: The Gray-Scott Model and Turing Patterns
Even more in ’24!
Code Alongs
Menu Toggle
Chapter 0 Go Code Alongs
Menu Toggle
Installing Go and Writing Our First Program
Types and Numeric Variables
Functions
Conditionals
While Loops
For Loops
Implementing GCD Algorithms
Arrays and Slices
Implementing Prime Finding Algorithms
Chapter 1 Go Code Alongs
Menu Toggle
An Introduction to Strings
Substrings and Subslices
Maps
Finding Frequent Words
Finding Clumps
Building a Skew Array
Chapter 2 Go Code Alongs
Menu Toggle
Generating “Random” Numbers and Rolling Dice
Simulating Craps with Monte Carlo Simulation
Parsing Election Polling Data from Files
Simulating an Election from Polling Data
Chapter 3 Go Code-Alongs (Coming in March!)
Manifesto
Thanks
Contact
Main Menu
Core Text
Menu Toggle
Chapter 0: Ancient Greek Math and the Foundations of Computational Thinking
Menu Toggle
Introduction: Two 2,300 Year Old Problems
Algorithms and Greatest Common Divisors
A Painless Intro to Pseudocode and Control Flow
Loops and the Trivial GCD Algorithm
Euclid’s Insight Leads to the World’s First Nontrivial Algorithm
Eratosthenes, Primes, and the World’s Second Nontrivial Algorithm
Epilogue: Efficient Prime Finding Algorithms Are Central to Modern Computing
Chapter 0 Exercises: Fun with Integers
Chapter 1: Hunting for Hidden Messages in Bacterial Genomes Using String Algorithms
Menu Toggle
Introduction: The Most Beautiful Experiment in Biology
Two Problems Related to Bacterial Replication
Hidden Messages in the Replication Origin
An Explosion of Hidden Messages
A Surprising Pattern, and Some Gritty Details about DNA Replication
Epilogue: Some Hidden Messages are More Elusive than Others
Chapter 1 Exercises: Working with Strings
Chapter 2: Forecasting a Presidential Election with Monte Carlo Simulation
Menu Toggle
Introduction: Polls and the 2016 US Presidential Election
The US Presidential Election, Monte Carlo Simulation, and Craps
Pitfalls of (Pseudo)Random Number Generation
Rolling Dice and Completing our Craps Simulator
Simulating a Presidential Election
Epilogue: A Reflection on the Nature of Election Forecasting
Chapter 3: Discovering a Self-Replicating Automaton with Top-Down Programming
Menu Toggle
Introduction: Self-Replicating Machines and the Fermi Paradox
The Game of Life
A Brief Reintroduction to Top-Down Programming
Top-Down Programming Meets the Game of Life
Toward a Self-Replicating Cellular Automaton
Epilogue: Langton’s Loops and Artificial Life
Chapter 3 Exercises: The Gray-Scott Model and Turing Patterns
Even more in ’24!
Code Alongs
Menu Toggle
Chapter 0 Go Code Alongs
Menu Toggle
Installing Go and Writing Our First Program
Types and Numeric Variables
Functions
Conditionals
While Loops
For Loops
Implementing GCD Algorithms
Arrays and Slices
Implementing Prime Finding Algorithms
Chapter 1 Go Code Alongs
Menu Toggle
An Introduction to Strings
Substrings and Subslices
Maps
Finding Frequent Words
Finding Clumps
Building a Skew Array
Chapter 2 Go Code Alongs
Menu Toggle
Generating “Random” Numbers and Rolling Dice
Simulating Craps with Monte Carlo Simulation
Parsing Election Polling Data from Files
Simulating an Election from Polling Data
Chapter 3 Go Code-Alongs (Coming in March!)
Manifesto
Thanks
Contact
This page doesn't seem to exist.
It looks like the link pointing here was faulty. Maybe try searching?
Search for:
Search
Love P4❤️? Join us and help share our journey!