5 ms·
Would you mind elaborating on how you went about learning the fundamentals? I think id benefit from the same.
by majjam 5y ago
Would you mind elaborating on how you went about learning the fundamentals? I think id benefit from the same.
- Zelphyr 5y ago“ Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold and “The Elements of Computing Systems” by Noam Nisan and Shimon Shocken are both a great introduction.
- godelmachine 5y agoI have both books but yet to finish The latter book you recommend is Nand2Tetris I believe
- alexgmcm 5y agoI've read both books and done the Nand2Tetris course. I think Code by Petzold is decent in that it's a book you can read in bed etc. but it spends a long time discussing mechanical relays as an analogue and later discusses various processors in depth. I think Nand2Tetris is slightly better in that it focuses on what I'd consider to be the most important stuff, but it's an actual course and requires significantly more effort. Nand2Tetris is probably the best course I've ever done though, including my university studies in Physics and ML. It's fun and you learn loads.
- Zelphyr 5y agoI agree somewhat with your assessment of “Code”. I read it first and then “Elements of Computing Systems” and I found reading them in that order was great because the latter puts into practice what the former simply describes.
- ju_sh 5y ago+1 for Code, fantastic book especially for self taught developers
- babelfish 5y agoCheck out the online course Nand2Tetris. I took it my senior year of college as a business major (but had a SWE internship/full-time offer). It was an interesting course and definitely filled the gaps in my knowledge OP describes, but didn’t really make a difference for me as a SWE.
- rramadass 5y agoTry Computer Systems: A Programmer's Perspective. - https://csapp.cs.cmu.edu/ https://csapp.cs.cmu.edu/
- bo0tzz 5y agoWhile you should definitely check the links from other commenters, and targeted resources like that are great, what has worked wonders for me is to just apply a general curiosity. Any time you get a chance to dive into a fundamental topic, do so. Start at wikipedia pages, and before you know it you'll have your bases covered.