Subtopics: AI and ML, Computer architecture, Computer networks, Data structures and algorithms, Theory of computation.
Here's 3 amazing resources to learn Computer science:
-
Teach Yourself Computer Science (teachyourselfcs.com)
free • resource • by Oz Nova, Myles Byrne • 2020
This is a guide to computer science for self-taught engineers. It lists the most essential subjects and the best books and video lectures to learn them – you'll know what to learn, why, and how. Unlike other similar guides and lists, this one is very focused and covers only the subjects believed to be required for all software engineers.
-
Open Source Society University (github.com)
free • resource • 2023
This is a CS curriculum composed of open courses from top universities. It aims to help self-learners to get a freely available equivalent of a world-class CS degree. The topics include fundamentals like programming, math, and computer architecture as well as more advanced subjects like theory of computation and functional programming. Even if you don't plan to spend two years going through the entire curriculum, you may still find some courses recommendations valuable.
-
The Computer Science Book (thecomputersciencebook.com)
free • book • by Tom Johnson • 2020
This is an "introduction to computer science in one book". It will guide your through fundamental CS topics that are likely to be relevant for your software engineering job – things like algorithms and data structures, computer architecture, networking, and distributed systems. The text finds a nice balance of breadth and depth and is written in good plain English. And you don't have to read it chapter-by-chapter – the topics are quite self-contained.