==== 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 [[https://teachyourselfcs.com/|Teach Yourself Computer Science]]... * Programming: [[https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html|SICP]] (aka the Wizard Book) and [[https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter|accompanying lectures]], [[https://htdp.org/|How To Design Programs]] (you're going to want [[https://racket-lang.org/|DrRacket]] for these) * Architecture: [[https://www.nand2tetris.org|The Elements of Computing Systems]] (aka Nand2Tetris) and [[https://www.coursera.org/learn/build-a-computer|accompanying course]] * Algorithms and Data Structures: [[https://www.youtube.com/watch?v=A2bFN3MyNDA&list=PLOtl7M3yp-DX32N0fVIyvn7ipWKNGmwpp|lectures]] for the Algorithm Design Manual * Mathematics: [[http://www.cs.elte.hu/~lovasz/dmbook.ps|Discrete Mathematics]] (PostScript file!), [[https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab|Essence of Linear Algebra]] video series * Operating Systems: [[http://pages.cs.wisc.edu/~remzi/OSTEP/|Operating Systems: Three Easy Pieces]] * Networking: [[http://www-net.cs.umass.edu/wireshark-labs/|Wireshark Labs]] from Computer Networking: A Top-Down Approach * Databases: [[http://www.redbook.io/|Readings in Database Systems]] (aka the Red Book), [[https://archive.org/details/UCBerkeley_Course_Computer_Science_186|UC Berkeley CS 186]] * Languages and Compilers: [[https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about|Stanford Compilers course]], [[https://github.com/kanaka/mal|Make a Lisp]] * Distributed Systems: [[https://www.distributed-systems.net/index.php/books/distributed-systems-3rd-edition-2017/|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