The CS knowledge map you can grep, search, and ship from.
Ephizen is a reference for working engineers — programming, systems, math, machine learning, and the modern AI stack — written in a single voice and cross-linked so you can land on any topic from search and leave with what you came for. No enrolment, no completion tracking, no "next chapter".
The CS Skill Tree
Twelve domains, from print("hello world") to shipping
agents in production. Click any leaf to jump to its guide; WIP nodes
are on the wiki’s roadmap.
-
Programming
Pick a language, learn its idioms, master the tooling. Python is the wiki's default because the ML stack is Python, but the concepts transfer.
Pick a language- Python (wiki default) Guide
- Go WIP
- Rust WIP
- Java WIP
- JavaScript / TypeScript WIP
- C / C++ WIP
- C# WIP
Language fundamentals- Variables, types, control flow WIP
- Functions, scope, closures WIP
- Mutability, identity, references Guide
- List / dict / set / tuple Guide
- List & dict comprehensions Guide
- Error handling & exceptions WIP
- File I/O WIP
- Modules & imports WIP
OOP & idioms- Classes, inheritance, polymorphism WIP
- Composition over inheritance WIP
- Encapsulation & visibility WIP
- Dataclasses Guide
- Type hints Guide
- Context managers Guide
- Decorators Guide
- Iterators & generators Guide
- Logging Guide
Tooling & version control- venvs · pip · uv · poetry Guide
- Git fundamentals WIP
- Branching, rebasing, merge WIP
- GitHub / GitLab workflows WIP
- Editor / IDE setup WIP
- Pydantic v2 validation Guide
- pydantic Tool
Production patterns- pytest & fixtures Guide
- Profiling Guide
- async / await Guide
- asyncio for LLMs Guide
- Packaging & distribution WIP
- Code style & linting WIP
-
Data Structures
The containers algorithms run on. Know them cold — you'll choose them in every interview and every hot loop.
Linear- Array (fixed) & dynamic array WIP
- Linked list (reversal) Guide
- Doubly linked list WIP
- Stack Guide
- Queue & circular queue WIP
- Deque WIP
- Hash table / hashmap WIP
- Hash set WIP
- Collision strategies (chain / open addressing) WIP
Trees- Binary tree WIP
- BST WIP
- AVL tree (self-balancing) WIP
- Red-Black tree WIP
- B-tree (DB engine) WIP
- 2-3 / 2-3-4 / K-ary tree WIP
- Heap & priority queue (top-K) Guide
- Trie Guide
- Segment tree, Fenwick (BIT) WIP
- K-D tree WIP
Graphs- Adjacency list / matrix WIP
- Directed / undirected WIP
- Weighted graphs WIP
- DAGs WIP
- Spanning tree WIP
- Tree BFS Guide
- Tree DFS Guide
Specialised & probabilistic- Monotonic stack Guide
- Monotonic deque Guide
- Union-find (DSU) Guide
- Skip list WIP
- Bloom filter WIP
- Count-min sketch WIP
- HyperLogLog WIP
- LRU / LFU / MFU cache WIP
Asymptotic notation- Big O · Big Θ · Big Ω WIP
- Common runtimes (constant → factorial) WIP
- Amortised analysis WIP
- Space complexity WIP
-
Algorithms
Patterns that show up in every interview, every backend, every ML pipeline. Big-O is the language they speak.
Recursion & searching- Tail vs non-tail recursion WIP
- Binary search Guide
- Linear search WIP
- Graph BFS Guide
- Graph DFS Guide
- Bidirectional BFS WIP
Sorting- Bubble sort WIP
- Selection sort WIP
- Insertion sort WIP
- Merge sort WIP
- Quick sort WIP
- Heap sort WIP
- Counting / radix / bucket WIP
- Cyclic sort Guide
- K-way merge Guide
- Topological sort Guide
Coding patternsGraph algorithms- Dijkstra's shortest path Guide
- Bellman-Ford WIP
- Floyd-Warshall WIP
- A* search WIP
- Prim's MST WIP
- Kruskal's MST WIP
- Tarjan / Kosaraju (SCC) WIP
- Network flow (Ford-Fulkerson) WIP
Dynamic programming- 1D DP Guide
- Knapsack family Guide
- Grid & strings DP Guide
- Interval DP WIP
- Bitmask DP WIP
- Tree DP WIP
String search- Brute force search WIP
- Knuth-Morris-Pratt (KMP) WIP
- Rabin-Karp WIP
- Boyer-Moore WIP
- Suffix arrays WIP
- Aho-Corasick WIP
Greedy classics & backtracking puzzles- Huffman coding WIP
- Interval scheduling WIP
- N-Queens WIP
- Hamiltonian path WIP
- Knight's tour WIP
- Sudoku solver WIP
Complexity classes- P · NP · NP-complete · NP-hard WIP
- Reductions WIP
- Approximation algorithms WIP
- Randomised algorithms WIP
-
Computer Systems
What actually runs your code — CPU, memory, OS, concurrency. The layer most engineers wave at and most bugs come from.
How computers work- How a CPU executes programs WIP
- Registers & RAM WIP
- Instruction sets (x86, ARM, RISC-V) WIP
- CPU cache (L1/L2/L3) WIP
- How computers calculate (binary, two's complement) WIP
- Endianness (big / little) WIP
- Floating-point math (IEEE 754) WIP
- Character encodings (Unicode, UTF-8, ASCII) WIP
Operating systems- Processes vs threads WIP
- Process forking WIP
- Scheduling algorithms WIP
- CPU interrupts WIP
- Virtual memory & paging WIP
- Memory allocation (stack vs heap) WIP
- Syscalls WIP
- Filesystems WIP
- Linux fundamentals WIP
Concurrency- GIL · threading · multiprocessing Guide
- async / await Guide
- Coroutines & event loops WIP
- Producer / consumer WIP
- Locks, mutexes, semaphores WIP
- Deadlock & race conditions WIP
- Lock-free data structures WIP
- Concurrency in multiple cores WIP
-
Networking & Web
How packets become products. From wires to APIs to the LLM-serving stack you'll ship.
The internet- OSI 7-layer model WIP
- TCP/IP model WIP
- DNS WIP
- HTTP/1.1, /2, /3 WIP
- TLS / HTTPS WIP
- Cookies, sessions, CORS WIP
- Sockets WIP
Real-time data- WebSockets WIP
- Server-Sent Events (SSE) WIP
- Long polling vs short polling WIP
- WebRTC WIP
API styles- REST WIP
- GraphQL WIP
- gRPC WIP
- JSON-API · HATEOAS WIP
- OpenAPI / Swagger WIP
- postman Tool
Backend stack- FastAPI Tool
- Web servers (nginx, Caddy) WIP
- Reverse proxies & load balancers WIP
- CDNs WIP
- Auth: JWT, OAuth, sessions WIP
- Rate limiting, throttling WIP
- Backpressure & circuit breakers WIP
Message brokers & search- kafka Tool
- RabbitMQ WIP
- NATS WIP
- Elasticsearch WIP
- Solr WIP
System design- Horizontal vs vertical scaling WIP
- Caching (client / server / CDN) WIP
- CAP theorem · PACELC WIP
- Consensus (Raft, Paxos) WIP
- Sharding & partitioning strategies WIP
- Saga / 2PC (distributed txns) WIP
- Event sourcing · CQRS WIP
- Twelve-factor app WIP
Security basics- OWASP Top 10 WIP
- Hashing vs encryption WIP
- Symmetric vs asymmetric crypto WIP
- Password hashing (bcrypt, scrypt, argon2) WIP
- Secrets management WIP
-
Databases
Where state lives. Get fluent in SQL, learn the engine underneath, then pick the right shape for the job.
SQL fundamentalsAdvanced SQL- Window functions Guide
- Ranking (ROW_NUMBER, RANK, DENSE_RANK) Guide
- LAG / LEAD / FIRST_VALUE Guide
- Recursive CTEs Guide
- Time-series queries Guide
- JSON in SQL Guide
- Star schema & feature stores Guide
- Stored procedures & triggers WIP
- Views & materialised views WIP
Engine internals- Indexes (B-tree, hash, GIN) Guide
- EXPLAIN & query plans Guide
- Transactions & ACID Guide
- BASE & PACELC WIP
- Isolation levels Guide
- Locking (optimistic vs pessimistic) WIP
- Normalisation Guide
- Sharding & partitioning Guide
- OLTP vs OLAP Guide
- Replication (leader/follower, multi-master) WIP
- Database federation WIP
- Migrations WIP
Engine families- Relational (PostgreSQL, MySQL) WIP
- Document (mongodb, CouchDB) Tool
- Key-value (redis, DynamoDB) Tool
- Realtime (Firebase, RethinkDB) WIP
- Time-series (Influx, TimescaleDB) WIP
- Columnar (Cassandra, ScyllaDB) WIP
- Graph (Neo4j, Neptune) WIP
- Warehouses: snowflake Tool
- Lakehouse: databricks Tool
-
Math & Numerical Computing
The mathematical backbone of ML — plus the array libraries that let you ship it.
Discrete math- Logic & proof techniques WIP
- Set theory WIP
- Combinatorics WIP
- Graph theory WIP
- Number theory (modular arithmetic) WIP
- Information theory (entropy, MI) WIP
Linear algebra- Vectors, norms, dot products WIP
- Matrices & matrix multiplication WIP
- Determinants & inverses WIP
- Eigenvalues & eigenvectors WIP
- SVD & PCA derivation WIP
- Tensor operations WIP
Calculus- Derivatives & partial derivatives WIP
- Gradients & Jacobians WIP
- Chain rule (the ML one) WIP
- Hessians & second-order methods WIP
- Constrained optimisation (Lagrange) WIP
Probability & statistics- Random variables, distributions WIP
- Expectation, variance, covariance WIP
- CLT, law of large numbers WIP
- Bayes rule & conditional probability WIP
- MLE & MAP estimation WIP
- Hypothesis testing WIP
- A/B testing WIP
- CUPED & variance reduction WIP
- Bootstrap & resampling WIP
- KL divergence Term
-
Classical ML
The pre-deep-learning toolbox you still reach for first on tabular data. Half of "AI" in production is still gradient-boosted trees.
Supervised learning- Linear regression WIP
- Logistic regression WIP
- Naive Bayes WIP
- k-Nearest Neighbours WIP
- SVM (linear + kernel) WIP
- Decision trees WIP
- Random forests WIP
- Gradient boosting (XGBoost, LightGBM, CatBoost) Term
- xgboost Tool
Unsupervised- k-means Term
- Hierarchical clustering WIP
- DBSCAN WIP
- Gaussian mixtures WIP
- PCA WIP
- t-SNE / UMAP WIP
- Anomaly detection WIP
Time series & recsys- ARIMA / SARIMA WIP
- Prophet / NeuralProphet WIP
- Exponential smoothing WIP
- Collaborative filtering WIP
- Matrix factorisation WIP
- Two-tower retrieval WIP
Workflow & evaluation- Feature engineering Term
- Feature stores Term
- Cross-validation Term
- Bias / variance trade-off Term
- Overfitting Term
- Underfitting Term
- Regularisation (L1 / L2 / ElasticNet) Term
- Hyperparameter tuning Term
- Class imbalance & resampling WIP
- Calibration (Platt, isotonic) WIP
Metrics- Precision & recall Term
- F1 score Term
- ROC / AUC Term
- PR curve WIP
- Log loss / Brier score WIP
- MSE · MAE · RMSE · R² WIP
-
Deep Learning
Gradients all the way down. From the perceptron to ResNets and ViTs — the substrate every modern model is built on.
FoundationsOptimisers & regularisation- Optimiser (SGD, Momentum, RMSProp) Term
- Adam (paper) Paper
- AdamW · Lion · Sophia WIP
- Dropout Term
- Batch normalisation Term
- BatchNorm (paper) Paper
- LayerNorm · RMSNorm · GroupNorm WIP
- Weight decay & gradient clipping WIP
Architectures- MLP / perceptron WIP
- CNNs Term
- AlexNet (paper) Paper
- ResNet (paper) Paper
- U-Net (segmentation) WIP
- EfficientNet WIP
- RNN / LSTM / GRU WIP
- Vision Transformer Paper
- GAN Term
- Diffusion model Term
- Stable Diffusion (paper) Paper
- YOLO Term
Training techniques- Transfer learning Term
- Distillation Term
- Epoch / batch / step Term
- Mixed precision (FP16 / BF16) WIP
- Gradient accumulation WIP
- Data augmentation WIP
- Curriculum learning WIP
Frameworks -
Transformers & LLMs
Attention, tokenisation, pretraining, alignment — the engine room of every frontier model.
The transformerTokens & embeddingsTraining & alignmentFoundation models- Foundation model Term
- BERT (paper) Paper
- GPT-3 (paper) Paper
- LLaMA (paper) Paper
- CLIP (multimodal) Paper
- Anthropic Claude (Opus, Sonnet, Haiku) WIP
- OpenAI GPT-4 / GPT-4o / o1 WIP
- Google Gemini WIP
- Mistral & Mixtral WIP
- Cohere Command WIP
Inference & decodingServing & SDKs- OpenAI Chat Completions API WIP
- Anthropic Messages API WIP
- Tool use / function calling WIP
- Structured outputs (JSON mode) WIP
- Streaming responses WIP
- Token counting & pricing WIP
- vllm (high-throughput serving) Tool
- ollama (local LLMs) Tool
- huggingface-transformers Tool
Multimodal- Vision-language models (CLIP, LLaVA) WIP
- OpenAI Vision API (GPT-4V) WIP
- DALL-E / Midjourney / Imagen WIP
- Whisper (speech-to-text) WIP
- TTS (text-to-speech) WIP
- Audio understanding WIP
- Video understanding (Sora, Veo) WIP
-
RAG & Retrieval
Give the model your data. Embed, search, rerank, generate — the bread-and-butter pattern of every LLM app at work.
RAG fundamentals- RAG Term
- RAG (Lewis 2020 paper) Paper
- Chunking strategies Term
- Embedding Term
- Sentence Transformers WIP
- OpenAI embeddings API WIP
- Vector database Term
- HNSW (graph index) Term
- IVF / IVF-PQ WIP
- Similarity search (cosine, dot, L2) Term
Advanced retrieval- Hybrid search (dense + sparse / BM25) Term
- Reranker Term
- Reranking pipelines Term
- Graph RAG Term
- Agentic RAG Term
- Query rewriting / decomposition WIP
- MMR (max marginal relevance) WIP
- Citations & source attribution WIP
- DPR (paper) Paper
- ColBERT (paper) Paper
Vector databases- pinecone Tool
- chroma Tool
- weaviate Tool
- qdrant Tool
- lancedb Tool
- pgvector (Postgres extension) Tool
- Milvus WIP
- FAISS WIP
-
Agents, Eval & MLOps
Ship it. Prompts, agents, evaluation, monitoring, deployment — the production stack for LLM systems.
PromptingAgent patterns- Agent loop (perceive → reason → act) Term
- Multi-agent system Term
- Model Context Protocol (MCP) Term
- Tool use & function calling WIP
- Planner / executor split WIP
- Memory (episodic, semantic, scratchpad) WIP
Agent frameworksEvaluationSafety- Prompt injection Term
- Jailbreaks & adversarial prompts WIP
- Guardrails Term
- Hallucination Term
- Red teaming Term
- Bias & fairness audits WIP
- PII filtering & redaction WIP
- Content moderation APIs WIP
MLOps & deployment- LLMOps Term
- Model registry Term
- Canary / blue-green / shadow deploys Term
- Data drift Term
- Concept drift Term
- Drift detection (PSI, KS) Term
- bentoml (model serving) Tool
- ray-serve Tool
- docker Tool
- kubernetes Tool
- terraform (IaC) Tool
- GPU optimisation (Triton, TensorRT) WIP
- Workflow engines (Airflow, Prefect, Dagster) WIP