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:

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:

🎯 Key Outcomes

By the end of this course, you will:

πŸ—ΊοΈ 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

L01

Introduction to Mental Models

Understand what mental models are and why they're critical for learning CS

⏱️ 30 min
L02

Pattern Recognition and System 1 Thinking

How your brain creates shortcuts and when they help vs. hurt

⏱️ 35 min
L03

Analytical Thinking and System 2

Deliberate, effortful thinking and when to use it

⏱️ 35 min

Module 2: Memory Systems

L04

Working Memory: Your Cognitive RAM

The 7Β±2 rule and why complexity overwhelms us

⏱️ 30 min
L05

Long-Term Memory: Storage and Retrieval

How knowledge is encoded, stored, and retrieved

⏱️ 35 min
L06

Chunking: The Key to Expertise

How experts think in bigger pieces and how you can too

⏱️ 40 min

Module 3: Metacognition

L07

What is Metacognition?

Thinking about your own thinking process

⏱️ 25 min
L08

The Learning Loop

Plan β†’ Do β†’ Check β†’ Reflect in action

⏱️ 35 min
L09

Debugging Your Mind

Identifying and fixing cognitive errors

⏱️ 35 min

Module 4: Abstraction & Mental Models

L10

Levels of Abstraction

How we simplify complexity to understand it

⏱️ 30 min
L11

When Mental Models Break

Recognizing and updating incorrect models

⏱️ 30 min
L12

Building Accurate Models

Strategies for developing strong mental representations

⏱️ 35 min

Module 5: Cognition Meets Computation

L13

Computer Architecture as Brain Architecture

How CPU, RAM, and storage mirror human cognition

⏱️ 40 min
L14

Algorithms as Mental Procedures

Formalizing human problem-solving steps

⏱️ 35 min
L15

Variables, Functions, and Thought

Why code structures match how we think

⏱️ 35 min

πŸ”— Connections

Leads To

Used In Hackathon Lab


πŸ’‘ Key Concepts

Concept 1: Working Memory as Cognitive RAM

Your working memory can hold ~7Β±2 "chunks" of information at once. This is why:

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:

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:

In Software: This is why we have linters, formatters, autocomplete, and good UX design.


πŸ› οΈ Practical Applications

  1. Learning Any Skill: Use metacognitive loops to learn faster
  2. Problem Solving: Break problems into working-memory-sized chunks
  3. Communication: Understand how others process information
  4. System Design: Build software that respects cognitive limits
  5. Debugging: Think like a debugger about your own thinking

πŸ“– Resources


πŸš€ Ready to Begin?

Sign in to enroll

Create a free account to access this course and track your progress.

Next Course: EC101 β†’ View All Courses

Difficulty: β­β˜†β˜†β˜†β˜† Beginner
Time Commitment: ~6 hours
Prerequisites: None - start here!
Next Course: EC101 - Programming as Thinking