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.

All Formal Sciences fields