
Computer Science
Notes on computer science concepts, organized from foundational theory to systems, machine learning, and applied subjects.

Figure: ENIAC gives architecture pages a physical reference point before modern chips. Image: Wikimedia Commons, Paul W. Shaffer and TexasDex, CC BY-SA 3.0/GFDL.
Figure: Layered neural networks make differentiable function approximation visible. Image: Wikimedia Commons, Cburnett, CC BY-SA 3.0/GFDL.

Figure: A real autonomous vehicle grounds the driving stack in a physical platform. Image: Wikimedia Commons, Grendelkhan, CC BY-SA 4.0.
Figure: Git is a practical substrate for collaboration, branching, review, and release workflows. Image: Wikimedia Commons, Jason Long, CC BY 3.0.
Topics
Foundations
- Programming Languages — C, C++, Rust, Java, Python, R
- Algorithms — sorting, searching, DP, graph algorithms
- Data Structures — arrays, trees, hash tables, graphs
- Theory of Computation — automata, complexity, computability
Systems
- Operating Systems — processes, scheduling, memory, files
- Databases — relational model, transactions, indexing
- Computer Architecture — ISA, pipelines, caches, parallelism
- Embedded & Microprocessors — 8085, 8051, microcontrollers, peripherals
- Control Engineering — Laplace, root locus, Bode/Nyquist, state-space, digital control
Machine Learning
- Data Mining — clustering, classification, association rules
- Machine Learning — classical statistical learning, decision trees, Bayesian methods
- Deep Learning — CNNs, RNNs, Transformers, modern architectures
- Reinforcement Learning — MDPs, Q-learning, policy gradients, deep RL
- Adversarial Attacks — robustness, white/black-box attacks, defenses, certified bounds
Applied
- Natural Language Processing — language models, parsing, semantics
- Cryptography — symmetric/public-key, security proofs
- Software Engineering — design, testing, process
- Autonomous Driving — perception, prediction, planning, control, safety
Languages used in code samples
- Python — algorithmic clarity, ML/DL/NLP, data mining
- C / C++ — systems, data structures, embedded
- Rust — safe systems programming
- Java — OOP, concurrency
- R — statistics and visualization
- MATLAB — control engineering, signal processing