Skip to content

Computer Science Self Learning Guideline

This computer science self-learning guide draws inspiration from "Teach Yourself Computer Science" and "csdiy.wiki" presenting the content in a more streamlined and efficient manner.

Meanwhile, the following guidelines can also serve as your reference.

There are 2 types of software engineer: those who understand computer science well enough to do challenging, innovative work, and those who just get by because they're familiar with a few high level tools. Both call themselves software engineers, and both tend to earn similar salaries in their early careers. But Type 1 engineers progress toward more fulfilling and well-remunerated work over time, whether that's valuable commercial work or breakthrough open-source projects, technical leadership or high-quality individual contributions.

Your self-learning journey should encompass 11 essential areas:

  1. Programming
  2. Computer Architecture
  3. Algorithms and Data Structures
  4. Math for CS
  5. Operating Systems
  6. Computer Networking
  7. Databases
  8. Languages and Compilers
  9. Distributed Systems
  10. Artificial Intelligence
  11. Others

Before embarking on your self-learning adventure, we recommend starting with an introductory course: Crash Course Computer Science by Carrie Anne. Here is my Notes

This series will provide an excellent foundation for your studies.

The recommended content will be marked with a star and displayed in bold at the beginning of the text, while the content I have completed will be marked with a checkmark and set to green at the end of the text.