Computer Science
Formal Sciences
Computation as a way of knowing — information, algorithm, and the limits of what can be mechanically constructed.
Notes
Algorithms & Data Structures
The design, analysis, and implementation of efficient algorithms and the data structures that support them — the mathematical and engineering foundation of all non-trivial computation.
Compilers
The translation of high-level programming languages into efficient machine code — lexing, parsing, semantic analysis, optimization, and code generation as a pipeline of effective procedures.
Computer Graphics
The synthesis of images from geometric and appearance models — rendering pipelines, shaders, textures, lighting, and the algorithms that turn 3D scenes into 2D pixels at interactive rates.
CPU Design
Architecture, microarchitecture, instruction sets, pipelining, memory hierarchy, and the engineering of high-performance, correct, and efficient processors.
Databases
The design, implementation, and optimization of systems for storing, querying, and managing large volumes of structured data under concurrency, failures, and performance constraints.
Distributed Systems
The design and implementation of systems that run on multiple computers that do not share memory or a common clock — consensus, replication, fault tolerance, and the fundamental limits imposed by asynchrony and partial failure.
Machine Learning
Algorithms that learn patterns from data to make predictions, classify, generate, or act — the science and engineering of building systems that improve from experience.
Networking
The design and implementation of protocols, abstractions, and systems that enable communication between computers — layering, packetization, addressing, routing, reliability, and the end-to-end principle.
Operating Systems
The software layer that manages hardware resources, provides abstractions, enforces protection, and schedules computation — the foundational runtime environment for all higher-level software.
Programming
Data, algorithms, and the construction of software — transforming human intent into executable computation.
Security
The principles, mechanisms, and engineering practices for protecting systems, data, and communications against threats — confidentiality, integrity, availability, authentication, and authorization in the presence of adversaries.
Web Development
The engineering of interactive, performant, and accessible applications on the web platform — spanning DOM, components, HTTP, state, caching, build pipelines, and deployment under real-world constraints.