برنامهنویسی برای کودکان: از چه سنی، با چه ابزاری و چطور تا المپیاد
اسکرچ جونیور برای ۵ تا ۷ سال، اسکرچ از ۸ سال، و پایتون وقتی تایپ و منطق جا افتاد. تفکر الگوریتمی بدون رایانه، پروژهمحوری و رابطهاش با المپیاد کامپیوتر.
خواندن: حدود ۶ دقیقهنویسنده: تیم فکرستانبازبینی: بازبین آموزشی فکرستان (با کمک هوش مصنوعی)
پاسخ کوتاه: بیشتر بچهها میتوانند برنامهنویسی را با بلوکهای تصویری شروع کنند: بنیاد اسکرچ، اسکرچ جونیور را برای ۵ تا ۷ سال و اسکرچ را برای ۸ سال به بالا معرفی میکند. زبان متنی مثل پایتون معمولاً وقتی مناسب است که کودک راحت تایپ کند و مفهومهایی مثل حلقه و شرط را در بلوکها دیده باشد. مهمتر از ابزار، ساختن پروژهای است که خود کودک دوستش دارد و فکر کردن قدمبهقدم، که بخشی از آن حتی بدون رایانه تمرین میشود.
از چه سنی برنامهنویسی را شروع کنیم؟
سن دقیق و «درست» وجود ندارد؛ آمادگی هر کودک فرق دارد. آنچه سازندگان ابزارها اعلام کردهاند یک راهنمای خوب است:
| ابزار | سن اعلامشده | مناسب برای |
|---|---|---|
| فعالیتهای بدون رایانه (CS Unplugged) | از دبستان | الگوریتم، مرتبسازی، عددهای دودویی با کارت و بازی |
| اسکرچ جونیور (ScratchJr) | ۵ تا ۷ سال | داستان و بازی ساده با بلوکهای تصویری روی تبلت |
| اسکرچ (Scratch) | ۸ سال به بالا | بازی، انیمیشن، رویداد، حلقه، شرط و متغیر |
| زبان متنی مثل پایتون | معمولاً پس از تجربهٔ بلوکی | وقتی تایپ و خواندن انگلیسی پایه راحت است و کودک میخواهد کارهای بزرگتر بسازد |
ردیف آخر یک قاعدهٔ سرانگشتی است، نه نتیجهٔ پژوهش. برخی بچهها در ۱۰ سالگی آمادهاند و برخی در ۱۳ سالگی؛ هیچکدام دیر نیست.
اسکرچ یا پایتون؟
لازم نیست انتخاب کنید؛ این دو پشتسرهم میآیند. اسکرچ اشتباههای املایی و نحوی را حذف میکند تا کودک روی فکر تمرکز کند: «وقتی پرچم سبز زده شد، ده بار تکرار کن، اگر به دیوار خورد برگرد.» این همان حلقه و شرطی است که بعداً در پایتون مینویسد. وقتی کودک در اسکرچ به محدودیت برخورد (مثلاً میخواهد با فهرستهای بزرگ کار کند یا مسئلهٔ ریاضی حل کند)، وقت زبان متنی است.
Mitchel Resnick، از سازندگان اسکرچ در آزمایشگاه رسانهٔ MIT، در کتاب «کودکستان مادامالعمر» (۲۰۱۷) چهار عنصر را برای یادگیری خلاق برمیشمارد: پروژه، علاقه، همسالان و بازی. یعنی بهترین برنامهٔ اول، همانی است که کودک واقعاً میخواهد بسازد: بازیای برای برادر کوچکش، کارت تبریک متحرک، یا شبیهسازی یک توپ که میافتد.
تفکر الگوریتمی بدون رایانه
برنامهنویسی فقط تایپ کردن کد نیست؛ هستهٔ آن تفکر الگوریتمی است: شکستن مسئله به قدمهای کوچک، پیدا کردن الگو، و نوشتن دستورهای دقیق. پروژهٔ «علوم کامپیوتر بدون رایانه» (CS Unplugged) فعالیتهای رایگانی دارد که اینها را با کارت، طناب و بازی آموزش میدهند. چند ایده برای خانه:
- رباتِ بابا: کودک دستورهای دقیق برای درست کردن یک لقمه نان و پنیر مینویسد و شما دقیقاً همان را اجرا میکنید. اولین «باگ» معمولاً خندهدار است.
- مرتب کردن کارتها: چند کارت عدد را با کمترین تعداد مقایسه مرتب کنید. «راه سریعتری هست؟»
- عددهای دودویی با پنج کارت: کارتهایی با ۱، ۲، ۴، ۸ و ۱۶ نقطه؛ با روشن و خاموش کردن کارتها هر عدد تا ۳۱ را بسازید.
- نقشهٔ گنج: یک نفر با دستورهای «جلو، راست، چپ» به گنج هدایت شود.
این فعالیتها برای خانوادههایی که میخواهند زمان صفحهنمایش کودک کمتر باشد هم مناسباند. دربارهٔ تعادل صفحهنمایش، مقالهٔ زمان صفحهنمایش کودک ۹ تا ۱۴ سال را ببینید.
آیا برنامهنویسی «باهوشتر» میکند؟
یک فراتحلیل بزرگ روی بیش از صد مطالعه (Scherer و همکاران، ۲۰۱۹) نشان داد یادگیری برنامهنویسی با بهبود در مهارتهایی مثل تفکر خلاق، مهارتهای ریاضی و فراشناخت (فکر کردن دربارهٔ فکر خود) همراه بوده است؛ اما اثر آن بر موفقیت تحصیلی عمومی و سواد کمتر بود، و در مطالعاتی که گروه مقایسه هم فعالیت دیگری داشت، اثرها کوچکتر بودند. خلاصهٔ صادقانه: برنامهنویسی مهارت ارزشمندی است و به برخی مهارتهای فکری نزدیک کمک میکند، ولی جادویی نیست و جای خواندن، بازی و درسهای دیگر را نمیگیرد.
رابطهٔ برنامهنویسی با المپیاد کامپیوتر
المپیاد کامپیوتر کشور را باشگاه دانشپژوهان جوان برگزار میکند و راه آن در نهایت به المپیاد جهانی انفورماتیک (IOI) میرسد. شرایط و مراحل هر سال را از اطلاعیهٔ رسمی ببینید. دو نکته برای والدین دبستانی و دورهٔ اول متوسطه:
- المپیاد کامپیوتر بیشتر استدلال و ریاضی گسسته است تا «بلد بودن یک زبان». شمارش، منطق، گراف و الگوریتم، پایههاییاند که از سالها پیش و حتی بدون رایانه ساخته میشوند.
- برنامهنویسی واقعی در مرحلههای بالاتر لازم میشود، و آنجا یک زبان متنی (اغلب
C++یا پایتون) به کار میآید. عجلهای برای آن در دبستان نیست.
دربارهٔ اینکه پایهریزی برای المپیادها از دبستان چه شکلی است و چه شکلی نیست، مقالهٔ آمادگی المپیاد از دبستان را بخوانید.
نقش والد: همراه، نه معلم
لازم نیست خودتان برنامهنویس باشید. کارهایی که از هر والدی برمیآید:
- بپرسید «برنامهات چه کار میکند؟» و بگذارید نشانتان بدهد. توضیح دادن، فهم را عمیقتر میکند.
- باگ را جشن بگیرید، نه سرزنش. «جالب شد! فکر میکنی از کدام بلوک است؟» پیدا کردن خطا، قلب برنامهنویسی است.
- پروژه را کوچک نگه دارید. یک بازی سهقدمی که تمام شود، از یک بازی بزرگ نیمهکاره انگیزهبخشتر است.
- حریم خصوصی را یاد بدهید. اگر کودک پروژهاش را در یک جامعهٔ آنلاین منتشر میکند، نام واقعی، عکس، مدرسه و نشانی نگذارد، و همراه شما باشد.
چه زمانی نگران شویم؟
اگر برنامهنویسی به بهانهای برای بیدار ماندن تا دیروقت، کنار گذاشتن دوستان یا بازی بیرون تبدیل شده، یا کودک هنگام قطع آن بهشدت بههم میریزد، دربارهٔ تعادل حرف بزنید و قاعدهٔ خانوادگی بگذارید. اگر مشکل ادامه داشت، با پزشک کودک یا مشاور مدرسه مشورت کنید.
پرسشهای پرتکرار
کلاس برنامهنویسی لازم است؟
برای شروع نه. منابع رایگان رسمی اسکرچ و CS Unplugged کافیاند. اگر کلاس انتخاب میکنید، ببینید کودک در آن پروژهٔ خودش را میسازد یا فقط از روی دست مربی کپی میکند.
با گوشی هم میشود؟
اسکرچ جونیور برای تبلت طراحی شده است. اسکرچ روی صفحهٔ بزرگتر راحتتر است. فعالیتهای بدون رایانه هم هیچ دستگاهی نمیخواهند.
فرزندم به برنامهنویسی علاقهای نشان نمیدهد؛ اصرار کنیم؟
اصرار معمولاً نتیجهٔ عکس دارد. پروژه را به علاقهاش گره بزنید: داستانگویی، نقاشی متحرک، موسیقی. خیلی از بچهها برنامهنویسی را از راه ساختن داستان و هنر کشف میکنند.
سه تا پنج کار برای همین هفته
- بازی «رباتِ بابا» یا «رباتِ مامان» را یک بار انجام دهید: دستورهای دقیق برای یک کار ساده.
- پنج کارت دودویی بسازید (۱، ۲، ۴، ۸، ۱۶ نقطه) و سن بچههای خانواده یا روز تولدشان (عددی تا ۳۱) را با آن نشان دهید.
- اگر کودک ۸ سال یا بیشتر دارد، با هم یک پروژهٔ کوچک اسکرچ بسازید؛ فقط سه قدم: حرکت، صدا، تکرار.
- یک بار بپرسید «برنامهات چه کار میکند؟» و فقط گوش کنید.
- قاعدهٔ انتشار آنلاین را با هم بنویسید: بدون نام واقعی، عکس و نشانی.
در فکرستان، مسیر برنامهنویسی با معما و فعالیتهای بدون رایانه شروع میشود و طوری طراحی شده که بعداً به برنامهنویسی بلوکی و سپس پایتون برسد. نقشهٔ مسیر را ببینید؛ راهنمای کلی علوم در خانه را هم در ریاضی، فیزیک، نجوم و برنامهنویسی در خانه آوردهایم.
منابع
- Scratch Foundation, Tools (Scratch and ScratchJr age ranges) — بازهٔ سنی اعلامشده، اسکرچ ۸ سال به بالا، اسکرچ جونیور ۵ تا ۷ سال (بازبینیشده در مهر ۱۴۰۵)
- ScratchJr (official site) — نسخهٔ رایگان برای تبلت؛ بلوکهای تصویری برای بچههایی که هنوز روان نمیخوانند
- Resnick, M. (2017), Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play, MIT Press — رویکرد پروژه، علاقه، همسالان و بازی از سازندگان اسکرچ
- Bell, Witten & Fellows, Computer Science Unplugged — فعالیتهای رایگان علوم کامپیوتر بدون رایانه
- Scherer, Siddiq & Sánchez Viveros (2019), The cognitive benefits of learning computer programming: A meta-analysis of transfer effects, Journal of Educational Psychology 111(5) — انتقال به تفکر خلاق، ریاضی و فراشناخت بیشتر بود؛ به موفقیت تحصیلی عمومی و سواد کمتر؛ اثرها در مطالعات با گروه کنترل فعال کوچکتر بود
- International Olympiad in Informatics (IOI) — المپیاد جهانی انفورماتیک
- باشگاه دانشپژوهان جوان، اطلاعیههای رسمی المپیاد کامپیوتر — شرایط و مراحل المپیاد کامپیوتر کشور؛ هر سال بازبینی شود