/(& *@@@@ @@@@@@@. ,@@@@@@@@@@. @@@@@@@@@@@@@ (@@@@@& .@@@@@@@ @@@@@% @@@@@@@ @@@@@( @@@@@@@, @@@@@. @@@@@@@@ @@@@@ #@@@@@@@@ @@@@& .@@@@@@@@@ @@@@. *@@@@@@( @@@@@@@@@@ @@@@ &@@@@@@@@@@@@@@@@@@, .@@@@@@@@@@# *@@@. ./&@@@@@@@@@@@@@@( *@@@@@@@@@@@@&, &@@% @@@@@@@@@@ %@@@@@@@@@@@@@@&. @@ @@@@@@ %@@@@@@@@@@@@@@@ ,& &@@@@@ .. & *@@@@@ .*/, @@@@@@@@@@@@@@@ #@@@@@@@@@@@@@@@@@@@%* #@@@@/ @@@% @@@. ,@@@ @@@% @@@@ @@@ .%@@@&* ,&@@@@* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@% ,@@@@@@@@@@@@@@@@@@@@@@/, ,&@@@@@@@@@@ (@@@@@@%, __________ _ _ ______ ______ _ ___ ____ _____ ____ ___ _ |__ / ____| \ | |/ ___\ \ / / ___| | / _ \| _ \| ____| _ \_ _\ / \ / /| _| | \| | | \ V / | | | | | | | |_) | _| | | | | | / _ \ / /_| |___| |\ | |___ | || |___| |__| |_| | __/| |___| |_| | | / ___ \ /____|_____|_| \_|\____| |_| \____|_____\___/|_| |_____|____/___/_/ \_\ /___________________________________________________________________________\

In my time on the Internet, I've come across several instructional websites that are extremely straightforward in their presentation of material, and often maintain a sense of humor and self-awareness throughout. These tutorials, while usually isolated works, have proven invaluable to me.

Additionally, I've observed that for most topics there are few, if any, guides that facilitate first-principles approaches to learning.

Finally, there is not, as far as I know, a comprehensive guide to learning just about anything using freely available resources.

To that end, I present the Zencyclopedia, a categorized list of resources to assist in the learning of any subject from first principles. The name is a portmanteau of the Japanese word 全 (pronounced "zen"), meaning "all" or "everything," and the English word "encyclopedia."

The versioning of this document is handled using Git.

I expect there to be an initial skew towards fields I am familiar with or particularly interested in, but hopefully, with community effort, that bias can be corrected.

Sid Mani

admin@zencyclopedia.org

Contributions are handled via pull requests to the Github repository.

The Zencyclopedia is released under the terms of the CC BY-NC-SA 4.0 license.

PurpleKecleon's Introduction to Color
Theory

An introduction to the fundamentals of color theory, using Pokémon.

An introduction to the fundamentals of color theory, using Pokémon.

Draw A Box

A set of drawing lessons that begins with simple boxes and progresses to more complex objects such as vehicles, animals, and other everyday objects.

A set of drawing lessons that begins with simple boxes and progresses to more complex objects such as vehicles, animals, and other everyday objects.

Ctrl+Paint video

"A free learning resource dedicated to the basics of digital painting. Each bite-sized video covers a different concept, allowing you to learn complex subjects in manageable increments."

"A free learning resource dedicated to the basics of digital painting. Each bite-sized video covers a different concept, allowing you to learn complex subjects in manageable increments."

The Bastards Book of Photography

"Learn how to move past depending on your camera’s automatic mode and onto operating its manual settings."

"Learn how to move past depending on your camera’s automatic mode and onto operating its manual settings."

Concise Electronics for Geeks

"An anatomically correct insight into the underlying physical phenomena needed to accurately understand the behavior of semiconductors, capacitors, or inductors - but far more readable and way shorter than a typical academic textbook."

"An anatomically correct insight into the underlying physical phenomena needed to accurately understand the behavior of semiconductors, capacitors, or inductors - but far more readable and way shorter than a typical academic textbook."

All About Circuits

A series of books covering the basics of electricity through semiconductors and digital logic.

A series of books covering the basics of electricity through semiconductors and digital logic.

Build an 8-bit Computer from Scratch video

Learn to build a programmable 8-bit computer from logic gates.

Learn to build a programmable 8-bit computer from logic gates.

Nand2Tetris

"A course and a textbook that guides students and self-learners through the construction of a modern, full-scale computer system - hardware and software - from the ground up."

"A course and a textbook that guides students and self-learners through the construction of a modern, full-scale computer system - hardware and software - from the ground up."

AlgoXY open-source

"An open book about elementary algorithms and data structures. This book doesn't only focus on an imperative (or procedural) approach, but also includes purely functional algorithms and data structures."

"An open book about elementary algorithms and data structures. This book doesn't only focus on an imperative (or procedural) approach, but also includes purely functional algorithms and data structures."

Operating Systems: From 0 to 1 open-source

"Helps you gain the foundational knowledge required to write an operating system from scratch."

"Helps you gain the foundational knowledge required to write an operating system from scratch."

Linux Journey open-source

A guide to Linux, starting with terms and definitions and progressing through various topics such as processes, the filesystem, and networking.

A guide to Linux, starting with terms and definitions and progressing through various topics such as processes, the filesystem, and networking.

Ten Steps to Linux
Survival

A guide to Bash in the context of Linux, covering the operation of the shell, useful commands, and some history.

A guide to Bash in the context of Linux, covering the operation of the shell, useful commands, and some history.

Learn Enough Command Line to Be
Dangerous

"An introduction to the command line for complete beginners."

"An introduction to the command line for complete beginners."

20 Things I Learned About Browsers and the
Web

"A short guide for anyone who’s curious about the basics of browsers and the web."

"A short guide for anyone who’s curious about the basics of browsers and the web."

Hello DNS open-source

"This series of documents attempts to provide a correct introduction to the Domain Name System as of 2018. The original RFCs remain the authoritative source of normative text, but this document tries to make this venerable protocol more accessible, while maintaining full alignment with all relevant and useful RFCs."

"This series of documents attempts to provide a correct introduction to the Domain Name System as of 2018. The original RFCs remain the authoritative source of normative text, but this document tries to make this venerable protocol more accessible, while maintaining full alignment with all relevant and useful RFCs."

Dive Into HTML5 open-source

"Seeks to elaborate on a hand-picked Selection of features from the HTML5 specification and other fine Standards."

"Seeks to elaborate on a hand-picked Selection of features from the HTML5 specification and other fine Standards."

Learn Enough Git to be
Dangerous

A Git tutorial for those who are complete beginners to the concept of version control.

A Git tutorial for those who are complete beginners to the concept of version control.

Git in the Trenches open-source

"A book designed to help you both apply and understand the subtleties of Git."

"A book designed to help you both apply and understand the subtleties of Git."

Think Like (a) Git

"A simple strategy for safely experimenting with some of the features that make Git so insanely, awesomely useful. You should know how to create a repository, add and commit files to it, and you should probably have some idea of why you might want to use a branch."

"A simple strategy for safely experimenting with some of the features that make Git so insanely, awesomely useful. You should know how to create a repository, add and commit files to it, and you should probably have some idea of why you might want to use a branch."

Crafting Interpreters

"This book contains everything you need to implement a full-featured, efficient scripting language."

"This book contains everything you need to implement a full-featured, efficient scripting language."

The C Book

"Designed for programmers who already have some experience of using a modern high-level procedural programming language. The book will assume that its readers have already done battle with the notions of statements, variables, conditional execution, arrays, procedures (or subroutines) and so on."

"Designed for programmers who already have some experience of using a modern high-level procedural programming language. The book will assume that its readers have already done battle with the notions of statements, variables, conditional execution, arrays, procedures (or subroutines) and so on."

wizard code

"Discusses the C language in depth from a low-level programmer's perspective. You will get familiar with how Unix-like systems execute code, how C code is translated to assembly (and later, trivially, to machine language), and such advanced topics."

"Discusses the C language in depth from a low-level programmer's perspective. You will get familiar with how Unix-like systems execute code, how C code is translated to assembly (and later, trivially, to machine language), and such advanced topics."

Learn You Some Erlang

"A way to learn Erlang for people who have basic knowledge of programming in imperative languages (such as C/C++, Java, Python, Ruby, etc) and may or may not know functional programming."

"A way to learn Erlang for people who have basic knowledge of programming in imperative languages (such as C/C++, Java, Python, Ruby, etc) and may or may not know functional programming."

Learn You A Haskell

A tutorial for the Haskell language aimed at those with some prior programming experience.

A tutorial for the Haskell language aimed at those with some prior programming experience.

Eloquent Javascript

An online book that introduces the principles of programming through Javascript.

An online book that introduces the principles of programming through Javascript.

Javascript Garden open-source

"A growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language."

"A growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language."

Automate the Boring Stuff with
Python

"Learn how to use Python to write programs that do in minutes what would take you hours to do by hand - no prior programming experience required."

"Learn how to use Python to write programs that do in minutes what would take you hours to do by hand - no prior programming experience required."

R for Data Science

"This book will teach you how to do data science with R: You’ll learn how to get your data into R, get it into the most useful structure, transform it, visualise it and model it."

"This book will teach you how to do data science with R: You’ll learn how to get your data into R, get it into the most useful structure, transform it, visualise it and model it."

SQLBolt interactive

"A series of interactive lessons and exercises designed to help you quickly learn SQL right in your browser."

"A series of interactive lessons and exercises designed to help you quickly learn SQL right in your browser."

Crypto101 open-source

"Comes with everything you need to understand complete systems such as SSL/TLS: block ciphers, stream ciphers, hash functions, message authentication codes, public key encryption, key agreement protocols, and signature algorithms."

"Comes with everything you need to understand complete systems such as SSL/TLS: block ciphers, stream ciphers, hash functions, message authentication codes, public key encryption, key agreement protocols, and signature algorithms."

Deep Learning

"A resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular."

"A resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular."

Tae Kim's Guide to Japanese
Grammar

"A resource for those who want to learn Japanese grammar in a rational, intuitive way that makes sense in Japanese. The explanations are focused on how to make sense of the grammar not from English but from a Japanese point of view."

"A resource for those who want to learn Japanese grammar in a rational, intuitive way that makes sense in Japanese. The explanations are focused on how to make sense of the grammar not from English but from a Japanese point of view."

An Introduction to Japanese Syntax, Grammar, and
Language open-source

"This book explains Japanese the way one may find it taught at universities, covering everything from basic to intermediary Japanese, and even touching on some of the more advanced constructions."

"This book explains Japanese the way one may find it taught at universities, covering everything from basic to intermediary Japanese, and even touching on some of the more advanced constructions."

Pre-algebra (OpenStax) textbook

"Introduces the fundamental concepts of algebra while addressing the needs of students with diverse backgrounds and learning styles."

"Introduces the fundamental concepts of algebra while addressing the needs of students with diverse backgrounds and learning styles."

Beginning and Intermediate
Algebra textbook

A standard introduction to algebra, beginning with a review of pre-algebra.

A standard introduction to algebra, beginning with a review of pre-algebra.

College Algebra
(OpenStax) textbook

"A comprehensive exploration of algebraic principles; meets scope and sequence requirements for a typical introductory algebra course."

"A comprehensive exploration of algebraic principles; meets scope and sequence requirements for a typical introductory algebra course."

Dave's Short Trig Course

An introduction to trigonometry that assumes knowledge of algebra and geometry.

An introduction to trigonometry that assumes knowledge of algebra and geometry.

Trigonometry textbook

"A text on elementary trigonometry, designed for students who have completed courses in high-school algebra and geometry."

"A text on elementary trigonometry, designed for students who have completed courses in high-school algebra and geometry."

Euclid's Elements Redux textbook

"An open textbook on mathematical logic and geometry based on Euclid's 'Elements'."

"An open textbook on mathematical logic and geometry based on Euclid's 'Elements'."

Euclidean plane and its
relatives open-source textbook

"Designed for a semester-long course in Foundations of Geometry and meant to be rigorous, conservative, elementary and minimalist."

"Designed for a semester-long course in Foundations of Geometry and meant to be rigorous, conservative, elementary and minimalist."

Precalculus open-source textbook

"Presented at a level that definitely prepares a student for Calculus while giving them relevant Mathematics which can be used in other classes as well."

"Presented at a level that definitely prepares a student for Calculus while giving them relevant Mathematics which can be used in other classes as well."

mooculus textbook

"A first and friendly introduction to calculus, suitable for someone who has never seen the subject before, or for someone who has seen some calculus but wants to review the concepts and practice applying those concepts to solve problems. "

"A first and friendly introduction to calculus, suitable for someone who has never seen the subject before, or for someone who has seen some calculus but wants to review the concepts and practice applying those concepts to solve problems. "

Fundamentals of Calculus open-source textbook

"Covers the first semester of a freshman calculus course."

"Covers the first semester of a freshman calculus course."

Yet Another Calculus Textbook textbook

"An introduction to calculus based on the hyperreal number system. Although the book does not explicitly assume any prerequisites beyond basic algebra and trigonometry, in practice the pace is too fast for most of those without some acquaintance with the basic notions of calculus."

"An introduction to calculus based on the hyperreal number system. Although the book does not explicitly assume any prerequisites beyond basic algebra and trigonometry, in practice the pace is too fast for most of those without some acquaintance with the basic notions of calculus."

Diffy Qs: Differential Equations for
Engineers open-source textbook

"A one-semester first course on differential equations, aimed at engineering students. Prerequisite for the course is the basic calculus sequence."

"A one-semester first course on differential equations, aimed at engineering students. Prerequisite for the course is the basic calculus sequence."

Linear Algebra Done
Wrong textbook

"A first linear algebra course for mathematically advanced students. It is intended for a student who, while not yet very familiar with abstract reasoning, is willing to study more rigorous mathematics than is presented in a 'cookbook style' calculus type course."

"A first linear algebra course for mathematically advanced students. It is intended for a student who, while not yet very familiar with abstract reasoning, is willing to study more rigorous mathematics than is presented in a 'cookbook style' calculus type course."

Elements of Abstract and Linear
Algebra textbook

"A survey of abstract algebra with emphasis on linear algebra. It is intended for students in mathematics, computer science, and the physical sciences."

"A survey of abstract algebra with emphasis on linear algebra. It is intended for students in mathematics, computer science, and the physical sciences."

A Gentle Introduction to the Art of
Mathematics open-source textbook

"Covers several topics in the foundations of mathematics (logic, sets, relations, functions and cardinality) and introduces the reader to many techniques of mathematical proof (direct, indirect, contradiction, contrapositive, mathematical induction, combinatorial proofs and magic)."

"Covers several topics in the foundations of mathematics (logic, sets, relations, functions and cardinality) and introduces the reader to many techniques of mathematical proof (direct, indirect, contradiction, contrapositive, mathematical induction, combinatorial proofs and magic)."

Book of Proof textbook

"Learn and apply the methods of thought that mathematicians use to verify theorems, explore mathematical truth and create new mathematical theories."

"Learn and apply the methods of thought that mathematicians use to verify theorems, explore mathematical truth and create new mathematical theories."

How to become a GOOD Theoretical
Physicist

A guide to learning physics from the ground up by Nobel laureate Gerard 't Hooft.

A guide to learning physics from the ground up by Nobel laureate Gerard 't Hooft.

Mechanics open-source textbook

"A calculus-based book meant for the first semester of the type of freshman survey course taken by engineering and physical science majors."

"A calculus-based book meant for the first semester of the type of freshman survey course taken by engineering and physical science majors."

Special Relativity open-source textbook

"A textbook on special relativity, aimed at undergraduates who have already completed a freshman survey course. The treatment of electromagnetism assumes previous exposure to Maxwell's equations in integral form, but no knowledge of vector calculus."

"A textbook on special relativity, aimed at undergraduates who have already completed a freshman survey course. The treatment of electromagnetism assumes previous exposure to Maxwell's equations in integral form, but no knowledge of vector calculus."

General Relativity open-source textbook

"A textbook on general relativity for upper-division undergraduates majoring in physics. Meant to be especially well adapted for self-study, and answers are given in the back of the book for almost all the problems."

"A textbook on general relativity for upper-division undergraduates majoring in physics. Meant to be especially well adapted for self-study, and answers are given in the back of the book for almost all the problems."

Medtinker

"First-principle approaches to medical sciences. Learn how medicine affects our day to day lives from the micro to the macro."

"First-principle approaches to medical sciences. Learn how medicine affects our day to day lives from the micro to the macro."