정의를 뒤로 보내고, 실행 순서를 먼저 봅니다.
변수의 정의와 명명 규칙을 먼저 설명합니다.
score = 12
print(score) → 12
=를 “같다”와 “담는다”로 나란히 비교합니다.
고정된 syllabus를 따라가는 대신, 지금의 이해·망설임·오해를 읽고 다음 10분을 다시 편집합니다. 무엇이 바뀌었는지 학습 자료 위에서 직접 확인합니다.
첫 진단은 점수를 매기지 않습니다. “무엇을 모르는가”보다 “어디에서 이해가 갈라지는가”를 찾습니다.
문법 암기보다 코드가 작동하는 이유를 목표로 설정.
문법 부족이 아니라 수학의 등호 개념과 대입 개념이 충돌.
설명 → 코드 순서로 첫 수업 진행.
정답보다 연결과 직관이 부족하다는 추가 신호.
추상 설명을 줄이고 실행 순서와 세 개의 연결 예시를 먼저 배치.
“=는 왼쪽과 오른쪽이 같다는 뜻 아닌가요?”
목표를 정하고 → 한 문장을 다르게 이해하고 → 시스템이 그 차이를 읽고 → 실제 다음 수업의 순서를 바꾸는 장면입니다.
“Python에서 기호를 외우지 않고, 코드가 왜 그렇게 움직이는지 이해하고 싶다.”
목표는 preference가 아니라 이후 해석의 기준점입니다.
수학의 등호 schema가 assignment direction을 덮고 있음.
변수의 정의와 명명 규칙을 먼저 설명합니다.
=를 “같다”와 “담는다”로 나란히 비교합니다.
이 제품에서 핵심 사건은 “수업 완료”가 아니라 학습 신호가 다음 원고를 수정한 순간입니다.
내 목표부터 시작하기 →Goal은 onboarding preference가 아니라 이후 diagnostic과 lesson adaptation을 판단하는 첫 기준점입니다.
문법을 외우는 것보다 코드가 위에서 아래로 어떻게 상태를 바꾸는지 읽고 싶습니다.
정답을 맞히는 것보다 자신의 말로 실행 순서를 설명하는 것을 도달 기준으로 둡니다.
학습자 스스로는 이미 안다고 생각하는 부분도 diagnostic hypothesis의 재료가 됩니다.
최종 목표를 “변수 정의 암기”가 아니라 실제 재사용 행동까지 확장합니다.
한 문장에 대한 반응을 읽고 바로 학습 상태로 번역합니다. 선택이 바뀌면 오른쪽 해석과 다음 수업 초안도 함께 바뀝니다.
study_minutes = 10
가장 가까운 생각 하나를 고르세요. 정답 표시 대신, 시스템이 그 생각을 어떻게 읽는지 보여드립니다.
이 답에 얼마나 확신하시나요?
확신도는 “오해”와 “단순 망설임”을 구분하는 추가 신호입니다.
이번 수업은 정의보다 실행 순서를 먼저 봅니다. 지난 진단에서 등호와 대입의 연결이 약하게 나타났기 때문입니다.
아직 “변수”의 정의를 외울 필요는 없습니다. 컴퓨터가 세 줄을 읽으면서 어떤 값이 어디로 이동하는지만 봅니다.
score = 12는 “score와 12가 같다”가 아니라, “오른쪽의 12를 왼쪽 이름 score에 담는다”라고 읽는 편이 정확합니다. 이 방향을 이해하면 값이 바뀌는 코드도 자연스럽게 읽힙니다.
수학에서 쓰던 등호의 감각과 프로그래밍의 assignment가 충돌할 수 있습니다. 그 충돌 자체가 틀린 학습이 아니라, 지금 연결해야 할 지점입니다.
첫 lesson의 반응을 점수로 압축하지 않고, 다음 feedback과 adaptation이 사용할 concept state로 바꿉니다.
LESSON 01 · concept: assignment · learner trace 02
score = 12는 오른쪽 12를 score에 넣는 것”이라고 자신의 말로 설명했습니다. 이 연결은 다음 lesson에서 반복 설명을 줄입니다.score = 10 → score = 12의 결과는 맞혔지만, 이전 값이 왜 사라지는지 설명할 때 망설였습니다. 다음 수업에서 값 변경 흔적을 한 번 더 보여줍니다.다음 질문: 어떤 설명을 더 듣고 싶은지 묻는 survey가 아니라, 지금 manuscript의 어느 연결에서 학습자가 멈췄는지를 직접 표시합니다.
학습 흔적에 메모 남기기 →Feedback을 설문 선택지로 분리하지 않고, 실제 학습 내용 위의 learner annotation으로 받습니다.
=는 오른쪽 값을 왼쪽 이름에 담는 방향으로 읽습니다.
Ascore = 10 다음에 score = 12를 만나면 이름 score가 가리키는 현재 값은 12가 됩니다.
B이름을 붙여 두면 나중에 같은 값을 다시 사용할 수 있습니다. 그래서 프로그램은 값 자체보다 이름을 통해 값을 읽는 경우가 많습니다.
C변수, 재할당, 상태라는 용어를 함께 사용하면 더 큰 프로그램의 변화를 설명할 수 있습니다.
D밑줄은 정답 표시가 아니라 “여기에서 학습이 멈췄다”는 위치 정보입니다. 다음 lesson은 이 위치를 근거로 원고를 다시 편집합니다.
Before/After 표 대신 실제 다음 수업 원고 위에 삭제·추가·재배치 흔적을 남깁니다. 왼쪽 신호를 바꾸면 해석과 수정된 원고가 함께 바뀝니다.
“=는 왼쪽과 오른쪽이 같다는 뜻 아닌가요?”
수학의 equality schema가 프로그래밍의 assignment를 덮고 있습니다. “이름 → 값”의 관계보다 “좌변 = 우변” 관계를 먼저 떠올립니다.
변경은 “AI가 알아서”가 아니라, 어떤 학습 신호를 어떤 해석으로 읽었고 그 결과 무엇을 바꿨는지 추적 가능합니다.
바뀐 수업 읽기 →지난 피드백에서 “예제는 이해했는데 왜 재사용하는지 모르겠다”고 남겼습니다. 그래서 이번에는 변수 정의가 아니라 같은 값을 두 번 사용하는 장면부터 시작합니다.
어제는 score = 10처럼 값을 이름에 담는 방향을 배웠습니다. 오늘은 “왜 굳이 score라는 이름이 필요한가?”를 확인합니다. 핵심은 한 번 저장한 값을 다른 계산에서 다시 사용할 수 있기 때문입니다.
이제 재사용과 값 변경을 연결해 봅니다. 같은 이름을 다시 대입하면 그 이름이 가리키는 현재값이 달라집니다. 프로그램을 읽을 때는 “이 변수가 원래 무엇이었나?”보다 “지금 이 줄까지 실행했을 때 어떤 값을 가리키나?”가 더 중요합니다.
지난 Result에서 이전 값이 어디로 가는지 망설였기 때문에, 이번 설명은 “현재값”이라는 표현을 먼저 사용합니다. 메모리 내부 구현을 깊게 설명하기보다 실행 순서를 따라가며 상태 변화를 읽게 합니다.
같은 이름 count가 줄 02를 지나면서 새 값 2를 가리킵니다. 여기서 “이전 1이 사라졌다”고만 외우기보다, 코드의 현재 위치에서 count가 무엇을 뜻하는지를 추적하면 더 안정적으로 읽을 수 있습니다.
숫자 자체를 여러 곳에 반복하면 그 숫자가 무엇을 뜻하는지 매번 기억해야 합니다. 반대로 study_minutes, price, count처럼 의미 있는 이름을 쓰면 코드가 데이터의 역할을 함께 설명합니다.
또한 값이 바뀌어도 이름을 사용하는 나머지 코드 전체를 다시 고칠 필요가 줄어듭니다. 예를 들어 기본 공부 시간을 10분에서 15분으로 바꾼다면, study_minutes = 15 한 줄을 바꾸고 그 이름을 쓰는 아래 계산은 같은 구조를 유지할 수 있습니다.
이 지점에서 변수의 가치는 “저장 공간”이라는 정의보다 더 구체적입니다. 값에 의미를 붙이고, 그 의미를 다음 줄에서 다시 읽게 해 주며, 변경을 한 곳에서 추적하게 해 줍니다.
하루 목표 공부 시간이 10분이고, 오늘 4분을 공부했다고 가정해 보겠습니다. 남은 시간을 구하려면 두 값을 이름으로 저장한 뒤 새로운 계산에서 다시 사용합니다.
여기서는 세 이름이 하나의 연결을 만듭니다. goal_minutes와 done_minutes가 새로운 값 left_minutes를 만드는 재료가 됩니다. 이것이 “저장 → 재사용 → 새로운 값”의 흐름입니다.
정답 하나보다 연결을 설명하는 것이 이번 lesson의 목적입니다.
Home은 메뉴 모음이 아니라 현재의 이해 상태와 바로 다음 학습 행동을 한 장면에서 잇습니다.
어제 Lesson 01에서 =의 방향은 설명할 수 있게 됐습니다. 그러나 “이름을 붙이면 왜 좋은가?”에서 연결이 끊겼고, 그 feedback이 오늘 lesson을 바꿨습니다.
기초 설명 반복을 줄입니다.
오늘 가장 먼저 다룰 연결입니다.
예제에서 먼저 보고 설명을 뒤에 붙입니다.
개념을 선택하면 그 개념의 misconception → stabilization → connection 형성 과정과 당시 lesson fragment가 함께 바뀝니다.
MISCONCEPTION REMOVED · DAY 1 → DAY 2
Diagnostic signal → lesson revision → learner annotation → concept stabilization이 하나의 lineage로 이어집니다.
수학의 equality schema가 assignment direction을 덮고 있다는 해석이 생성되었습니다.
변수 정의 4문단을 축소하고, score = 10 → 12 실행 추적 예시를 첫 장면으로 옮겼습니다.
“오른쪽 값을 왼쪽 이름에 넣는다”는 설명이 자신의 말로 가능해졌습니다. 다음 lesson의 기초 설명을 줄일 수 있는 근거가 생겼습니다.
Lesson 01의 “이름을 붙이면 나중에 다시 사용한다” 문장에 learner annotation이 달렸습니다.
가격·할인 예시를 첫 장면으로 옮기고, 추상 용어 설명은 실제 재사용을 본 뒤로 이동했습니다.
다음 check에서 “왜 이름을 다시 쓰는가”를 자신의 말로 설명하면 이 연결을 stable로 옮기고 조건문 진입을 준비합니다.