I would recommend to check out this website.<p><a href="https://www.programmingbooks.dev" rel="nofollow">https://www.programmingbooks.dev</a><p>This website categorizes books based on the level of experience from beginner to master. One important advice is don't forget to practice what you have read.
nand2tetris.org is a great book for understanding what is going on "under the hood" without undergoing a traditional education in computer science.