Skip to content

Latest commit

 

History

History
173 lines (121 loc) · 4.23 KB

bookshelf.md

File metadata and controls

173 lines (121 loc) · 4.23 KB
layout title
page
must read

must read

you must read these books.

The Little Schemer

By Daniel P. Friedman and Matthias Felleisen

This book is an introduction into the world of Lisp. It teaches you to think in terms of recursion.

Just some of the things it contains:

  • Building on top of primitives
  • Functions: the essence of abstraction
  • Approaching computation from a functional perspective
  • Termination
  • Applicative-order Y combinator
  • Meta-circular evaluator

Get it

Sequels: The Seasoned Schemer, The Reasoned Schemer


The C Programming Language

By Brian Kernighan and Dennis Ritchie

Essential to understanding how most modern programming languages work under the hood.

Introduction to basic algorithms and data structures:

  • Linked list
  • Hash table
  • Sorting algorithms
  • Recursive descent parser
  • Binary search tree
  • Virtual stack machine

Get it


Understanding Computation

By Tom Stuart

Fundamental understanding of what computation is at its core. Computer science topics explained in a very approachable way, through implementing various simple machines in very few lines of ruby code.

Just a rough sampling of what it covers:

  • Semantics
  • Finite state machine
  • Pushdown automata
  • Turing machine
  • Lambda calculus
  • Universality
  • Halting problem

Get it


Code

By Charles Petzold

How computers work. Explains all the details of how hardware operates with almost no handwaving, including a whole bunch of historical information. Finishes with building an actual computer from scratch.

  • Binary codes
  • Basic electronics
  • Logic gates
  • Binary adder
  • Flip-flops, Clocks
  • CPU
  • Assembly

Get it


Gödel, Escher, Bach

By Douglas Hofstadter

A beautiful journey through formal systems, levels of abstraction, recursion, attempting to describe how consciousness can arise from lower levels. Decent introduction to propositional logic. Punny dialogues.

  • Strange loops
  • Formal systems
  • Recursion
  • Intelligence
  • Levels of abstraction
  • Meaning
  • Propositional logic
  • The brain
  • Consciousness
  • Computation
  • Genetics
  • Artificial intelligence

Get it


The Annotated Turing

By Charles Petzold and Alan Turing

A very heavy but authentic description of turing machines and the unsolvability to the Entscheidungsproblem. Requires some understanding of turing machines and propositional logic to grasp. Lots of little historical notes.

  • Number theory
  • Turing's machine
  • Universal machine
  • Propositional logic
  • Entscheidungsproblem
  • Equivalence to lambda calculus

Get it