diff --git a/books/free-programming-books-langs.md b/books/free-programming-books-langs.md index 3e6fd1583..cd26f83b9 100644 --- a/books/free-programming-books-langs.md +++ b/books/free-programming-books-langs.md @@ -2,6 +2,7 @@ Originally, this list included a section called "Language Agnostic" for books about programming subjects not restricted to a specific programming language. That section got so big, we decided to split it into its own file, the [BY SUBJECT file](free-programming-books-subjects.md). +Books on general-purpose programming that don't focus on a specific language are in listed in the subject "Programming". Books on specialized topics are listed in their own sub-sections. ### Index diff --git a/books/free-programming-books-subjects.md b/books/free-programming-books-subjects.md index 7aa5cc90c..2fb06a943 100644 --- a/books/free-programming-books-subjects.md +++ b/books/free-programming-books-subjects.md @@ -37,6 +37,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA * [Parallel Programming](#parallel-programming) * [Partial Evaluation](#partial-evaluation) * [Professional Development](#professional-development) +* [Programming](#programming) * [Programming Paradigms](#programming-paradigms) * [Quantum Computing](#quantum-computing) * [Regular Expressions](#regular-expressions) @@ -735,6 +736,22 @@ Kerridge (PDF) (email address *requested*, not required) * [What I've Learned From Failure](https://leanpub.com/shippingsoftware/read) - Reginald Braithwaite +### Programming + +* [Design of a Programmer](https://www.smashwords.com/books/view/639609) - Prakash Hegade (PDF) +* [Introduction to Computer Science](http://www.cse.iitd.ernet.in/~suban/CSL102/) - Prof. Subhashis Banerjee, IIT Delhi +* [Introduction to Computing](http://www.computingbook.org) - David Evans +* [Principled Programming / Introduction to Coding in Any Imperative Language](https://www.cs.cornell.edu/info/people/tt/Principled_Programming.html) - Tim Teitelbaum +* [Programming and Programming Languages](https://papl.cs.brown.edu/2019/) - Shriram Krishnamurthi +* [Programming Languages: Application and Interpretation (2nd Edition)](http://cs.brown.edu/~sk/Publications/Books/ProgLangs/) - Shriram Krishnamurthi +* [Structure and Interpretation of Computer Programs](https://web.mit.edu/6.001/6.037/sicp.pdf) - Harold Abelson, Gerald Jay Sussman, Julie Sussman (PDF) +* [Structure and Interpretation of Computer Programs](https://sarabander.github.io/sicp/html/index.xhtml) - Harold Abelson, Gerald Jay Sussman, Julie Sussman (HTML) +* [The Black Art of Programming](http://self.gutenberg.org/wplbn0002828847-the-black-art-of-programming-by-mcilroy-mark.aspx?) - Mark McIlroy +* [The Craft of Programming](https://kilthub.cmu.edu/articles/The_Craft_of_Programming/6610514) - John C. Reynolds +* [The Nature of Code](https://natureofcode.com/book) - Daniel Shiffman (HTML) +* [Think Complexity](https://greenteapress.com/wp/think-complexity-2e/) - - Allen B. Downey (2nd Edition) (PDF, HTML) + + ### Programming Paradigms * [Flow based Programming](http://jpaulmorrison.com/fbp/) - J Paul Morrison @@ -858,26 +875,15 @@ Kerridge (PDF) (email address *requested*, not required) * [Category Theory for Computing Science](http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf) (PDF) * [Category Theory for Programmers](https://github.com/hmemcpy/milewski-ctfp-pdf) - Bartosz Milewski (PDF) * [Delftse Foundations of Computation](https://textbooks.open.tudelft.nl/textbooks/catalog/book/13) - Stefan Hugtenburgand, Neil Yorke-Smith @ TU Delft Open (PDF) -* [Design of a Programmer](https://www.smashwords.com/books/view/639609) - Prakash Hegade (PDF) * [Homotopy Type Theory: Univalent Foundations of Mathematics](http://homotopytypetheory.org/book/) (PDF) -* [Introduction to Computer Science](http://www.cse.iitd.ernet.in/~suban/CSL102/) - Prof. Subhashis Banerjee, IIT Delhi -* [Introduction to Computing](http://www.computingbook.org) * [Introduction to Theory of Computation](http://cglab.ca/~michiel/TheoryOfComputation/) - Anil Maheshwari, Michiel Smid (PDF) * [Models of Computation](http://cs.brown.edu/people/jes/book/) - John E. Savage * [Practical Foundations for Programming Languages, Preview](https://www.cs.cmu.edu/~rwh/pfpl/2nded.pdf) - Robert Harper (PDF) * [Principles of Programming Languages](https://web.archive.org/web/20150418034451/http://www.cs.jhu.edu/~scott/pl/book/dist/) - Scott F. Smith -* [Programming and Programming Languages](https://papl.cs.brown.edu/2019/) - Shriram Krishnamurthi * [Programming in Martin-Löf's Type Theory](http://www.cse.chalmers.se/research/group/logic/book/) - Bengt Nordstroem * [Programming Languages: Application and Interpretation (2nd Edition)](http://cs.brown.edu/~sk/Publications/Books/ProgLangs/) - Shriram Krishnamurthi * [Programming Languages: Theory and Practice](http://people.cs.uchicago.edu/~blume/classes/aut2008/proglang/text/offline.pdf) - Robert Harper (PDF) * [Semantics with Applications: A Formal Introduction](http://www.cs.ru.nl/~herman/onderwijs/semantics2019/wiley.pdf) - Hanne Riis Nielson, Flemming Nielson (PDF) -* [Structure and Interpretation of Computer Programs](https://web.mit.edu/6.001/6.037/sicp.pdf) - Harold Abelson, Gerald Jay Sussman, Julie Sussman (PDF) -* [Structure and Interpretation of Computer Programs](https://sarabander.github.io/sicp/html/index.xhtml) - Harold Abelson, Gerald Jay Sussman, Julie Sussman (HTML) -* [The Black Art of Programming](http://self.gutenberg.org/wplbn0002828847-the-black-art-of-programming-by-mcilroy-mark.aspx?) - Mark McIlroy -* [The Craft of Programming](https://kilthub.cmu.edu/articles/The_Craft_of_Programming/6610514) - John C. Reynolds -* [The Nature of Code](https://natureofcode.com/book) - Daniel Shiffman (HTML) -* [Theory of Computation, Making Connections](https://joshua.smcvt.edu/computation) - Jim Hefferon (PDF) -* [Think Complexity](https://greenteapress.com/wp/think-complexity-2e/) - - Allen B. Downey (2nd Edition) (PDF, HTML) ### Version Control Systems