블록에서 텍스트로: 9~12세를 위한 Scratch에서 Python으로
Scratch 블록에서 실제 Python 코드로 옮겨가는 것을 돕는 단계별 가이드. 구체적인 연습 문제와 흔한 실수를 포함합니다.
Scratch 프로젝트를 몇 개 만들어본 아이들은 보통 10~11세 즈음에 막힙니다: 블록이 자신들이 만들고 싶은 것에 비해 너무 단순해 보이기 때문입니다. 그 시점이 바로 Python을 소개하기에 알맞은 때입니다. 이 가이드는 Scratch에서 아이들이 이미 알고 있는 부분들(스프라이트, 루프, 이벤트)을 유지하고 실제 코드로 매핑하는 경로를 제시합니다. 다리 없이 구문에 던져 넣는 대신 말이죠.
왜 이 전환이 예상보다 어려워 보이는가
Scratch는 Python에서 갑자기 드러나는 세 가지를 숨깁니다: 변수 타입, 들여쓰기, 구문 에러입니다. "10번 반복" 블록을 끌어다 놓던 아이는 콜론이나 괄호에 대해 생각할 필요가 없었습니다. Python과의 첫 주는 대부분 포기하지 않으면서 빨간색 에러 메시지를 견디는 것에 관한 것입니다. 미리 말해 주세요: 전문 프로그래머들도 하루에 수십 번 에러 메시지를 봅니다. 이것이 자신들이 이걸 못 한다는 신호가 아니라는 것을 말이죠.
Trinket.io나 Replit을 브라우저에서 사용하세요. 먼저 싸워야 할 설치 단계가 없으니까요. 데스크톱 설치(python.org의 Python 3.12+ 그리고 Thonny 에디터)는 아이들이 빠져들었을 때를 위해 남겨 두세요.
Scratch 개념을 Python으로 직접 매핑하기
처음부터 시작하는 대신, 이 비교를 명시적으로 나란히 하세요:
- "초록색 깃발 클릭" →
.py파일을 그냥 실행 - "10번 반복" →
for i in range(10): - "계속 반복" →
while True: - "만약 <> 이면" →
if condition: - "물어보고 기다리기" →
input("question: ") - 변수(주황색 블록) →
score = 0
이것을 먼저 쓰게 하세요. 거의 직역에 가깝거든요:
score = 0
for i in range(5):
score = score + 10
print("Score is now:", score)
실행한 다음, range(5)가 range(20)이 되면 어떻게 될지 물어보세요. 코드를 실행하기 전에 출력을 예측하는 것이 여기서 만들어야 할 가장 중요한 습관입니다.
동기를 유지하는 세 가지 프로젝트
숫자 맞추기 게임은 고전적인 첫 프로젝트입니다. input(), if/elif/else, 루프를 쓰고 실제 프로그램처럼 작동하기 때문입니다:
import random
secret = random.randint(1, 20)
guess = 0
while guess != secret:
guess = int(input("Guess a number 1-20: "))
if guess < secret:
print("Too low")
elif guess > secret:
print("Too high")
print("You got it!")
텍스트 기반 펫 시뮬레이션(먹이주기, 놀기, 자기, 상태 확인)은 다음 단계로 좋습니다. 아이들이 Scratch에서 스프라이트 의상으로 비슷한 것을 이미 만들었기 때문입니다. 이제 딕셔너리입니다: pet = {"hunger": 5, "energy": 8}.
세 번째로, 시각적 보상을 위해 turtle 그래픽으로 옮겨 가세요:
import turtle
t = turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
이것은 정사각형을 그리고 Scratch의 펜 도구에서 "10칸 이동, 90도 회전" 패턴을 직접 반복합니다. 아이들이 그 유사성을 즉시 알아채는데, 구문에 관한 강의보다 자신감에는 이것이 더 중요합니다.
동력을 잃지 않으면서 에러 다루기
첫 달에 IndentationError와 NameError를 자주 기대하세요. 직접 고쳐 주지 말고 에러 메시지를 함께 크게 읽고 그것이 가리키는 줄 번호를 찾으세요. Python의 에러는 보통 정확히 뭐가 잘못됐는지 말합니다("들여쓰기된 블록이 필요합니다" 같이 표현은 건조하지만). 몇 주 지나면 대부분의 아이들이 도와주는 어른보다 빠르게 traceback을 읽기 시작합니다.
하나의 진짜 함정: Python은 대소문자를 구분하고 Scratch는 아닙니다. Score와 score는 다른 변수입니다. 이것은 블록에서 오는 거의 모든 아이를 당황하게 하니, 좌절로 발견하게 두기보다 미리 언급하세요.
작동하는 대략 4주 페이스
1주차: 변수, print(), input(), 기본 산술 연산자. 2주차: if/elif/else 그리고 맞추기 게임. 3주차: for과 while 루프, 펫 시뮬레이션 만들기. 4주차: 함수 — 펫 시뮬레이션의 동작을 def feed(pet): 스타일 코드로 감싸기. Scratch의 커스텀 블록이 이것만 암시하니 지금까지의 가장 큰 개념적 도약입니다.
4주차를 서둘러 지나가지 마세요. 함수는 "프로그래머" 사고가 정말 시작되는 곳이고, 함수를 이해하지 않고 더 큰 프로젝트로 바로 뛰어가는 아이들은 디버그하기 어려운 지저분하고 복사-붙여넣기한 코드를 쓰는 경향이 있습니다.
아이가 이 전환을 즐기고 있다면, Korra Studio는 다음에 탐색할 가치가 있는 더 많은 초급 Python 설명서와 일반 컴퓨터 과학 섹션을 가지고 있습니다.
AI 도움을 받아 작성했으며, Michal Pilch(CISSP), Korra Studio에서 검토 및 게시했어요.
이것은 Korra Studio 나레지베이스의 한 노트예요. 플랫폼은 모든 주제를 1-to-1 멘토링과 함께 제공해요.
무료로 시작하기arrow_forward