6 ms·
Computer Science textbooks that are freely available online
- 2fourk 6y agoThis is a great post, so many good resources and information!!!
- low_common 6y agoReally helped me out when I was getting my CS degree. Some classes I'd use these free copies, but core classes ex. Algorithms I liked having the physical copy of CLRS.
- ljhsiung 6y agoTheir link to "Computer Architecture: A Quantitative Approach (5th edition)" (https://booksite.elsevier.com/9780123838728/references.php https://booksite.elsevier.com/9780123838728/references.php) is broken. Here's a couple more [1],[2]. I'm also surprised Jeff Erickson's free lecture notes [3] aren't there given 1) its easy to remember domain 2) its incredibly high, practical quality. Practical because I've had interviews that just grab questions from the book, and also because his course is basically just a walk-through of the book. It's also very easy to read, and although I didn't do great in his class, his conceptual lessons still stick with me. [1] http://acs.pub.ro/~cpop/SMPA/Computer%20Architecture%20A%20Quantitative%20Approach%20(5th%20edition).pdf http://acs.pub.ro/~cpop/SMPA/Computer%20Architecture%20A%20Q... [2] https://github.com/Seanforfun/Books/blob/master/Computer/Computer%20Architecture%20-%20A%20Quantitative%20Approach%20(Fifth%20Edition).pdf https://github.com/Seanforfun/Books/blob/master/Computer/Com... [3] http://algorithms.wtf http://algorithms.wtf
- james_white 6y agoCouldn't recommend Jeff Erickson's lecture notes more for algorithms, DP, and the like. I too did rather poorly in the class so you're not alone! In a similar vein, Lawrence Angrave, a systems programming lecturer, has a wonderful crowd-sourced "book" [1] on all things systems programming. It is my go to resource for brushing up on these topics. Lastly, David Forsyth, a statistics/applied ML lecturer has a gold mine of a book for diving into ML and difficult concepts that come with it [2]. [1] https://github.com/angrave/SystemProgramming/wiki https://github.com/angrave/SystemProgramming/wiki [2] http://luthuli.cs.uiuc.edu/~daf/courses/AML-18/learning-book-19-April-18.pdf http://luthuli.cs.uiuc.edu/~daf/courses/AML-18/learning-book...
- awnguyen 6y agoSometimes I’m wondering why U of I doesn’t have a bigger presence in the online learning world, other than net math. The material is great.
- willhslade 6y agoIllinois is going bankrupt to the degree that it’s affecting the U of I. They do, however, have both an iMBA and a masters in CS through coursera.
- david38 6y agoJeff was one of my favorite teachers. He made algorithms and proofs fun, even if you didn’t get an A.
- irateswami 6y agoI had a lot of qualms with my CS education, the professors in particular, but I have to hand it to them they always either tried to have the book and material online for free, or would use the international edition of whatever textbook we needed. Textbooks, and higher education in general, are a complete ripoff for 90% of people doing it.
- ldjb 6y agoNothing worse than courses that require a textbook written by the lecturer decades ago and is now out-of-print, with only one copy in the library that all the students have to fight over.
- harry8 6y agoYeah there is. Courses that require you to purchase the lecturer's terrible quality printed and photocopied(!) Unpublished "Lecture notes" At least a garbage textbook damages their reputation in their field.
- irateswami 6y agoI had a garbage math professor in college who did this, total bullshit.
- gmfawcett 6y agoAn obligatory mention of the /r/csbooks subreddit, where we share titles like these: https://www.reddit.com/r/csbooks/ https://www.reddit.com/r/csbooks/
- mathnmusic 6y agoHoping that it's okay to share LearnAwesome's (my open-source project) computer-science topic page here: https://learnawesome.org/topics/2680f6d5-b662-4cc3-99e5-e748e744d875-computer-science https://learnawesome.org/topics/2680f6d5-b662-4cc3-99e5-e748...
- pron 6y agoBy no means a textbook, just a barely-edited book-length anthology of primary sources I put together, but let me plug my own: Finite of Sense and Infinite of Thought: A History of Computation, Logic and Algebra https://pron.github.io/computation-logic-algebra https://pron.github.io/computation-logic-algebra
- bambataa 6y agoI enjoyed your introduction to TLA+, so looking forward to this. Thank you.
- blewboarwastake 6y agoThe Bibliography is definitively useful but the editing and commentary is really good too. I'll bookmark it and will keep reading later.
- epilys 6y agoDo you have plans on publishing an epub?
- pron 6y agoNot currently. Seems like a lot of work, especially with all the margin notes and figures. But if you could suggest tools that might make this easier, I'd give them a look.
- blackrock 6y agoFascinating list. Thanks.
- ipodopt 6y agoIn the same vein: https://github.com/ossu/computer-science https://github.com/ossu/computer-science
- ipodopt 6y agoIn the vein's shadow: [audio books] http://audiobookbay.nl/ http://audiobookbay.nl/ [books] http://gen.lib.rus.ec/ http://gen.lib.rus.ec/ [research papers] https://sci-hub.do/ https://sci-hub.do/
- boblivion 6y agohttps://toc.cryptobook.us/ https://toc.cryptobook.us/ A comprehensive introduction to provable cryptography that is comparatively modern.
- ljhsiung 6y agoThat exact link is already included.
- amir734jj 6y agoKind of unrelated, I am wondering does anyone know a good CS lecture note websites? There was a one I saw here few months ago but I forgot the URL.
- treeman79 6y agohttps://youtu.be/ywWBy6J5gz8 https://youtu.be/ywWBy6J5gz8 Learn Quicksort via tap dancing.
- rckoepke 6y agohttps://runestone.academy/runestone/books/index https://runestone.academy/runestone/books/index has 100% free interactive versions of high quality textbooks. They use a JavaScript implementation of Python which runs in the browser (Skulpt) to provide a REPL. Example Textbooks: Problem Solving with Algorithms and Data Structures using Python (3rd edition)
- vram22 6y agoI had blogged about them, but for a different reason, also interactive - online turtle graphics: Online turtle graphics in Python from Runestone Interactive: https://jugad2.blogspot.com/2013/02/online-turtle-graphics-in-python-from.html?m=0 https://jugad2.blogspot.com/2013/02/online-turtle-graphics-i... Had also mentioned that anyone can host a course there for free.
- jagger27 6y agohttps://opendatastructures.org/ https://opendatastructures.org/ is quite good.
- kyawzazaw 6y agoI wish this has syntax highlighting
- aronpye 6y agoI wish these lists were better curated rather than just a dump of links with no commentary.
- deleted 6y ago[deleted]
- ipodopt 6y agohttps://github.com/ossu/computer-science https://github.com/ossu/computer-science
- aronpye 6y agoStill doesn’t really explain the contents of any of the linked courses or why you need to take them. The only decent teach yourself computer science program I have come across is https://teachyourselfcs.com/ https://teachyourselfcs.com/
- ipodopt 6y agoIt gives you a complete minimally ordered set to high quality a CS education. > Still doesn’t really explain the contents of any of the linked courses or why you need to take them That is the job of the course lecturer or author who know best. It is always done in the first lecture of any course and is provided in written form in the syllabus. All you need to do click on the links....
- riknos314 6y agoRunestone academy has a good collection of interactive online textbooks https://runestone.academy/runestone/books/index https://runestone.academy/runestone/books/index Disclaimer: I helped build this platform as a student
- isaacdl 6y agoHey, I worked on Runestone as a student too, with Brad! Small world :).
- st1x7 6y agoThanks for sharing, this is great. It's also a bit intimidating and overhwelming. There is so much to learn and there is also a danger of just getting through textbooks that cover the same material that you've read before or covering stuff on a surface level without getting any practice with what you've learned. As a data scientist, it feels like anything from mathematics, computer science, statistics, large-scale systems, software engineering in general is within my domain and there is a real danger of spreading oneself a bit too thin and not getting that good at anything.
- artificialLimbs 6y agoExactly what I'm going through as a junior programmer. I have no idea what to do, and everything is changing so fast I'm not sure what to grab.
- mapme 6y agoThe fundamentals don’t change fast and are what everything else is built on, so I would start there. For example, if you don’t have a traditional CS degree, https://teachyourselfcs.com/ https://teachyourselfcs.com/ is a curated and effective set of books. If your trying to understand complex systems, I would read Designing Data Intensive Applications, which is perhaps the best and most useful technical book I have ever read, and covers the most important parts of distributed systems. A lot of what’s in the book are fundamental distributed systems, from the 70-80s?/newer things from early 2000s built by BigTechCo
- bluenose69 6y agoIt strikes me as odd that these resources are listed by title, not by author. In my (natural science) field, it's very much the reverse. I wonder whether this is a disciplinary difference, or just a reflection of Gordon's preference.
- jcynix 6y agoNot just CS books, but unglue.it offers various books, e.g. * Paolo Bory: The Internet Myth https://unglue.it/work/442013/ https://unglue.it/work/442013/ * The Digital Public Domain: Foundations for an Open Culture https://unglue.it/work/136338/ https://unglue.it/work/136338/ * Francis daCosta: Rethinking the Internet of Things (APress) https://unglue.it/work/310550/ https://unglue.it/work/310550/ * Shotts: The Linux Command Line (No Starch Press) https://unglue.it/work/136224/ https://unglue.it/work/136224/ * Fogel: Producing Open Source Software UT: How to Run a Successful Free Software Project https://unglue.it/work/135870/ https://unglue.it/work/135870/ * Ryder: Unix as IDE https://unglue.it/work/194054/ https://unglue.it/work/194054/ More at e.g. * https://unglue.it/free/kw.Computers%20/%20Programming/ https://unglue.it/free/kw.Computers%20/%20Programming/
- WalterBright 6y ago"Programming in D - Tutorial and Reference" Ali Çehreli http://ddili.org/ders/d.en/index.html http://ddili.org/ders/d.en/index.html
- blackrock 6y agoHow do you read your ebooks? Anyone have any success using the reMarkable 2 for it?
- scns 6y agoCheck out https://getpolarized.io https://getpolarized.io if you are fine with electron a working with a mouse. Disclaimer: not affiliated
- pushpa_dc 6y agothank you
- pyfan878 6y agoalgorithms illuminated isn't freely available. The links forward to amazon.
- boxmonster 6y agoI suggest adding Bob Nystrom's "Crafting Interpreters" http://craftinginterpreters.com/ http://craftinginterpreters.com/
- asicsp 6y agoAll my ebooks are free to read online: https://github.com/learnbyexample/scripting_course#ebooks https://github.com/learnbyexample/scripting_course#ebooks And here's a huge list of freely available programming books: https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html https://ebookfoundation.github.io/free-programming-books/boo...
- Ryoung27 6y agoThank you, the scripting course looks awesome.
- brogrammer2018 6y agoThe best list: https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md https://github.com/EbookFoundation/free-programming-books/bl...
- teleforce 6y agoNice list thanks. Perhaps you can add "High Performance Browser Networking" in your networking book section: https://hpbn.co/ https://hpbn.co/
- adilsardar 6y agoThank you for sharing this kind of information. It really helps other people :)
- subset 6y agoI also really enjoyed MIT's "Mathematics for Computer Science" by Lehman, Leighton & Meyer (http://courses.csail.mit.edu/6.042/spring18/mcs.pdf http://courses.csail.mit.edu/6.042/spring18/mcs.pdf)
- mathieubordere 6y ago"The Little Book of Semaphores" also belongs here. https://greenteapress.com/wp/semaphores/ https://greenteapress.com/wp/semaphores/
- deflox 6y ago"Eloquent Javascript" might also be a candidate for this list but it is only available to read online: https://eloquentjavascript.net https://eloquentjavascript.net