از بلوکها تا متن: Scratch به Python برای کودکان 9–12 سال
راهنمای گام به گام برای کمک به کودکان در انتقال از بلوکهای Scratch به کد Python واقعی، همراه با تمرینهای عملی و اشتباهات رایج.
کودکانی که چند پروژه Scratch ساختهاند معمولاً حول سن 10 یا 11 سالگی با مانعی مواجه میشوند: بلوکها برای آنچه که میخواهند بسازند بیشازحد ساده به نظر میرسند. این مانع در واقع زمان مناسب برای معرفی Python است. این راهنما مسیری را ترسیم میکند که قسمتهایی را که کودکان از Scratch میشناسند (sprites، loops، events) حفظ کرده و آنها را به کد واقعی منتقل میکند، به جای اینکه آنها را بدون پلای به syntax پرتاب کند.
چرا این جهش سختتر از آنچه باید به نظر میرسد
Scratch سه چیز را پنهان میکند که ناگهان در Python نمایان میشوند: انواع متغیر، تورفتگی (indentation)، و خطاهای syntax. کودکی که بلوک "repeat 10" را کشیده است هرگز نیاز به فکر کردن درباره کولون یا پرانتز نداشته است. هفته اول کار با Python بیشتر درباره تحمل پیامهای خطای قرمز بدون تسلیم شدن است. از قبل به آنها بگویید: برنامهنویسان حرفهای دسیها بار در روز پیام خطا میبینند. این نشانهای نیست که آنها در این کار ضعیف هستند.
از Trinket.io یا Replit در مرورگر استفاده کنید تا مرحلهای برای نصب نباشد. نصب دسکتاپ (Python 3.12+ از python.org، بهعلاوه Thonny بهعنوان ویرایشگر) را برای بعدی که آنها را جذب کرد نگاه دارید.
نگاشت مفاهیم Scratch به Python بهطور مستقیم
این مقایسه را بهطور آشکار، کنار هم، انجام دهید تا از صفر شروع نکنید:
- "when green flag clicked" → فقط اجرای فایل
.py - "repeat 10" →
for i in range(10): - "forever" →
while True: - "if <> then" →
if condition: - "ask and wait" →
input("question: ") - متغیرها (بلوکهای نارنجی) →
score = 0
آنها را ببینید که این معادل Scratch را ابتدا بنویسند، زیرا تقریباً یک ترجمه مستقیم است:
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 با لباس sprite ساختهاند. اکنون دیکشنری است: pet = {"hunger": 5, "energy": 8}.
سوم، به turtle graphics برای پاداش بصری بروید:
import turtle
t = turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
این یک مربع میکشد و مستقیماً الگوی "move 10 steps, turn 90 degrees" از ابزارهای pen Scratch را تکرار میکند. کودکان فوری تشابه را متوجه میشوند، که برای اعتماد بهنفس بیشتر از هر سخنرانی درباره syntax اهمیت دارد.
مدیریت خطاها بدون از دست دادن شتاب
IndentationError و NameError را در ماه اول بطور مداوم انتظار بکشید. برای آنها تعمیر نکنید — پیام خطا را با صدای بلند با هم بخوانید و شماره خطی را که نشان میدهد پیدا کنید. خطاهای Python معمولاً دقیقاً میگویند که مشکل چیست ("expected an indented block") حتی اگر متن خشک باشد. در چند هفته اکثر کودکان شروع به خواندن tracebacks سریعتر از بزرگسالی که به آنها کمک میکند میکنند.
یک دام واقعی: Python حساس به بزرگی حروف است و Scratch نیست. Score و score متغیرهای متفاوت هستند. این تقریباً هر کودکی از بلوکها را سخت میگذاراند، بنابراین این را زود بگویید تا بگذارید آنها از طریق ناامیدی آن را کشف کنند.
سرعت چهار هفتهای تقریبی که کار میکند
هفته 1: متغیرها، print()، input()، عملگرهای ریاضی پایه. هفته 2: if/elif/else با بازی حدس. هفته 3: حلقههای for و while، ساخت شبیهساز حیوان. هفته 4: توابع — پیچاندن اقدامات شبیهساز حیوان به سبک کد def feed(pet):، که بزرگترین پرش مفهومی از هنگامی است که بلوکهای سفارشی Scratch فقط اشارهای دارند.
از هفته 4 عجله نکنید. توابع جایی هستند که فکر کردن "برنامهنویس" واقعاً شروع میشود، و کودکانی که بدون فهم آنها مستقیماً به پروژههای بزرگتر میروند تمایل دارند کدی نامرتب و کپیشده بنویسند که سخت است.
اگر فرزند شما از این تغییر لذت میبرد، Korra Studio راهنماییهای Python برای مبتدیان بیشتر و بخشهای علوم رایانه کلی دارد که ارزش بررسی دارد.
با کمک هوش مصنوعی نوشتهشده، بازبینی و منتشرشده توسط Michal Pilch (CISSP)، Korra Studio.
این یکی از یادداشتهای پایگاه دانش Korra Studio است — پلتفرم هر موضوع را با مربی یکبهیک جفت میکند.
شروع رایگانarrow_forward