How Humans Think
A Computational Introduction to the Mind
Before you learn to code, learn how you think
π Overview
You are a computational system. Your brain processes information, stores memories, runs procedures, and manages limited resources.
Computers were modeled after humansβnot the other way around.
This course teaches you to see your own mind as an information-processing system, which makes learning programming feel like learning a formalized language for something you already do: think.
By understanding:
- How working memory functions (and its limits)
- How long-term memory stores and retrieves information
- How chunking allows complex thoughts
- How metacognition creates better thinkers
- How mental models shape what we understand
You'll grasp why code looks the way it does, why certain patterns exist, and why some problems feel "easy" while others feel impossible.
What You'll Learn:
- Cognition as an information system
- Working vs. long-term memory
- Chunking and abstraction in thought
- Metacognitive loops (plan β do β check β reflect)
- Why computers mirror human cognition
π― Key Outcomes
By the end of this course, you will:
- Understand your own thinking as a computational process with measurable limits and patterns
- See why programming exists as a formalization of human problem-solving
- Recognize cognitive load in yourself and in the systems you build
- Apply metacognition to become a more effective learner and builder
- Think about thinking in a way that makes learning any technical skill easier
πΊοΈ Course Curriculum
Below is the complete lesson structure. Each lesson includes video content, interactive scenarios, flashcards, quizzes, and reflection questions.
Module 1: The Architecture of Thought
Introduction to Mental Models
Understand what mental models are and why they're critical for learning CS
β±οΈ 30 minPattern Recognition and System 1 Thinking
How your brain creates shortcuts and when they help vs. hurt
β±οΈ 35 minAnalytical Thinking and System 2
Deliberate, effortful thinking and when to use it
β±οΈ 35 minModule 2: Memory Systems
Working Memory: Your Cognitive RAM
The 7Β±2 rule and why complexity overwhelms us
β±οΈ 30 minLong-Term Memory: Storage and Retrieval
How knowledge is encoded, stored, and retrieved
β±οΈ 35 minChunking: The Key to Expertise
How experts think in bigger pieces and how you can too
β±οΈ 40 minModule 3: Metacognition
What is Metacognition?
Thinking about your own thinking process
β±οΈ 25 minThe Learning Loop
Plan β Do β Check β Reflect in action
β±οΈ 35 minDebugging Your Mind
Identifying and fixing cognitive errors
β±οΈ 35 minModule 4: Abstraction & Mental Models
Levels of Abstraction
How we simplify complexity to understand it
β±οΈ 30 minWhen Mental Models Break
Recognizing and updating incorrect models
β±οΈ 30 minBuilding Accurate Models
Strategies for developing strong mental representations
β±οΈ 35 minModule 5: Cognition Meets Computation
Computer Architecture as Brain Architecture
How CPU, RAM, and storage mirror human cognition
β±οΈ 40 minAlgorithms as Mental Procedures
Formalizing human problem-solving steps
β±οΈ 35 minVariables, Functions, and Thought
Why code structures match how we think
β±οΈ 35 minπ Connections
Leads To
- EC101 - Programming as Thinking - Apply these concepts to writing code
- EC103 - State Memory Process - Deep dive into memory systems
- EC201 - Algorithms - Mental procedures formalized
Related Tutorials
- [Coming Soon]
Used In Hackathon Lab
- Week 001 Kickoff - Understanding user mental models
- Every week uses EC000 for user empathy and design thinking
π‘ Key Concepts
Concept 1: Working Memory as Cognitive RAM
Your working memory can hold ~7Β±2 "chunks" of information at once. This is why:
- Phone numbers are 7-10 digits
- Code should be broken into small functions
- Complex problems feel overwhelming without notes
In Software: Variables, function scopes, and stack frames mirror this limitation.
Concept 2: Chunking as Abstraction
Experts don't think in smaller piecesβthey think in bigger chunks.
A beginner sees: f, o, r, (, i, =, 0, ...
An expert sees: "for loop iterating over a range"
In Software: Functions, classes, and modules are chunking mechanisms.
Concept 3: Metacognition as Debugging
The best learners constantly ask:
- "What am I trying to do?"
- "Is this working?"
- "What would I do differently next time?"
In Software: This becomes: planning, testing, refactoring, retrospectives.
Concept 4: Mental Models Shape Understanding
You can only understand new information through the lens of what you already know.
If your mental model of "computer" is "a magic box," you'll struggle with programming.
If your mental model is "a system that follows precise instructions," everything clicks.
In Software: APIs, documentation, and interfaces all try to match developers' mental models.
Concept 5: Cognitive Load Management
Your brain has limited processing power. Managing cognitive load means:
- Breaking problems into smaller pieces
- Externalizing memory (notes, diagrams)
- Automating repetitive tasks
- Building systems that respect human limits
In Software: This is why we have linters, formatters, autocomplete, and good UX design.
π οΈ Practical Applications
- Learning Any Skill: Use metacognitive loops to learn faster
- Problem Solving: Break problems into working-memory-sized chunks
- Communication: Understand how others process information
- System Design: Build software that respects cognitive limits
- Debugging: Think like a debugger about your own thinking
π Resources
- Reading: "Thinking, Fast and Slow" by Daniel Kahneman
- Reading: "The Debugger's Mindset" (article)
- Practice: Keep a thinking journal for one week
- Community: community for discussion
π Ready to Begin?
Sign in to enroll
Create a free account to access this course and track your progress.
Difficulty: βββββ Beginner
Time Commitment: ~6 hours
Prerequisites: None - start here!
Next Course: EC101 - Programming as Thinking