Teach Yourself Computer Science
See: https://teachyourselfcs.com/
The suggestion is to pursue these topics in the order than they appear in:
Programming
Recommended reading: Structure and Interpretation of Computer Programs.
Document UUID: gkppuooqr-hpqf-hque-wuld-hhfaeidefpra
.
The recommendation here is to work through the first three chapters.
Computer Architecture
Recommended reading: Computer Systems: A Programmer's Perspective.
Document UUID: gfjehshjf-hqek-hluo-ekoq-uihwfrrlehwi
.
According to the website, chapters 1-6 cover most of a introductory course on the topic.
Algorithms and Data Structures
Books:
UUID: gipejljdq-eoqa-heio-wauq-idrilewkhhel
How to Solve It.
Math for CS
Starting point:
Lecture Notes (Laszlo Lovasz):
https://cims.nyu.edu/~regev/teaching/discretefall_2005/dmbook.pdf
Books: Mathematics For Computer Science:
https://courses.csail.mit.edu/6.042/spring17/mcs.pdf
Operating Systems
Operating Systems Concepts (Dinosaur book)
Modern Operating Systems
Operating Systems: 3 easy pieces.
Distributed Systems
Books: Computer Networking: A top Down approach.
UUID: glluqawks-hiqf-hili-rjor-uhpphlpjrsup