Geared towards intermediate level. Content I can personally vouch for. I will keep improving it.

Why to Study? Find your WHY?

Before diving into the technical content, it's crucial to understand your motivation. Why do you want to learn computer science? Is it for a career change, intellectual curiosity, or to build something amazing? Your "why" will fuel you through the challenging parts.

HOW to Study?

Massive amount of material, don't try to rush through it, pick what is important right now.

  • Learn by doing
  • Be Curious. Chat with AI.
  • Specifics of HOW don’t Matter? Only What and WHY matters!!! - so read accordingly.
  • Reading is faster than watching. Doing is faster than reading.

Use this website to pirate all .epub for any book and then read on your kindle: Anna's Archive

Use this website to send books to your kindle: Send to Kindle

If you are not able to access any Medium articles in this plan: Freedium or Archive.ph

When done with everything - Just randomly open - roadmap.sh/computer-science - start reading.

What to Study?

Computer Science fundamentals can be broken down into the following: Teach Yourself CS (Amazing Resource)

Topics Importance Beginner Intermediate
Databases Very Important I assume you know most about this, compared to other topics, we will dive into this last.

Practical Projects.
Decent Knowledge - Need Depth
Data Structure and Algorithm / Core Programming Important Beginners are below average at this.

Leet code + Neet code.
Above average - Need Mastery
Computer Architecture Rarely need it for most careers, very hardware machine level specific knowledge Recommended
Operating Systems Very Important Beginners are below average in this.

Use the terminal + Linux.
Recommended
Computer Networks + Cloud Very Important You have ZERO knowledge.

Read + Observe.
Recommended
Language of compilers Don't need it for most careers, very machine level specific knowledge Recommended
Distributed Systems Important Beginners lack basic knowledge.

Need operating system knowledge as pre-req.
Very Recommended
Cryptography Important Beginners lack basic knowledge. Very Recommended
System Design Very Important Beginners lack basic knowledge. Very Recommended
App + Web + Server Programming Average Importance Most people start here. Not the best approach.
AI + Machine Learning Average Importance Most people understand applied AI, need more depth.

Computer Networks + Cloud

WATCH THIS - How does the internet work? - YouTube Video

History and Fundamentals

URLs and Domains

Networking Basics

OSI Model

Everything in Networking is a part of OSI Model:

Networking Protocols

TCP/IP and UDP

HTTP and HTTPS

APIs

Cookies, Sessions and SSH

Exercise

  • Download and use Wireshark - and analyze network traffic - Wireshark

In-Depth Reading

Networking for Dummies: PDF Link

Amazon Kindle: Anna's Archive

What to Read:

  • Chapter 1 - Let's Network
  • Chapter 5 - Dealing with TCP/IP - Page 69 - to Page 86
  • Chapter 6 - Oh, What a Tangled Web We Weave: Cables, Switches, and Routers - Page 95 - Page 112
  • Chapter 9 - Setting Up a Wireless Network - Page 131 - Page 150
  • Chapter 10 - Virtual Networking - Page 151 - Page 159
  • Chapter 20 - Hardening your Network
  • Chapter 21 - Network Performance Anxiety
  • Chapter 22 - Life in cloud city
  • Chapter 24 - Connecting from Home

Cloud

This will all be hands on exercise - cloud is not different from networking fundamentals, just someone else's computer.

Operating Systems

Basic Introduction

Process and Thread Management

Creating and managing execution contexts

Context Switching

Rapidly switching between running processes

CPU Scheduling

Determining which process runs when

Memory Management

Organizing and protecting system memory

Virtual Memory

Creating the illusion of unlimited memory

File Systems

Organizing and storing persistent data

Synchronization

Coordinating access to shared resources

Deadlocks

Preventing and resolving resource conflicts

Interrupt Handling

Managing hardware events efficiently

System Calls

Providing controlled access to kernel services

Boot Process

Initializing the system from power-on

Kernel Architectures

Different approaches to OS design

Linux and Terminal

System Design

Pre-requisite - Networking + OS + DSA

Just follow this: Complete System Design Roadmap

This is your guy - watch these videos in free time or before interviews - Gaurav Sen YouTube

Caching

Data Structure and Algorithm / Core Programming

To start with - solve these questions:

DSA Starting Problems

After that

You need to solve these topic by topic (ONLY EASY and MEDIUM - do not do HARD): NeetCode Roadmap

All you need to do is pick up a problem and then learn the concept behind solving that problem. For the first problem in a new topic watch the video, and then do the others on your own.

Here is some theory behind patterns (Talk with AI - in depth): 15 LeetCode Patterns

Once done - you can solve these: LeetCode Problem List

Do not even attempt to do anything outside the above two links.

If you are stuck there are video solutions:

Time complexity cheat sheet - Big O Cheat Sheet

Time Complexity Chart

Cryptography

There are going to be a lot of jargon - don't be scared.

Hashing

SHA-256 Deep Dive

Caesar Cipher

Cryptography Basics

RSA

Authentication & Authorization

JWT Auth Tokens

Exercises

AI and Machine Learning

Great Resources

Neural Nets Watch List - Welch Labs

Interesting Videos

Deep Learning - LLM - Neural Nets

Visualizing LLMs: Interactive LLM Visualization

Attention is all you Need 👑: Original Paper

Chris Manning Lectures: Stanford NLP Lectures

Andrej Karpathy 🤴🏻: Andrej Karpathy YouTube

Reinforcement Learning

Extra - Ilya Sutskever talks: Ilya Sutskever Playlist

Diffusion Models

The Breakthrough Behind Modern AI Image Generators: Diffusion Models Explained

Fourier Transform

Good luck on your learning journey! And remember - we're in this together.