Basics Story

Computing Basics Story – Prologue

motivation, story content, references

0.0  Prologue

Computing Basics is a progressive survey of the technology stack that underlies all software development. Starting from silicon and working up through operating systems, programming languages, tooling, data structures, concurrency, deployment pipelines, and networking, each chapter builds on the last.
Why study computing basics?
  1. Performance problems almost always trace back to fundamentals: cache misses, context switches, I/O latency, garbage collection pauses, or lock contention. Understanding the substrate makes these problems diagnosable.
  2. Debugging requires a mental model of what hardware and the operating system are actually doing. Knowing how virtual memory, processes, and threads work makes hard bugs tractable.
  3. Language and tool choices make more sense when you understand what they abstract. A garbage-collected language trades throughput for convenience; a compiled language trades compile time for runtime speed.
  4. Modern deployment — containers, cloud, CI/CD — is easier to reason about from first principles than from folklore.
  5. Fundamentals transfer across languages and platforms; syntax does not.
This story is intended to help you build a coherent mental model of how computers work at every layer of the stack, from transistors through deployment.

0.1  Getting Started

No prerequisites beyond curiosity and a willingness to look things up. Each chapter is self-contained — skip or skim what you already know. The Pages list at the lower right navigates between chapters.
  1. Start with hardware (Chapter 1) if you want to understand why programs are fast or slow before learning how to write them.
  2. Start with languages (Chapter 5) if you are choosing a first language or evaluating one for a project.
  3. Start with tooling (Chapter 6) if you are setting up a development environment and want to understand what each tool does.
  4. Start with deployment (Chapter 9) if your team is adopting containers, cloud, or CI/CD for the first time.

0.2  Story Content

This story orders content into a sequence of chapters that move from hardware upward through the full software stack. Each chapter is a single web page accessible from the Pages list at the lower right. Chapters:
  1. Prologue

    Motivation, layout, and references for the Basics story.
  2. Hardware

    CPU architecture, cache hierarchy, RAM, storage, I/O, and the memory hierarchy.
  3. Software & Operating Systems

    What the OS provides, kernel vs. user space, processes, threads, virtual memory, and file systems.
  4. Networks

    Network structure, OSI/TCP-IP layers, protocols (IP, TCP, UDP, HTTP, TLS), routing, and DNS.
  5. Internet and Wi-Fi

    Internet architecture (ISPs, IXPs, CDNs), the World Wide Web, Wi-Fi standards (802.11 generations, frequency bands), OFDM/MIMO, and Wi-Fi security (WPA3, SAE).
  6. Programming Languages

    Compiled vs. interpreted, static vs. dynamic typing, paradigms, memory management strategies, and how to choose a language.
  7. Tooling

    Editors, IDEs, compilers, build systems, version control, package managers, debuggers, and testing tools.
  8. Data Structures & Algorithms

    Arrays, linked lists, stacks, queues, hash maps, trees, graphs, and Big-O complexity.
  9. Concurrency

    Threads, shared state, synchronization, message passing, async/await, and common concurrency bugs.
  10. Deployment

    Packaging, containers, cloud platforms, CI/CD pipelines, monitoring, and security basics.

0.3  References

Reference Description
CS50 — Harvard Free online introductory computer science course covering programming, data, memory, and systems.
Operating Systems: Three Easy Pieces Open-access textbook on virtual memory, scheduling, concurrency, and file systems.
GeeksforGeeks CS Tutorials Practical tutorials on data structures, algorithms, operating systems, databases, and networks.
MDN Web Docs Comprehensive reference for web standards and browser APIs; also covers JavaScript, HTTP, and networking fundamentals.
Wikipedia — Computer Science High-level reference with links to essential CS concepts, languages, and history.
TutorialsPoint — Computer Fundamentals Covers core topics including computer organization, operating systems, and software engineering.