Mastering computer science doesn’t happen overnight, but with consistent daily learning, you can build a strong foundation. This 60-day cheat sheet outlines the essential topics in computer science, with concise explanations and practical examples to support your understanding.


60-Day Computer Science Roadmap

Day 1: What is Computer Science?
The study of computers, algorithms, and problem-solving using computational techniques.

Day 2: History of Computing
From Charles Babbage's Analytical Engine to modern microprocessors.

Day 3: Binary and Number Systems
Example: The decimal number 13 is 1101 in binary.

Day 4: Logic Gates and Circuits
Example: An AND gate returns true only if both inputs are true (1 AND 1 = 1).

Day 5: Boolean Algebra
Rule: A + 0 = A; A × 1 = A.

Day 6: Bits, Bytes, and Encoding
1 byte = 8 bits; The character "A" is 01000001 in ASCII.

Day 7: Computer Architecture Basics
Components: CPU (brain), memory (workspace), I/O devices (communication).

Day 8: CPU, RAM, and Storage
RAM is volatile memory; HDD/SSD is persistent storage.

Day 9: Operating Systems Overview
Examples: Windows, macOS, Linux manage hardware and software.

Day 10: Processes and Threads
Google Chrome may run multiple threads for each tab.

Day 11: Memory Management
Example: Virtual memory uses disk space when RAM is full.

Day 12: File Systems
NTFS (Windows), ext4 (Linux), APFS (macOS).

Day 13: Programming Paradigms
Procedural: C
Object-Oriented: Java
Functional: Haskell

Day 14: Algorithms vs Programs
An algorithm is a recipe; a program is the implementation.

Day 15: Pseudocode and Flowcharts
Example pseudocode:

IF age > 18 THEN
   PRINT "Adult"

Day 16: Time Complexity (Big O Notation)
Example: Linear search = O(n); Binary search = O(log n)

Day 17: Searching Algorithms
Linear search checks each item; binary search halves the list each time.

Day 18: Sorting Algorithms
Bubble sort repeatedly swaps adjacent elements.
Example input: [5, 2, 4] → [2, 4, 5]

Day 19: Recursion
Example:

function factorial(n) {
  if (n === 1) return 1;
  return n * factorial(n - 1);
}

Day 20: Data Structures Overview
Structures to store and organize data: arrays, trees, graphs, etc.

Day 21: Arrays and Linked Lists
Array: fixed size; Linked list: dynamic and connected via pointers.

Day 22: Stacks and Queues
Stack: LIFO → undo operations
Queue: FIFO → print jobs

Day 23: Trees
Example: File systems use hierarchical trees (folders within folders).

Day 24: Binary Search Trees
Left node < root < right node — allows efficient searching.

Day 25: Graphs
Used to represent networks: cities connected by roads.

Day 26: Graph Traversal
Depth-First Search uses a stack; Breadth-First Search uses a queue.

Day 27: Hash Tables
Example: hash("name") → memory location, for fast lookup.

Day 28: Heaps and Priority Queues
Used in scheduling systems to prioritize tasks.

Day 29: Dynamic Programming
Example: Fibonacci numbers with memoization to avoid recomputation.

Day 30: Greedy Algorithms
Example: Choosing the highest value coin first to make change.

Day 31: Divide and Conquer
Example: Merge sort splits the list, sorts, then merges.

Day 32: Object-Oriented Programming
Class Dog with properties (name, age) and methods (bark).

Day 33: Functional Programming
Example in JavaScript:

const square = x => x * x;

Day 34: Compilers and Interpreters
Compiler: C (compiles to machine code)
Interpreter: Python (line-by-line execution)

Day 35: Programming Languages
Low-level: Assembly
High-level: Java, Python
Scripting: JavaScript

Day 36: Introduction to Databases
Stores data in tables (rows and columns).

Day 37: SQL Basics

SELECT * FROM users WHERE age > 18;

Day 38: Relational vs NoSQL
Relational: MySQL
NoSQL: MongoDB (document-based)

Day 39: Transactions and ACID Properties
A banking system ensures balance consistency after transfers.

Day 40: Networking Basics
A message sent over the internet travels through multiple routers.

Day 41: The OSI Model
7 layers: Physical → Application. Helps standardize communication.

Day 42: TCP/IP and HTTP
HTTP runs over TCP/IP to fetch web pages.

Day 43: IP Addressing and DNS
IP: 192.168.1.1; DNS translates example.com to an IP address.

Day 44: Cybersecurity Fundamentals
Concepts: malware, firewalls, secure passwords.

Day 45: Encryption and Hashing
Encryption is reversible (AES), hashing is one-way (SHA-256).

Day 46: Authentication and Authorization
Login form = authentication
Admin access = authorization

Day 47: Software Engineering Principles
DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid)

Day 48: SDLC and Agile Methodologies
SDLC phases: requirements, design, implementation, testing, maintenance.
Agile: fast iterations and collaboration.

Day 49: Version Control with Git

git init
git add .
git commit -m "Initial commit"

Day 50: Testing and Debugging
Unit tests check functions; debugging identifies and fixes issues.

Day 51: System Design Fundamentals
Designing scalable systems like messaging apps or social media platforms.

Day 52: Scalability and Load Balancing
Distributing traffic across servers to handle growth.

Day 53: APIs and REST
API endpoint:
GET /users/1 returns user data in JSON.

Day 54: Cloud Computing
AWS, Azure, and Google Cloud offer scalable infrastructure and services.

Day 55: Virtualization and Containers
Docker allows apps to run in isolated environments.

Day 56: Introduction to AI and Machine Learning
Spam filters learn patterns from emails to classify new messages.

Day 57: Ethics in Computing
Examples: algorithmic bias, data privacy, misinformation.

Day 58: Technical Interview Preparation
Practice coding questions, data structures, and mock interviews.

Day 59: Building a Technical Portfolio
Host projects on GitHub with clear README files and documentation.

Day 60: Continued Learning and Growth
Join developer communities, read technical blogs, contribute to open source.


Get the Full Computer Science eBook

For in-depth explanations, illustrations, and practice questions, download the complete guide:

codewithdhanian.gumroad.com/l/oxksef