# Introduction

Welcome to the Quaternion Institute’s list of learning resources.
Here lies a collection of readily available free online textbooks, articles, courses, etc. as well as physical books.
Resources are sorted by academic field and subject.
Any resources that are not text-based will be labelled as such.
If you are looking for something specific, try the search feature, accessible with the hotkey `s`

.

## How is this Organized?

Each field of study is a chapter in the sidebar, more specific subjects are sections. The chapter page for each field of study contains lists of other resource lists for the topic in case you don’t find what you are looking for. On each subject page, resources are sorted alphabetically by given title.

## What is Included?

### Online Resources

Online resources must be free in their entirety with all learning material freely accessible. Free trials, paid course demos, and anything else that asks for money are not allowed. The only exceptions are websites asking for donations or selling physical materials such as print editions. Ideally resources should not require account creation or email sign-up.

### Physical Resources

Physical materials cost money, books and such on this list are acceptable, though they will be judged with higher standards.
Only high-quality and well-reguarded books will be added when there are many choices.
If a book has a nickname, it’s a safe bet: e.g. “Stewart’s”, “Griffith’s”, “The Dragon Book”.
Books *may not* rely on or refer heavily to restricted-access online materials (no access codes!).
Links should go to the author or publisher’s site instead of a retailer’s when possible.

## How can I Contribute?

See this list on GitLab if you are interested in contributing. If you would like to see something added, let us know or open an issue/merge request on GitLab. For questions, hop on Gitter and ask away.

## How is this Moderated?

Community input is weighed heavily but final decisions will be made by Quaternion Institute staff. Please contact us if you believe something should be removed from the list or would like to discuss a moderation decision.

# Computer Science

The study of computational machinery and algorithmic processes.

## Lists of Resources

- Computer Science
- Free Programming Books
- OSDev.org Book List
- Teach Yourself Computer Science
- The Open Source Computer Science Degree

# Algorithms

## Free Online

**Algorithms, 4th Edition**by Robert Sedgewick) and Kevin Wayne**Algorithms**by Jeff Erickson**Algorithms**by Khan Academy**CMU 15-451 Lecture Notes****CSE373 - Analysis of Algorithms Video Lectures**by Steven Skiena**Fundamentals of Algorithms**

### Supplementary

**Data Structures & Algorithms I Used Working at Tech Companies**by Gergely Orosz**Project Nayuki****The Arcane Algorithm Archive****Visualizing Algorithms**by Mike Bostock

### Practice

## Physical

**Grokking Algorithms**by Adita Bhargava**Introduction to Algorithms**by Thomas Cormen, Charles Leserson, Ronald Rivest, and Clifford Stein**The Algorithm Design Manual**by Steven Skiena

# Compilers

## Free Online

**Assemblers and Loaders**by David Salomon**CS 6120: Advanced Compilers: The Self-Guided Online Course**by Adrian Sampson**Crafting Interpreters**by Bob Nystrom**Stanford Class Notes****UCSD CSE 131: Compilers**by Joe Politz

## Supplementary

## Physical

**Compilers: Principles, Techniques, and Tools***“The Dragon Book”*by Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey Ullman

# Data Structures

## Free Online

**Data Structures****Functional Data Structures**by Prabhakar Ragde**MIT 6.851: Advanced Data Structures**by Erik Demaine

### Supplementary

## Physical

# Operating Systems

## Free Online

**MIT 6.828: Operating System Engineering****MIT 6.S081: Operating System Engineering****OSDev.org****Operating Systems: From 0 to 1**by Tu Do**Operating Systems: Three Easy Pieces***“OSTEP”*by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau**Think OS**by Allen Downey**UI CS 241: Systems Programming**by Lawrence Angrave**UW-M CS 537 Lecture Notes**by Barton Miller

## Physical

**Operating System Concepts***“The Dinosaur Book”*Avi Silberschatz, Peter Galvin, Greg Gagne**Operating Systems: Three Easy Pieces***“OSTEP”*by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau

# Programming

## Free Online

**Learn Vim (the Smart Way)**by Igor Irianto**Learn You a Haskell for Great Good**by Miran Lipovača**Pro Git**by Scott Chacon and Ben Straub**The Rust Programming Language**by Steve Klabnik and Carol Nichols

### Supplementary

## Physical

# Mathematics

The study of numbers and patterns.

## Lists of Resources

- Chicago undergraduate mathematics bibliography
- Open Content Mathematics Curriculum
- Real Not Complex Math Resources

## Learning Advice

# Abstract Algebra

## Free Online

**Abstract Algebra Lectures**by Benedict Gross**Abstract Algebra On Line**by John A. Beachy**Abstract Algebra Videos**by Socratica**Abstract Algebra: Theory and Applications**by Tom Judson

## Physical

# Analysis

## Free Online

**A Primer of Real Analysis**by Dan Sloughter**Basic Analysis I**by Jiří Lebl**Introduction to Real Analysis**by William Trench

## Physical

**A First Course in Real Analysis**by Murray Protter and Charles Morrey**Principles of Mathematical Analysis**by Walter Rudin**Understanding Analysis**by Stephen Abbott

# Calculus

## Free Online

**Calculus**by Gilbert Strang**Calculus**by David Guichard**Essence of Calculus Videos**by Grant Sanderson**Vector Calculus**by Michael Corral

## Physical

# Cryptography

## Free Online

**A Graduate Course in Applied Cryptography**by Dan Boneh and Victor Shoup**Cryptography: An Introduction**by Nigel Smart

## Physical

**An Introduction to Mathematical Cryptography**by Jeffrey Hoffstein, Jill Pipher, and Joseph Silverman**Cryptography Engineering**by Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno

# Differential Equations

## Free Online

**MIT 18.03 Differential Equations****Notes on Diffy Qs: Differential Equations for Engineers**by Jiří Lebl**Paul’s Online Notes****Differential Equations Videos**by Grant Sanderson

## Physical

# Linear Algebra

## Free Online

**Beginning and Intermediate Algebra**by Tyler Wallace**Essence of Linear Algebra Videos**by Grant Sanderson**Interactive Linear Algebra**by Dan Margalit and Joseph Rabinoff**Introduction to Applied Linear Algebra**by Stephen Boyd and Lieven Vandenberghe**Linear Algebra Done Right Lectures**by Sheldon Axler**Linear Algebra Done Wrong**by Sergei Treil**Linear Algebra**by Jim Hefferon**MIT 18.06 Linear Algebra**by Gilbert Strang**immersive linear algebra**by J. Ström, K. Åström and T. Akenine-Möller

## Physical

# Proofs

## Free Online

**Book of Proof**by Richard Hammack**How To Write Proofs**by Larry Cusick**Introduction to mathematical arguments**by Michael Hutchings**Steps to Proving a Theorem**by William Gunther