اگر به دنبال آموزش برنامهنویسی به کودکان بوده باشید، احتمالاً نام اسکرچ (Scratch) را شنیدهاید.
محیطی رنگارنگ که در آن به جای نوشتن کدهای پیچیده، کودک بلوکهای مختلف را کنار هم قرار میدهد و میتواند شخصیتها را حرکت دهد، داستان بسازد یا حتی بازی خودش را طراحی کند.
اما یک سؤال مهم وجود دارد: آیا اسکرچ برای همه کودکان مناسب است؟
آیا صرفاً رسیدن کودک به یک سن مشخص یعنی وقت شروع اسکرچ است؟ یا بهتر است قبل از آن مهارتهایی مثل دنبال کردن دستورها، حل مسئله و تفکر مرحلهای در کودک شکل گرفته باشد؟ برای پاسخ به این سؤال، ابتدا باید ببینیم کودک در اسکرچ واقعاً چه کاری انجام میدهد.
اسکرچ چیست؟
اسکرچ یک محیط برنامهنویسی بصری است که برای کودکان و نوجوانان طراحی شده است. برخلاف بسیاری از زبانهای برنامهنویسی که باید در آنها دستورها را تایپ کنیم، در اسکرچ دستورهای مختلف به شکل بلوکهای رنگی در اختیار کودک قرار میگیرند.
کودک این بلوکها را کنار هم میچیند تا به شخصیتهای داخل پروژه دستور بدهد. مثلاً:
وقتی پرچم سبز کلیک شد ← ۱۰ قدم حرکت کن ← صدا پخش کن ← بچرخ.
در ظاهر کودک چند قطعه رنگی را کنار هم گذاشته است؛ اما پشت همین فعالیت ساده، مفاهیمی مانند ترتیب دستورها، رویدادها، شرطها، تکرار و حل مسئله قرار دارند.
به همین دلیل اسکرچ میتواند پلی میان بازی کردن و ورود به دنیای برنامهنویسی باشد. اما این ابزار زمانی بیشترین فایده را دارد که با سطح رشدی و مهارتهای کودک هماهنگ باشد.
اسکرچ برای چه سنی مناسب است؟
نسخه اصلی اسکرچ بهطور کلی برای کودکان حدود۹ تا ۱۶ سال طراحی شده است. برای کودکان کوچکتر نیز نسخه سادهتری به نام ScratchJr وجود دارد که برای سنین پایینتر طراحی شده است. با این حال، سن بهتنهایی معیار کافی برای شروع نیست.
ممکن است دو کودک ۸ ساله آمادگی کاملاً متفاوتی داشته باشند. یکی میتواند یک مسئله را مرحلهبهمرحله دنبال کند و برای ساخت پروژه بارها آزمون و خطا انجام دهد، در حالی که دیگری هنوز بیشتر از فعالیتهای حرکتی، بازیهای ملموس و دستورهای کوتاه لذت میبرد.بنابراین بهتر است علاوه بر سن، آمادگی کودک را نیز بررسی کنیم.
هفت نشانه که نشان میدهد اسکرچ برای کودک شما مناسب است:
۱. دوست دارد چیزی بسازد، نه اینکه فقط بازی کند
بعضی کودکان فقط از انجام یک بازی لذت نمیبرند؛ بعد از مدتی کنجکاو میشوند: «این بازی چطوری ساخته شده؟» یا میگویند:
«منم میتونم یه بازی درست کنم؟» این کنجکاوی میتواند نشانه خوبی برای شروع باشد. در اسکرچ کودک از مصرفکننده یک بازی یا انیمیشن به سازنده تبدیل میشود. او تصمیم میگیرد شخصیت چه کاری انجام دهد، قوانین بازی چه باشند و بازیکن چطور برنده یا بازنده شود.
۲. میتواند دستورهای چندمرحلهای را دنبال کند
فرض کنید به کودک میگوییم: «دفترت رو بردار، صفحه ۱۰ رو باز کن و مدادت رو بیار.»
اگر کودک میتواند ترتیب چنین دستورهایی را درک و اجرا کند، احتمالاً برای فهمیدن ساختارهای ساده اسکرچ نیز آمادگی بیشتری دارد.چرا؟ چون برنامهنویسی هم تا حد زیادی دربارهی ترتیب دستورها است.
کامپیوتر باید بداند: اول چه کاری انجام دهد؟ بعد چه کاری؟ و در چه شرایطی سراغ مرحله بعد برود؟
۳. از حل کردن معما و مسئله لذت میبرد
کودکی که از پازل، لگو، ساختنیها، بازیهای فکری، ماز یا پیدا کردن راههای مختلف برای رسیدن به یک هدف لذت میبرد، ممکن است از برنامهنویسی با اسکرچ نیز استقبال کند. چون در اسکرچ هم مرتب با مسئله مواجه میشود.
مثلاً: «چطور کاری کنم شخصیت وقتی به دیوار رسید برگردد؟» یا: «چطور امتیاز بازیکن زیاد شود؟» یا: «چطور کاری کنم وقتی امتیاز به ۱۰ رسید بازی تمام شود؟» اینجا کودک باید به جای دریافت یک پاسخ آماده، راهحل بسازد.
۴. میتواند با اشتباه کردن کنار بیاید
یکی از بخشهای مهم برنامهنویسی این است که همهچیز در اولین تلاش درست کار نمیکند. کودک پروژه را اجرا میکند و میبیند شخصیت به جای راست، به چپ میرود! یا امتیاز اضافه نمیشود. یا بازی هیچوقت تمام نمیشود.
اینجاست که کودک باید بپرسد: «کجای کار اشتباه شده؟» سپس دستورها را بررسی کند، چیزی را تغییر دهد و دوباره امتحان کند.
اگر کودک کمکم میتواند اشتباه را بخشی از فرایند یادگیری بداند، اسکرچ میتواند محیط بسیار خوبی برای تمرین آزمون، خطا و اصلاح باشد.
۵. به داستانگویی علاقه دارد
اسکرچ فقط برای کودکانی نیست که عاشق ریاضی هستند. کودکی که داستان میسازد، شخصیت طراحی میکند یا دوست دارد اتفاقهای مختلف را در ذهنش تصور کند نیز میتواند از اسکرچ لذت ببرد.
مثلاً کودک میتواند داستانی بسازد که در آن یک فضانورد وارد سیارهای ناشناخته میشود، با یک موجود فضایی صحبت میکند و براساس انتخاب کاربر اتفاقهای متفاوتی رخ میدهد. در چنین پروژهای، کودک همزمان از خلاقیت، داستانگویی، منطق و برنامهنویسی استفاده میکند.
۶. دوست دارد نتیجه کارش را ببیند
یکی از جذابیتهای اسکرچ این است که کودک نتیجه دستورهایش را تقریباً بلافاصله مشاهده میکند. بلوکها را کنار هم قرار میدهد و دکمه اجرا را میزند.
شخصیت حرکت میکند. صدا پخش میشود. امتیاز تغییر میکند یا شاید هیچ اتفاقی نیفتد!
همین بازخورد سریع برای کودکانی که از ساختن و دیدن نتیجه کارشان لذت میبرند، بسیار جذاب است.
۷. میتواند روی یک پروژه برای مدتی تمرکز کند
ساخت یک بازی یا انیمیشن همیشه در چند دقیقه تمام نمیشود. کودک ممکن است مجبور شود یک بخش را چند بار تغییر دهد، دستورهای مختلف را آزمایش کند و برای پیدا کردن یک مشکل دوباره به قسمتهای قبلی برگردد.
بنابراین توانایی حفظ توجه روی یک فعالیت، حتی برای مدت نسبتاً کوتاه، میتواند شروع کار با اسکرچ را آسانتر کند.
البته قرار نیست کودک از همان روز اول یک ساعت بدون وقفه برنامهنویسی کند. این توانایی نیز بهمرور و با پروژههای متناسب با سن او تقویت میشود.
آیا کودک باید در ریاضی قوی باشد تا اسکرچ یاد بگیرد؟
این یکی از نگرانیهای رایج والدین است. پاسخ کوتاه این است: نه، لازم نیست کودک برای شروع اسکرچ در ریاضی فوقالعاده باشد.
برخی پروژهها ممکن است به مفاهیم ریاضی نیاز داشته باشند، اما شروع برنامهنویسی با اسکرچ بیشتر به مهارتهایی مانند دنبال کردن مراحل، تشخیص الگو، حل مسئله، پیشبینی نتیجه و آزمون راهحلها وابسته است. اتفاقاً برنامهنویسی میتواند بعضی مفاهیم ریاضی را برای کودک ملموستر کند.
مثلاً عددی که روی کاغذ فقط یک عدد است، در یک بازی میتواند مشخص کند شخصیت چند قدم حرکت کند یا چند درجه بچرخد.
آیا کودک باید خواندن و نوشتن بلد باشد؟
توانایی خواندن به کودک کمک میکند مستقلتر با محیط اسکرچ کار کند، چون باید مفهوم بلوکها و دستورهای مختلف را متوجه شود. اما این موضوع به این معنی نیست که کودکان کوچکتر باید از مفاهیم برنامهنویسی دور بمانند.
برای آنها میتوان از ابزارهای متناسب با سن، بازیهای حرکتی، فعالیتهای بدون کامپیوتر، کارتهای دستور، مسیرها و بازیهای الگوریتمی استفاده کرد.
یعنی سؤال همیشه این نیست که: «آیا کودک برای برنامهنویسی کوچک است؟»
سؤال بهتر این است: «در این سن، چه نوع تجربهای از برنامهنویسی برای او مناسبتر است؟»
چه کودکانی ممکن است هنوز برای اسکرچ آماده نباشند؟
اگر کودک هنوز در دنبال کردن دستورهای چندمرحلهای مشکل زیادی دارد، خیلی سریع از فعالیتهای مسئلهمحور خسته میشود یا کار با محیط دیجیتال باعث میشود بیشتر درگیر کلیک کردن و جابهجایی عناصر شود تا فکر کردن درباره مسئله، شاید شروع مستقیم با اسکرچ بهترین انتخاب نباشد.
اما این به معنای «استعداد نداشتن» کودک نیست. ممکن است فقط زمان یا نقطه شروع مناسب نباشد.
میتوان ابتدا از بازیهای الگوریتمی، پازلها، فعالیتهای ساختنی و کدنویسی بدون کامپیوتر شروع کرد و بعد به محیطهایی مانند اسکرچ رسید.
قبل از اسکرچ چه مهارتهایی را میتوانیم تمرین کنیم؟
برای آماده کردن کودک نیازی نیست از قبل برنامهنویسی به او آموزش دهیم. چند بازی ساده کافی است.
مثلاً از کودک بخواهید دستور درست کردن یک ساندویچ را مرحلهبهمرحله برای شما توضیح دهد. یا شما نقش ربات را بازی کنید و کودک باید با دستورهایی مثل:
«دو قدم جلو برو.» ، «به راست بچرخ.» ، «یک قدم جلو برو.» شما را به مقصد برساند.
میتوانید مسیرهایی بسازید که کودک باید کوتاهترین راه رسیدن به مقصد را پیدا کند یا قانونی تعیین کنید:
«اگر به خانه قرمز رسیدی، یک قدم عقب برو.» همین بازیهای ساده مفاهیمی مانند الگوریتم، ترتیب، شرط، پیشبینی و حل مسئله را بدون نوشتن حتی یک خط کد تمرین میکنند.

یادگیری اسکرچ نباید تبدیل به حفظ کردن بلوکها شود
گاهی ممکن است کودک دقیقاً بداند برای ساخت یک پروژه چه بلوکهایی را پشت سر هم قرار دهد، چون همان چیزی را که مربی انجام داده تکرار کرده است. اما اگر از او بپرسیم:
«اگر بخواهیم شخصیت به جای ۱۰ قدم، تا رسیدن به دیوار حرکت کند باید چه چیزی را تغییر بدهیم؟» نتواند پاسخ دهد.
اینجا تفاوت میان کار کردن با اسکرچ و فکر کردن با اسکرچ مشخص میشود. هدف اصلی بهتر است این نباشد که کودک فقط پروژهای شبیه نمونه مربی بسازد. کودک باید فرصت داشته باشد سؤال بپرسد، حدس بزند، راهحل پیشنهاد دهد، اشتباه کند و پروژه را تغییر دهد.
اسکرچ برای کودک خلاق مناسبتر است یا کودک منطقی؟
هر دو. یک کودک ممکن است از طراحی شخصیت و ساخت داستان لذت ببرد. کودک دیگری شاید بیشتر به قوانین بازی، امتیازها و پیدا کردن خطاها علاقه داشته باشد.
یکی ممکن است ساعتها ظاهر پروژهاش را تغییر دهد و دیگری بخواهد سیستم پیچیدهای برای مراحل بازی طراحی کند.
اسکرچ فضایی ایجاد میکند که خلاقیت و منطق میتوانند کنار هم قرار بگیرند.
به همین دلیل نباید برنامهنویسی را فقط مناسب کودکانی بدانیم که در ریاضی قویاند یا از قبل به کامپیوتر علاقه زیادی دارند.
اسکرچ در مسیر یادگیری کدبازی
در کدبازی، یادگیری برنامهنویسی قرار نیست فقط به شناخت یک نرمافزار یا حفظ کردن دستورها محدود شود.
کودک میتواند قبل و هنگام ورود به محیطهایی مانند اسکرچ، با بازی، چالش و مسئله مهارتهایی مانند تفکر الگوریتمی، حل مسئله، پیدا کردن مسیر، آزمون و خطا و ساختن پروژه را تجربه کند. به همین دلیل، انتخاب نقطه شروع مناسب اهمیت زیادی دارد.
برای یک کودک ممکن است شروع مناسب، یک بازی الگوریتمی بدون کامپیوتر باشد؛ کودک دیگری آماده ساخت اولین پروژه در اسکرچ باشد و کودک بزرگتر بتواند سراغ پروژهها و ابزارهای پیشرفتهتر برود.
قرار نیست کودک را هرچه سریعتر به کدنویسی برسانیم؛ قرار است مسیری ایجاد کنیم که در آن یاد بگیرد چگونه فکر کند، مسئله را حل کند و چیزی از خودش بسازد. پس اگر میخواهیم بدانیم اسکرچ برای کودکمان مناسب است یا نه، شاید بهتر باشد فقط سن او را نپرسیم.
از خودمان بپرسیم: آیا این ابزار در این مرحله میتواند کودک من را به فکر کردن، تجربه کردن، ساختن و حل مسئله علاقهمند کند؟
اگر پاسخ مثبت باشد، اسکرچ میتواند شروع یک مسیر بسیار جذاب باشد.