Living Learning learning manuscript · revision trace entry adaptive trace active
B04 · adaptive learning

배운 흔적이
다음 수업을
다시 씁니다.

고정된 syllabus를 따라가는 대신, 지금의 이해·망설임·오해를 읽고 다음 10분을 다시 편집합니다. 무엇이 바뀌었는지 학습 자료 위에서 직접 확인합니다.

내 학습 흔적 시작하기

첫 진단은 점수를 매기지 않습니다. “무엇을 모르는가”보다 “어디에서 이해가 갈라지는가”를 찾습니다.

one learner · one changing lessonTRACE / 08.15
01 / goalPython의 ‘왜’를 이해하고 싶다

문법 암기보다 코드가 작동하는 이유를 목표로 설정.

02 / diagnostic · read‘=’를 “같다”로 해석함

문법 부족이 아니라 수학의 등호 개념과 대입 개념이 충돌.

03 / lesson변수 · 이름과 값

설명 → 코드 순서로 첫 수업 진행.

05 / adapt · revision다음 수업을 코드 추적부터 시작

추상 설명을 줄이고 실행 순서와 세 개의 연결 예시를 먼저 배치.

LEARNER SIGNAL

“=는 왼쪽과 오른쪽이 같다는 뜻 아닌가요?”

next lesson · revision 02

값은 어떻게 바뀌고 다시 쓰일까

개념 정의부터 4문단
+ 실행 순서 3줄 먼저
+ ‘등호 ↔ 대입’ 비교 예시
GOAL → DIAGNOSTIC → LESSON → FEEDBACK → ADAPTfixed course: off
guide · 30 seconds · one real trace

제품 설명 대신, 한 번의 학습 변화만 봅니다.

목표를 정하고 → 한 문장을 다르게 이해하고 → 시스템이 그 차이를 읽고 → 실제 다음 수업의 순서를 바꾸는 장면입니다.

00 · GOAL / ANCHOR

“Python에서 기호를 외우지 않고, 코드가 왜 그렇게 움직이는지 이해하고 싶다.”

목표는 preference가 아니라 이후 해석의 기준점입니다.

01 · SIGNAL / DIAGNOSTIC
study_minutes = 10
=는 왼쪽과 오른쪽이 같다는 뜻 아닌가요?”
×
equality misconception

수학의 등호 schema가 assignment direction을 덮고 있음.

02 · LESSON REVISION / VISIBLE
First lesson · Rev. 01

정의를 뒤로 보내고, 실행 순서를 먼저 봅니다.

01

변수의 정의와 명명 규칙을 먼저 설명합니다.

02
오른쪽 값 → 왼쪽 이름 순서를 먼저 따라갑니다.
score = 10
score = 12
print(score) → 12
03

=를 “같다”와 “담는다”로 나란히 비교합니다.

이 제품에서 핵심 사건은 “수업 완료”가 아니라 학습 신호가 다음 원고를 수정한 순간입니다.

내 목표부터 시작하기
goal · first trace anchor

무엇을 배우는지보다, 어디까지 이해하고 싶은지 적습니다.

Goal은 onboarding preference가 아니라 이후 diagnostic과 lesson adaptation을 판단하는 첫 기준점입니다.

Current contract translatedPython 기초 목표와 예제 중심 선호를 유지하되, 선택 카드 대신 학습 의도와 성취 기준을 하나의 working manuscript로 표현합니다.
LEARNING INTENT · DRAFT 01LEARNER / LL-0417
I WANT TO LEARN
Python의 변수와 값이 왜 필요한지 이해하고 싶다.

문법을 외우는 것보다 코드가 위에서 아래로 어떻게 상태를 바꾸는지 읽고 싶습니다.

ENOUGH WHEN
처음 보는 짧은 코드를 보고, 값이 어디로 이동하는지 설명할 수 있다.

정답을 맞히는 것보다 자신의 말로 실행 순서를 설명하는 것을 도달 기준으로 둡니다.

I THINK I KNOW
“=”는 두 값이 같다는 뜻이라고 알고 있다.

학습자 스스로는 이미 안다고 생각하는 부분도 diagnostic hypothesis의 재료가 됩니다.

I WANT TO DO
작은 자동화 코드를 보고 값을 바꿔 내 상황에 재사용할 수 있다.

최종 목표를 “변수 정의 암기”가 아니라 실제 재사용 행동까지 확장합니다.

TRACE 00 · GOAL ANCHOR — 이후 시스템은 “왜 필요한지 이해”와 “재사용 가능”이라는 두 문장을 기준으로 diagnostic signal을 읽습니다.
diagnostic · understanding, not score

정답보다, 이해가 갈라지는 지점을 봅니다.

한 문장에 대한 반응을 읽고 바로 학습 상태로 번역합니다. 선택이 바뀌면 오른쪽 해석과 다음 수업 초안도 함께 바뀝니다.

Concept 01변수 · assignment
Signal depthresponse + confidence
Q 01 / 03

다음 코드에서 = 기호를 어떻게 이해하고 계신가요?

study_minutes = 10

가장 가까운 생각 하나를 고르세요. 정답 표시 대신, 시스템이 그 생각을 어떻게 읽는지 보여드립니다.

이 답에 얼마나 확신하시나요?
확신도는 “오해”와 “단순 망설임”을 구분하는 추가 신호입니다.

LESSON / 01첫 10분 · 값은 어떻게 바뀌고 다시 쓰일까지난 진단 반영 · code-first
concept 02 · assignment

값은 오른쪽에서 왼쪽 이름으로 들어갑니다.

이번 수업은 정의보다 실행 순서를 먼저 봅니다. 지난 진단에서 등호와 대입의 연결이 약하게 나타났기 때문입니다.

YOUR TRACE CHANGED THIS ORDER

1. 세 줄을 위에서 아래로 따라가 보세요.

아직 “변수”의 정의를 외울 필요는 없습니다. 컴퓨터가 세 줄을 읽으면서 어떤 값이 어디로 이동하는지만 봅니다.

01score = 1002score = 1203print(score)
01숫자 10을 이름 score에 담습니다.
02이번에는 숫자 12가 들어오면서 이전 값 10을 대신합니다.
03그래서 출력되는 값은 12입니다.

2. 이제 =를 다시 읽어봅니다.

score = 12는 “score와 12가 같다”가 아니라, “오른쪽의 12를 왼쪽 이름 score에 담는다”라고 읽는 편이 정확합니다. 이 방향을 이해하면 값이 바뀌는 코드도 자연스럽게 읽힙니다.

수학에서 쓰던 등호의 감각과 프로그래밍의 assignment가 충돌할 수 있습니다. 그 충돌 자체가 틀린 학습이 아니라, 지금 연결해야 할 지점입니다.

짧게 확인

lesson result · concept state

맞힌 개수보다, 지금 안정된 연결과 흔들리는 연결을 남깁니다.

첫 lesson의 반응을 점수로 압축하지 않고, 다음 feedback과 adaptation이 사용할 concept state로 바꿉니다.

Result after lesson 01정답 1/1이라는 current 정보는 보조 evidence로 남기되, 첫 화면의 주인공은 stable / uncertain / missing connection입니다.

“오른쪽 값을 왼쪽 이름에 담는다”는 방향은 안정됐습니다. 다만 값을 다시 쓰는 이유는 아직 연결되지 않았습니다.

LESSON 01 · concept: assignment · learner trace 02

정답 자체는 맞았습니다. 하지만 마지막 설명에서 “왜 이름을 붙여 다시 쓰는지”를 말하지 못해 다음 단계의 uncertainty로 남깁니다.
STABLE

assignment direction

score = 12는 오른쪽 12를 score에 넣는 것”이라고 자신의 말로 설명했습니다. 이 연결은 다음 lesson에서 반복 설명을 줄입니다.
UNCERTAIN

reassignment after change

score = 10 → score = 12의 결과는 맞혔지만, 이전 값이 왜 사라지는지 설명할 때 망설였습니다. 다음 수업에서 값 변경 흔적을 한 번 더 보여줍니다.
MISSING CONNECTION

name → value → reuse

“값을 담는 건 알겠는데, 왜 그냥 숫자 10을 다시 쓰면 안 되는지 모르겠다”는 반응이 남았습니다. 이 연결이 feedback에서 가장 가치 있는 learner signal 후보입니다.

다음 질문: 어떤 설명을 더 듣고 싶은지 묻는 survey가 아니라, 지금 manuscript의 어느 연결에서 학습자가 멈췄는지를 직접 표시합니다.

학습 흔적에 메모 남기기
feedback · learner annotation

다음 수업을 바꾸고 싶은 지점을, 방금 읽은 원고에 표시합니다.

Feedback을 설문 선택지로 분리하지 않고, 실제 학습 내용 위의 learner annotation으로 받습니다.

Interactive오른쪽 learner signal을 바꾸면 왼쪽 manuscript anchor, interpretation preview, next lesson marker가 함께 달라집니다.
adaptation · visible revision

당신의 신호가, 다음 수업의 문장을 바꿨습니다.

Before/After 표 대신 실제 다음 수업 원고 위에 삭제·추가·재배치 흔적을 남깁니다. 왼쪽 신호를 바꾸면 해석과 수정된 원고가 함께 바뀝니다.

learner signal / remove system revision / insert
01 · SIGNALlearner
“=는 왼쪽과 오른쪽이 같다는 뜻 아닌가요?”
DIAGNOSTIC Q01 · CONFIDENCE MID
02 · INTERPRETATIONsystem
×

개념 오해

수학의 equality schema가 프로그래밍의 assignment를 덮고 있습니다. “이름 → 값”의 관계보다 “좌변 = 우변” 관계를 먼저 떠올립니다.

03 · CHANGEnext lesson manuscript
Lesson 02 · 변수의 값 바꾸기

정의보다 실행 순서를 먼저 봅니다.

진단의 “등호” 오해를
직접 해소하기 위해
예시를 첫 문단으로 이동

변경은 “AI가 알아서”가 아니라, 어떤 학습 신호를 어떤 해석으로 읽었고 그 결과 무엇을 바꿨는지 추적 가능합니다.

바뀐 수업 읽기
LESSON / 02ADAPTED FROM YOUR LAST RESPONSEreuse connection weak → example first · terminology later
LONG-FORM / 02오늘의 10분 · 값을 저장하는 데서, 다시 꺼내 쓰는 데로feedback 반영 · 3 examples
concept 03 · reuse + reassignment

값을 저장하는 이유는, 나중에 다시 꺼내 쓰기 위해서입니다.

지난 피드백에서 “예제는 이해했는데 왜 재사용하는지 모르겠다”고 남겼습니다. 그래서 이번에는 변수 정의가 아니라 같은 값을 두 번 사용하는 장면부터 시작합니다.

YOUR FEEDBACK MOVED THIS EXAMPLE TO LINE 01

1. 같은 값을 두 번 써야 하는 순간부터 봅니다.

어제는 score = 10처럼 값을 이름에 담는 방향을 배웠습니다. 오늘은 “왜 굳이 score라는 이름이 필요한가?”를 확인합니다. 핵심은 한 번 저장한 값을 다른 계산에서 다시 사용할 수 있기 때문입니다.

01price = 1200002discounted = price - 200003print(price)04print(discounted)
01원래 가격 12,000원을 price라는 이름에 담습니다.
02숫자 12,000을 다시 쓰지 않고 price를 읽어 할인 가격을 계산합니다.
03–04한 이름에서 원래 값과 계산된 값을 모두 추적할 수 있습니다.
여기서 중요한 연결 — 변수는 단순히 “값을 담는 상자”가 아니라, 나중 계산이 이전 값을 다시 읽을 수 있게 해 주는 이름입니다. 지난 feedback의 missing connection을 직접 보강하는 문장입니다.

2. 값이 바뀌면, 이름은 새 현재값을 가리킵니다.

이제 재사용과 값 변경을 연결해 봅니다. 같은 이름을 다시 대입하면 그 이름이 가리키는 현재값이 달라집니다. 프로그램을 읽을 때는 “이 변수가 원래 무엇이었나?”보다 “지금 이 줄까지 실행했을 때 어떤 값을 가리키나?”가 더 중요합니다.

지난 Result에서 이전 값이 어디로 가는지 망설였기 때문에, 이번 설명은 “현재값”이라는 표현을 먼저 사용합니다. 메모리 내부 구현을 깊게 설명하기보다 실행 순서를 따라가며 상태 변화를 읽게 합니다.

01count = 102print(count) # 1
01count = 102count = 203print(count) # 2

같은 이름 count가 줄 02를 지나면서 새 값 2를 가리킵니다. 여기서 “이전 1이 사라졌다”고만 외우기보다, 코드의 현재 위치에서 count가 무엇을 뜻하는지를 추적하면 더 안정적으로 읽을 수 있습니다.

3. 왜 이름을 붙이면 코드가 더 읽기 쉬울까요?

숫자 자체를 여러 곳에 반복하면 그 숫자가 무엇을 뜻하는지 매번 기억해야 합니다. 반대로 study_minutes, price, count처럼 의미 있는 이름을 쓰면 코드가 데이터의 역할을 함께 설명합니다.

또한 값이 바뀌어도 이름을 사용하는 나머지 코드 전체를 다시 고칠 필요가 줄어듭니다. 예를 들어 기본 공부 시간을 10분에서 15분으로 바꾼다면, study_minutes = 15 한 줄을 바꾸고 그 이름을 쓰는 아래 계산은 같은 구조를 유지할 수 있습니다.

이 지점에서 변수의 가치는 “저장 공간”이라는 정의보다 더 구체적입니다. 값에 의미를 붙이고, 그 의미를 다음 줄에서 다시 읽게 해 주며, 변경을 한 곳에서 추적하게 해 줍니다.

4. 하나의 작은 장면으로 연결해 봅니다.

하루 목표 공부 시간이 10분이고, 오늘 4분을 공부했다고 가정해 보겠습니다. 남은 시간을 구하려면 두 값을 이름으로 저장한 뒤 새로운 계산에서 다시 사용합니다.

01goal_minutes = 1002done_minutes = 403left_minutes = goal_minutes - done_minutes04print(left_minutes) # 6

여기서는 세 이름이 하나의 연결을 만듭니다. goal_minutesdone_minutes가 새로운 값 left_minutes를 만드는 재료가 됩니다. 이것이 “저장 → 재사용 → 새로운 값”의 흐름입니다.

long-form stress segment · reading width preserved

5. 자기 말로 확인합니다.

정답 하나보다 연결을 설명하는 것이 이번 lesson의 목적입니다.

price = 12000 다음 줄에서 price를 다시 쓰는 이유를 한 문장으로 설명한다면?

learner home · current learning state

지금 내 학습은 어디에 있고, 다음 10분은 왜 이것인가.

Home은 메뉴 모음이 아니라 현재의 이해 상태와 바로 다음 학습 행동을 한 장면에서 잇습니다.

Current IA kept“오늘의 수업 + 무엇이 달라졌는지”는 current Home의 강점이므로 유지하고, 숙련도 카드·경로 카드·통계는 주인공에서 제거합니다.
CURRENT LEARNING STATE / TODAY

대입 방향은 안정됐고, 값을 다시 쓰는 이유가 아직 약합니다.

어제 Lesson 01에서 =의 방향은 설명할 수 있게 됐습니다. 그러나 “이름을 붙이면 왜 좋은가?”에서 연결이 끊겼고, 그 feedback이 오늘 lesson을 바꿨습니다.

STABLE

오른쪽 값 → 왼쪽 이름

기초 설명 반복을 줄입니다.

WEAK CONNECTION

name → value → reuse

오늘 가장 먼저 다룰 연결입니다.

progress · concept evolution

진도는 “얼마나 했는가”보다, 이해 구조가 어떻게 달라졌는가입니다.

개념을 선택하면 그 개념의 misconception → stabilization → connection 형성 과정과 당시 lesson fragment가 함께 바뀝니다.

Interactive왼쪽 concept을 바꾸면 timeline만 필터링하는 것이 아니라, 해당 개념의 revision history와 manuscript fragment 자체가 달라집니다.

assignment · 방향 연결이 안정되기까지

MISCONCEPTION REMOVED · DAY 1 → DAY 2

history · revision lineage

수업 목록이 아니라, 내 학습이 어떻게 다시 쓰여 왔는지 남깁니다.

Diagnostic signal → lesson revision → learner annotation → concept stabilization이 하나의 lineage로 이어집니다.

Current history translated날짜·수업명·피드백 이력은 보존하지만, 카드형 완료 목록 대신 “어떤 신호가 어떤 원고를 바꿨는지”를 시간 순서로 읽게 합니다.
DAY 01 · DIAGNOSTIC

“=는 같다”

signal / misconception

수학의 equality schema가 assignment direction을 덮고 있다는 해석이 생성되었습니다.

LEARNER TRACE · “왼쪽과 오른쪽이 같다는 뜻 아닌가요?”
DAY 01 · LESSON V1

실행 순서를 앞으로 이동

revision / first lesson

변수 정의 4문단을 축소하고, score = 10 → 12 실행 추적 예시를 첫 장면으로 옮겼습니다.

정의부터코드 추적 먼저 · 등호↔대입 비교 추가
DAY 01 · RESULT

assignment direction 안정

concept state / stable

“오른쪽 값을 왼쪽 이름에 넣는다”는 설명이 자신의 말로 가능해졌습니다. 다음 lesson의 기초 설명을 줄일 수 있는 근거가 생겼습니다.

STABLE REGION · assignment direction
DAY 01 · FEEDBACK

“왜 다시 쓰는지는 모르겠다”

annotation C / missing connection

Lesson 01의 “이름을 붙이면 나중에 다시 사용한다” 문장에 learner annotation이 달렸습니다.

name → value 연결은 있으나 value → reuse가 비어 있음
DAY 02 · LESSON V2

재사용 예시를 첫 코드로 이동

revision / adapted lesson

가격·할인 예시를 첫 장면으로 옮기고, 추상 용어 설명은 실제 재사용을 본 뒤로 이동했습니다.

REV.02 · example-first · 1→3 examples · terminology later
NEXT · OPEN

reuse connection 형성 중

current state

다음 check에서 “왜 이름을 다시 쓰는가”를 자신의 말로 설명하면 이 연결을 stable로 옮기고 조건문 진입을 준비합니다.

next hinge → explain reuse without prompt