An NKS High School Curriculum

Table of Contents


Objectives: Core Lessons

Core Lessons

Objectives: Advanced Lessons

Advanced Lessons

NKS Glossary


Introduction To Teachers

Objectives: Core Lessons



Teaching NKS should be simple.  Not only is the material accessible, but it is also engaging on several different levels.  Even young children starting school can do the basic experiments.  Older kids studying simple rules can learn to think rigorously and critically, as well as take on challenging problems.

I will survey an alpha version of the educational materials that we at Wolfram Research have been making to introduce NKS.  There will be a core two-week course geared towards high school students, which could also be used at the college level.  There will also be a set of lessons which can lead to more open-ended instruction, treating some material more deeply or posing challenging problems. In addition, we will make lessons geared to the elementary and middle school levels.

I will also talk about the process of learning about NKS, which is related to making original NKS discoveries.  The science of NKS has some things to say about learning and knowledge, at least in the context of studying simple programs.

There are definite phases of understanding, and we are concentrating on the introductory levels with these materials.  We hope that these materials will be easily understood by teachers, and that they will find them flexible enough to fit in with their own style and philosophy of teaching.


Developing comfort with digital information and simple programs

Developing comfort with use of computer.

Understanding use of "simple" and "complex",  for rules, and for behaviors

Know ECA

Develop basic NKS observations and intuition

Searching simple programs as a tool or to find interesting behavior

Collect facts about ECA

Understanding use of "simple" and "complex",  for rules, and for behaviors

Core Lessons


[10 Lessons approximately 2 weeks]

NKS Basics

Introduction To Digital Information

Unary Functions

Boolean Operators

Introduction to Elementary Cellular Automaton : Rule 250

Introduction to Elementary Cellular Automaton: Rule 90

Introduction to Elementary Cellular Automata: Enumerate Rules

Introduction to Elementary Cellular Automata: Enumerate Behaviors

Introduction to the Concept of Irreducibility : Rule 30

Introduction to the Concept of Universality : Rule 110

Introduction to the Principle of Computational Equivalence

Objectives: Advanced Lessons


[Possibly in the core lessons, or better phrased, not necessarily in the core lessons]



Learn preMathematica Skills

Learn (or discover) analysis tools for finding properties of behaviors

Introduce information theory

Introduce NKS modeling

Learn other simple rule systems

Apply NKS Way of thinking

Advanced Lessons




Binary Arithmetic: Advanced

Introduction to Reducibility: Arithmetic

Advanced Enumeration I

Investigating Rule 250

Colliding Structures: Rule 250

Difference Pattern: Rule 250

Advanced ECA: Rule 250

Reducibility: Rule 250 - Part I

Reducibility: Rule 250 - Part II

Investigating Rule 90

Reducibility: Rule 90 - Part I

Reducibility: Rule 90 - Part II

Additivity: Rule 90

Generalized Additivity: Rule 250

Introduction to Probability: Rule 30

Emulation: Rule 90

Other Systems

Introduction to Turing Machines

Interesting Behavior in Turing Machines

Register Machines

NKS Glossary


NKS Glossary

Program Outline
Photo Scrapbook

NKS 2007
NKS 2006
NKS 2003