expand_less Our goal will be to create an on-line encyclopedia of resources for digital systems design.  We will also create a practical hands on course for the emerging generation of [[https://en.wikipedia.org/wiki/Maker_culture|makers]] where the will learn all about state of the art systems.  This knowledge and the related skills are highly marketable, but what we really want is the joy of knowing how things work and being able to invent new things or just make personal customizations to express ourselves.
It seems that some people with more resources than me have covered a lot of this material in [[
http://www.nand2tetris.org/|Nand2Tetris]]. Much of this course is available for free, so please use it to suppliment what you find here. The approach of covering all the layers of system abstraction/implementation is part of my goal here, so if you find some material here confusing because of how we get deep quickly, you might sart with that course to give youself a solid foundation before beginning to find your own path. This material is intended to be more open-ended and to be used as a guide for finding and exploring your particular interests which may be off the beaten path. This sight is intended to be more invitation to explore the edge of your knowledge and even the edge of what is possible. None of it is that complicated, but there is a lot of it and this is only the beginning.
I. Abstraction: Computers as Mathematical Machines
  A. Formal Systems: Games and Modelling
  B. Signs and Systems: Semiotics and Representation
II. Mechanism: from Babbage to Modern Computer Networks
  A. Representation: from Positions of Wheels to a Binary Signal
    1.  Boolean mathematics and logic circuits.
      a. NAND/NOR and random logic
      b. General N to M and Programable Logic Block
    2.  Latches and Memory
    3.  From State Machines to Turing
  B. Programs and Data
    1. Von Neuman architecture: Programs as Data
       a.  Modern 16/32/64 bit architectures
    2. Programming Languages
       a. Machine Language: Just the bits
       b. Assembler Languages: Human readable machine language
       c. C:  The high level assembler
       d. Everything else is also language interpretation
   C. Data as Logic: the FPGA revolution
     1. Full circle:  System on a Chip with programable custom logic.
   D. From Components to Systems and Networked Systems
     1. Processing Units, Multiple Cores
     2. Memory Hierarchy: Processor caches, RAM and Storage
     3. Networks and I/O:  Other systems and the world outside