Programming Foundations

Programming is the implementation layer for every other domain in this vault. These notes build fluency from the ground up: how computation works, how to structure it, how to reason about its correctness and efficiency.


Core Topics

Languages & Paradigms

Concepts that transcend any single language: typing systems, memory models, concurrency primitives, functional vs. imperative thinking.

Data Structures

Arrays, linked lists, stacks, queues, trees, heaps, hash tables, graphs — their implementations, trade-offs, and when to use each.

Algorithms

Sorting, searching, dynamic programming, greedy methods, graph traversal, divide and conquer. Analysis via Big-O.

Software Design

Design patterns, SOLID principles, clean architecture, APIs, modularity, and testability.

Systems Programming

How programs interact with hardware: memory management, processes, threads, I/O, and operating system primitives.


Key Questions These Notes Answer

  • What is the time and space complexity of this operation?
  • How do I choose the right data structure for this problem?
  • How do I design software that is maintainable at scale?
  • How does a program actually execute on hardware?

Prerequisites

None. This is a starting point.

Connects To

0 items under this folder.