Exploring Computer Science🔗
The CS theory behind the production code you write.

Welcome to a practical guide for working engineers who want to understand the computer science foundations underneath the code they ship every day.
The Problem🔗
Your PR got rejected because the reviewer said it's "\(O(n^2)\)". You nodded, made some changes, but couldn't quite explain why the new version is faster. You've debugged stack traces without understanding why they're called "stacks." You use hash tables (Python dict, JavaScript Object) constantly but couldn't explain how they achieve \(O(1)\) lookup.
You know HOW to code. This site teaches you WHY things work.
The Solution🔗
While Exploring Linux, Exploring Python, and Exploring Kubernetes teach practical skills, this site teaches the theory that makes you a stronger engineer. Work through it and you'll:
- Confidently discuss time/space complexity in code reviews
- Recognize when your algorithm won't scale
- Understand what's happening under the hood in your tools
- Answer theory questions in technical interviews
- Debug more effectively by understanding fundamentals
How It's Organized🔗
Three tiers, increasing in depth. Each has its own overview covering exactly what's inside.
-
The CS you need for interviews and understanding performance — Big-O, type systems, recursion, trees, and what actually happens when your code runs.
-
CS that makes you better at debugging and system design — parsers, compilers, operating systems, and the protocols behind every API call.
-
Mastery (coming soon)
Deep theory for understanding the limits of computation — information theory, formal languages, computability, and functional programming.
Who This Is For🔗
You're a back-end engineer, platform engineer, or software developer who:
- Writes production code daily (Python, Go, Java, JavaScript, etc.)
- Has real-world experience shipping features and debugging issues
- Wants to understand the "why" behind the tools you use, whether or not a CS course ever covered it
- May be self-taught, a bootcamp graduate, or a career changer
You already know how to code. This site teaches the theory underneath.
Integration with Other Sites🔗
This site is part of the BradPenney.io learning ecosystem:
- Exploring Linux — Linux commands and system administration
- Exploring Kubernetes — Kubernetes for platform engineers
- Exploring Python — Python automation and scripting
- Exploring Software Development Tools — Git, tmux, vim, and developer tooling
How they connect: CS + Python explains why your code performs the way it does; CS + Tools explains the theory behind grep (regex), git (DAGs), and parsers (compilers); CS + K8s grounds distributed systems concepts.
Ready to understand the theory? Start with Essentials for the foundations, then move to Efficiency once you're ready to go deeper.