4 ms·
Hi there, I'm the author. Yes this list precisely constitutes the topics in computer science on which I believe a software engineer with an informal education s
by ozanonay 7y ago
Hi there, I'm the author. Yes this list precisely constitutes the topics in computer science on which I believe a software engineer with an informal education should focus. It's based on my experience of having taught computer science to over 1,000 junior to mid-level engineers, mostly bootcamp grads, in person in small classes over the last 5 years.
I've been meaning to update it slightly, to recommend _Computer Systems: A Programmer's Perspective_ over P&H (although P&H is still excellent) as well as Martin Kleppmann's book _Designing Data-Intensive Applications_ for distributed systems.
- libraryofbabel 7y agoThis is a great resource, even better for having been honed by actual teaching experience. I was actually about to suggest added Kleppmann to the list! I think some of the earlier chapters of Kleppmann might actually be good for the databases section as well. Probably the best discussion of transaction isolation that I've read anywhere. Another recent book that's good for databases (and that might replace or complement the "Architecture of a Database System" paper) is _Database Internals_ by Alex Petrov (O'Reilly, 2019). Like Kleppmann it also covers distributed systems; indeed it's getting harder and harder to separate the two areas these days.
- mesaframe 7y agoI am thinking of creating a toy DBMS implementation for practice. Since, I would be doing if in off time. I won't be having much time for reading. So, what would you recommend as a starting point? >Architecture of a Database System or >Database Internals
- rxsel 7y agoThanks for creating such a fantastic resource!
- TheAceOfHearts 7y agoFor anyone looking to pick up Computer Systems: A Programmer's Perspective, you should probably avoid the Global Edition. From the author's website [0]: > Note on the Global Edition: Unfortunately, the publisher arranged for the generation of a different set of practice and homework problems in the global edition. The person doing this didn't do a very good job, and so these problems and their solutions have many errors. We have not created an errata for this edition. If you can't afford the book, it seems like the First North American Edition is available on the Internet Archive, although I'm uncertain of its legality. Remember to support the authors, if not now then hopefully in the future after you get a high paying software engineering job. [0] http://csapp.cs.cmu.edu/3e/errata.html http://csapp.cs.cmu.edu/3e/errata.html
- Brave-Steak 7y agoThis book looks interesting, but it's unfortunate that there's no way to get the instructor's book for the answers to the exercises. Sort of diminishes the value of the book for self-learners.
- TheAceOfHearts 7y agoThe solution manuals for the 1st and 2nd edition are both easily found online with a quick search. As for the 3rd edition, I was able to find this [0], although I haven't verified if their answers are correct. But it would appear that you're correct that Pearson doesn't seem interested in selling the 3rd edition solution manual to anyone that isn't an instructor [1]. IMO, fuck their antiquated gate-keeping bullshit. [0] https://dreamanddead.gitbooks.io/csapp-3e-solutions/content/ https://dreamanddead.gitbooks.io/csapp-3e-solutions/content/ [1] https://www.pearson.com/us/higher-education/product/Bryant-Instructor-s-Solutions-Manual-Download-only-for-Computer-Systems-A-Programmer-s-Perspective-3rd-Edition/9780134092966.html https://www.pearson.com/us/higher-education/product/Bryant-I...
- Lesabotsy 7y agoI got offered the 2nd Edition few month ago, still worth the read or should I buy the 3rd to get the most out of it?
- TheAceOfHearts 7y agoI haven't read each edition in order to make a comparison. However, it's probably worth mentioning that, unlike the 3rd edition, the solution manuals for both the 1st and 2nd editions can easily be found online with a quick search. If you intend to sit down and start solving problems then the 2nd edition might be better, since you'd be able to check your answers against the solution manual. Edit: I actually hadn't looked, but it looks like all the solutions for the 3rd edition are also available online [0]. [0] https://dreamanddead.gitbooks.io/csapp-3e-solutions/content/ https://dreamanddead.gitbooks.io/csapp-3e-solutions/content/
- justin66 7y ago
- closeparen 7y agoWe used CS:APP for a relatively broad first-year Intro to Systems class; I'm not sure it replaces a dedicated computer architecture textbook. The Binary Bomb lab from CS:APP was the most fun and memorable homework assignment from all of undergrad.
- henrik_w 7y ago+1 for Designing Data-Intensive Applications by Martin Kleppmann. A fantastic book, one of the best computer science books I have read! Summary of it and why I like it here: https://henrikwarne.com/2019/07/27/book-review-designing-data-intensive-applications/ https://henrikwarne.com/2019/07/27/book-review-designing-dat...
- butterthebuddha 7y agoHey - just wanted to point out that the webpage currently points to low-quality and potentially unauthorized recordings of 6.824, but it looks like the iteration of 6.824 being offered this semester is offering publicly available (and authorized) recordings of lectures! https://pdos.csail.mit.edu/6.824/schedule.html https://pdos.csail.mit.edu/6.824/schedule.html
- jshowa3 7y agoYou should add a resource on computational theory. Discussions of P-NP, finite automata, decision problems, etc.
- jgwil2 7y agoCheck out Introduction to the Theory of Computation by Michael Sipser: https://smile.amazon.com/Introduction-Theory-Computation-Sipser/dp/8131525295/ref=sr_1_1 https://smile.amazon.com/Introduction-Theory-Computation-Sip...
- nabeelms 7y agoLagunita appears to be retiring on March 26 2020. Are there any alternatives you'd suggest for the courses on Lagunita?