Table of Contents
topics
people
links/ refs / reading
software engineering
topics
Theory of Algorithms
Algorithmic Information Theory
Computer Games
/
Game Engines
/
Cheap Cave
Computer Graphics
Artificial Life
Programming Languages
Data Structures and Algorithms
Operating Systems
Computer Networking
Mobile Computing
HCI
(Human Computer Interaction)
Artificial Intelligence
Computer Security
Programmable Hardware
Quantum Computing
Membrane Computing
Unconventional Computing
people
Claude Shannon
Vannevar Bush
Doug Engelbart
Larry Wall
Rodney Brooks
to write
John von Neumann
John McCarthy
Marvin Minsky
Charles Babbage
/
Ada Lovelace
Kurt Goedel
Alan Turing
David Hilbert
Alan Perlis
Alan Kay
Daniel Hillis
Donald Knuth
Ken Thompson
etc+
and more . ..
Atanasoff Mauchly Eckert
(who did build it first?+ )
Konrad Zuse
links/ refs / reading
via
Teach Yourself Computer Science
…
Programming:
SICP
(aka the Wizard Book) and
accompanying lectures
,
How To Design Programs
(you're going to want
DrRacket
for these)
Architecture:
The Elements of Computing Systems
(aka Nand2Tetris) and
accompanying course
Algorithms and Data Structures:
lectures
for the Algorithm Design Manual
Mathematics:
Discrete Mathematics
(PostScript file!),
Essence of Linear Algebra
video series
Operating Systems:
Operating Systems: Three Easy Pieces
Networking:
Wireshark Labs
from Computer Networking: A Top-Down Approach
Databases:
Readings in Database Systems
(aka the Red Book),
UC Berkeley CS 186
Languages and Compilers:
Stanford Compilers course
,
Make a Lisp
Distributed Systems:
Distributed Systems
also…
Dictionary of Algorithms, Data Structures, and Problems of
http://www.nist.gov/dads/
Structure and Interpretation of Computer Programs
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_start
Parsing Techniques - A Practical Guide
http://www.cs.vu.nl/~dick/PTAPG.html
Common Lisp the Language
http://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
“On Lisp” by Paul Graham
http://www.paulgraham.com/onlisp.html
An Introduction to Programming with Threads
http://citeseer.nj.nec.com/birrel89introduction.html
a basic introduction to monads, monadic programming and IO
http://www.dcs.gla.ac.uk/~nww/Monad.html
software engineering
Version Control
systems + discussion
Reverse Engineering
bio-engineering (“Punctuated Equilibrium in Software Evolution”)
http://arxiv.org/abs/cond-mat/0307201
what does software have to do with architecture?
http://web.onetel.com/~hibou/Software%20Architects.html
patterns of software
http://www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf
http://c2.com/cgi/wiki?ArchitectsDontCode
Wrong Analogy?
http://www.kuro5hin.org/story/2003/3/13/211831/159