From 95fabd022f81975892f0dfeb67b370436cb0afad Mon Sep 17 00:00:00 2001 From: Victor Felder Date: Sat, 12 Oct 2013 11:21:13 +0200 Subject: [PATCH] PR close #41 patching & merging --- free-programming-books.md | 136 ++++++++++++++++++++++---------------- 1 file changed, 78 insertions(+), 58 deletions(-) diff --git a/free-programming-books.md b/free-programming-books.md index 2e141e5ce..2ab393120 100644 --- a/free-programming-books.md +++ b/free-programming-books.md @@ -96,95 +96,116 @@ ###Language Agnostic -* [97 Things Every Programmer Should Know](http://programmer.97things.oreilly.com/) -* [97 Things Every Programmer Should Know - Extended](https://leanpub.com/97-Things-Every-Programmer-Should-Know-Extended) +####Algorithms & Datastructures * [Algorithms and Data-Structures](http://www.ethoberon.ethz.ch/WirthPubl/AD.pdf) (PDF) * [Algorithms](http://www.cs.berkeley.edu/~vazirani/algorithms.html) (draft) -* [The Architecture of Open Source Applications](http://www.aosabook.org/en/index.html) +* [Binary Trees](http://cslibrary.stanford.edu/110/BinaryTrees.pdf) +* [Clever Algorithms](http://www.cleveralgorithms.com/nature-inspired/index.html) +* [Data Structures and Algorithms: Annotated Reference with Examples](http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/) +* [Planning Algorithms](http://planning.cs.uiuc.edu/) +* [Linked List Basics](http://cslibrary.stanford.edu/103/LinkedListBasics.pdf) +* [Linked List Problems](http://cslibrary.stanford.edu/105/LinkedListProblems.pdf) + +####Operating systems * [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/) +* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey +* [Operating Systems and Middleware](https://gustavus.edu/mcs/max/os-book/) (PDF and LaTeX) + +####Database +* [Database Fundamentals](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf) (PDF) + +####Networking +* [High-Performance Browser Networking](http://chimera.labs.oreilly.com/books/1230000000545/index.html) +* [The TCP/IP Guide](http://www.tcpipguide.com/free/t_toc.htm) +* [Understanding IP Addressing: Everything you ever wanted to know](http://www.apnic.net/__data/assets/pdf_file/0020/8147/501302.pdf) (PDF) + +####Compiler Design +* [Compiler Construction](http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf) (PDF) +* [Let's Build a Compiler](http://www.stack.nl/~marcov/compiler.pdf) +* [Linkers and loaders](http://www.iecc.com/linker/) + +####Programming Paradigms +* [Introduction to Functional Programming](http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/) (class lectures and slides) +* [Type Theory and Functional Programming](https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/) + +####Parallel Programming +* [How to Write Parallel Programs](http://www.lindaspaces.com/book/) +* [Is Parallel Programming Hard, And, If So, What Can You Do About It?](http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html) + +####Software Architecture +* [The Architecture of Open Source Applications](http://www.aosabook.org/en/index.html) +* [Programming Pearls](http://cs.bell-labs.com/cm/cs/pearls/) +* [Seamless Object-Oriented Software Architecture](http://www.bon-method.com/book_print_a4.pdf) +* [Summary of the GoF Design Patterns](http://domaindrivendesign.org/sites/default/files/discussion/PatternSummariesUnderCreativeCommons.doc) +* [How to write Unmaintainable Code](http://mindprod.com/jgloss/unmain.html) +* [OO Design](http://homepage.mac.com/s_lott/books/oodesign.html) +* [Object-Oriented Reengineering Patterns](http://scg.unibe.ch/download/oorp/) +* [Patterns and Practices: Application Architecture Guide 2.0](http://www.codeplex.com/AppArchGuide) +* [The Definitive Guide to Building Code Quality](http://nexus.realtimepublishers.com/dgbcq.php) +* [Patterns of Software: Tales from the Software Community](http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf) (PDF) * [Best Kept Secrets of Peer Code Review](http://smartbear.com/codecollab-code-review-book.php) -* [Binary Trees](http://cslibrary.stanford.edu/110/BinaryTrees.pdf) +* [Domain Driven Design Quickly](http://www.infoq.com/minibooks/domain-driven-design-quickly) +* [Essential Skills for Agile Development](http://elliottback.com/wp/essential-skills-for-agile-development/) + +####Information Retrieval +* [Introduction to Information Retrieval](http://nlp.stanford.edu/IR-book/information-retrieval-book.html) + +####Datamining +* [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds.html) + +####Mathematics +* [Think Bayes: Bayesian Statistics Made Simple] (http://www.greenteapress.com/thinkbayes/) - Allen B. Downey +* [Think Stats: Probability and Statistics for Programmers](http://greenteapress.com/thinkstats/) (PDF, code written in Python) - Allen B. Downey +* [Mathematical Logic - an Introduction](http://www.ii.uib.no/~michal/und/i227/book/book.pdf) (PDF) + +####Misc +* [97 Things Every Programmer Should Know](http://programmer.97things.oreilly.com/) +* [97 Things Every Programmer Should Know - Extended](https://leanpub.com/97-Things-Every-Programmer-Should-Know-Extended) +* [How to Design Programs](http://www.htdp.org/) +* [How to Think Like a Computer Scientist](http://openbookproject.net/thinkcs/) +* [I Am a Bug](http://www.amibug.com/iamabug/p01.html) +* [Learn to Program](http://pine.fm/LearnToProgram/) +* [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html) - Al Aho and Jeff Ullman +* [Foundations of Programming](http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx) +* [Structure and Interpretation of Computer Programs](http://mitpress.mit.edu/sicp/) +* [An Introduction to the Theory of Computation](http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html) +* [Programming Languages: Application and Interpretation](http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/) +* [Programming Methodology](http://www.stanford.edu/class/cs106a/cgi-bin/handouts/) * [Category Theory for Computing Science](http://www.math.mcgill.ca/triples/Barr-Wells-ctcs.pdf) * [The Cathedral and the Bazaar](http://www.catb.org/esr/writings/cathedral-bazaar/) -* [Clever Algorithms](http://www.cleveralgorithms.com/nature-inspired/index.html) -* [Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts](http://www.scribd.com/doc/175241338/Come-Let-s-Play) * [Communicating Sequential Processes (PDF)](http://www.usingcsp.com/cspbook.pdf) - Tony Hoare -* [Compiler Construction](http://www.inf.ethz.ch/personal/wirth/Articles/CompilerConstruction/CBE.pdf) (PDF) +* [Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts](http://www.scribd.com/doc/175241338/Come-Let-s-Play) * [Computer Musings](http://scpd.stanford.edu/knuth/index.jsp) (lectures by Donald Knuth) -* [Data Structures and Algorithms: Annotated Reference with Examples](http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/) -* [Database Fundamentals](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf) (PDF) +* [How Computers Work](http://www.fastchip.net/howcomputerswork/p1.html) * [Data-Intensive Text Processing with MapReduce](http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf) (PDF) -* [The Definitive Guide to Building Code Quality](http://nexus.realtimepublishers.com/dgbcq.php) * [Designing Interfaces](http://designinginterfaces.com) by Jennifer Tidwell * [Digital Signal Processing For Engineers and Scientists](http://www.dspguide.com/) * [Distributed systems for fun and profit](http://book.mixu.net/distsys/single-page.html) -* [Domain Driven Design Quickly](http://www.infoq.com/minibooks/domain-driven-design-quickly) * [Don't Just Roll the Dice](http://www.neildavidson.com/dontjustrollthedice.html) * [Essentials of Metaheuristics](http://cs.gmu.edu/~sean/book/metaheuristics/) by Sean Luke -* [Essential Skills for Agile Development](http://elliottback.com/wp/essential-skills-for-agile-development/) * [A Field Guide To Genetic Programming](http://dces.essex.ac.uk/staff/rpoli/gp-field-guide/toc.html) * [Flow based Programming](http://jpaulmorrison.com/fbp/#book) -* [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html) - Al Aho and Jeff Ullman -* [Foundations of Programming](http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx) * [Getting Real](http://gettingreal.37signals.com/) * [Getting started with Open source development](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_started_with_open_source_development_p2.pdf) (PDF) * [The Great Tree List Recursion Problem](http://cslibrary.stanford.edu/109/TreeListRecursion.pdf) * [Guide to the Software Engineering Body of Knowledge](http://www.computer.org/portal/web/swebok) -* [High-Performance Browser Networking](http://chimera.labs.oreilly.com/books/1230000000545/index.html) -* [How Computers Work](http://www.fastchip.net/howcomputerswork/p1.html) -* [How to Design Programs](http://www.htdp.org/) -* [How to Think Like a Computer Scientist](http://openbookproject.net/thinkcs/) -* [How to Write Parallel Programs](http://www.lindaspaces.com/book/) -* [How to write Unmaintainable Code](http://mindprod.com/jgloss/unmain.html) -* [I Am a Bug](http://www.amibug.com/iamabug/p01.html) -* [An Introduction to the Theory of Computation](http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html) -* [Introduction to Functional Programming](http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/) (class lectures and slides) -* [Introduction to Information Retrieval](http://nlp.stanford.edu/IR-book/information-retrieval-book.html) -* [Linux kernel in a Nutshell](http://www.kroah.com/lkn/) -* [Is Parallel Programming Hard, And, If So, What Can You Do About It?](http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html) -* [Learn to Program](http://pine.fm/LearnToProgram/) -* [Let's Build a Compiler](http://www.stack.nl/~marcov/compiler.pdf) -* [Linkers and loaders](http://www.iecc.com/linker/) -* [Linked List Basics](http://cslibrary.stanford.edu/103/LinkedListBasics.pdf) -* [Linked List Problems](http://cslibrary.stanford.edu/105/LinkedListProblems.pdf) -* [Mathematical Logic - an Introduction](http://www.ii.uib.no/~michal/und/i227/book/book.pdf) (PDF) * [Matters Computational](http://www.jjj.de/fxt/#fxtbook) -* [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds.html) * [Modeling Reactive Systems with Statecharts](http://www.scribd.com/doc/167971960/Modeling-Reactive-Systems-With-Statecharts) * [NASA Manager Handbook for Software Development](http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-manage.pdf) (PDF) * [NASA Software Measurement Handbook](http://www.scribd.com/doc/7181362/NASA-Software-Measurement-Guidebook) -* [Object-Oriented Reengineering Patterns](http://scg.unibe.ch/download/oorp/) -* [Online Course Materials](http://ocw.mit.edu/OcwWeb/web/home/home/index.htm) -* [OO Design](http://homepage.mac.com/s_lott/books/oodesign.html) -* [Operating Systems and Middleware](https://gustavus.edu/mcs/max/os-book/) (PDF and LaTeX) -* [Patterns and Practices: Application Architecture Guide 2.0](http://www.codeplex.com/AppArchGuide) -* [Patterns of Software: Tales from the Software Community](http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf) (PDF) -* [Planning Algorithms](http://planning.cs.uiuc.edu/) * [PNG: The Definitive Guide](http://www.libpng.org/pub/png/book/) * [Pointers And Memory](http://cslibrary.stanford.edu/102/PointersAndMemory.pdf) * [Producing Open Source Software](http://producingoss.com/) -* [Programming Languages: Application and Interpretation](http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/) -* [Programming Methodology](http://www.stanford.edu/class/cs106a/cgi-bin/handouts/) -* [Programming Pearls](http://cs.bell-labs.com/cm/cs/pearls/) * [Project Oberon](http://www-old.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf) (PDF) -* [Seamless Object-Oriented Software Architecture](http://www.bon-method.com/book_print_a4.pdf) * [Security Engineering](http://www.cl.cam.ac.uk/~rja14/book.html) -* [Structure and Interpretation of Computer Programs](http://mitpress.mit.edu/sicp/) -* [Summary of the GoF Design Patterns](http://domaindrivendesign.org/sites/default/files/discussion/PatternSummariesUnderCreativeCommons.doc) -* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey -* [The TCP/IP Guide](http://www.tcpipguide.com/free/t_toc.htm) -* [Think Bayes: Bayesian Statistics Made Simple](http://www.greenteapress.com/thinkbayes/) - Allen B. Downey -* [Think Stats: Probability and Statistics for Programmers](http://greenteapress.com/thinkstats/) (PDF, code written in Python) - Allen B. Downey -* [Think Complexity](http://www.greenteapress.com/compmod/) - Allen B. Downey -* [Type Theory and Functional Programming](https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/) -* [Understanding IP Addressing: Everything you ever wanted to know](http://www.apnic.net/__data/assets/pdf_file/0020/8147/501302.pdf) (PDF) +* [Think Complexity] (http://www.greenteapress.com/compmod/) - Allen B. Downey + +####MOOC +* [Online Course Materials](http://ocw.mit.edu/OcwWeb/web/home/home/index.htm) ###Android -* [Tutorial on Basic Android Setup](http://www.stanford.edu/class/ee368/Android/Tutorial-1-Basic-Android-Setup-Windows.pdf) -* [Android lessons for beginners](http://startandroid.ru/en/lessons/complete-list.html) -* [Beginning Android ApplicAtion development](http://blogs.wrox.com/files/2013/05/Chapter-8-9781118087299-2.pdf) ###Autotools @@ -411,7 +432,6 @@ * [Practical Common Lisp](http://www.gigamonkeys.com/book/) * [Successful Lisp: How to Understand and Use Common Lisp](http://psg.com/~dlamkins/sl/) - David Lamkins * [Sketchy LISP](http://www.bcl.hamilton.ie/~nmh/t3x.org/zzz/) - Nils Holm -* [Lisp Web Tales](http://lispwebtales.ppenev.com/) - Pavel Penev ###Lua @@ -582,7 +602,7 @@ ###Racket -* [Programming Languages: Application and Interpretation](http://cs.brown.edu/courses/cs173/2012/book/index.html) +* [Programming Languages: Application and Interpretation](http://cs.brown.edu/courses/cs173/2012/book/index.html) ###Ruby