برنامه نویسی برای کودکان – چرا و چگونه باید به بچه ها برنامه نویسی یاد داد ؟

۲۴ مهر ۱۳۹۷

این روزها خوشبختانه خانواده ها به گسترش مهارت های بچه ها خیلی اهمیت میدن. حتی خیلی از خانواده های متوسط و بعضا ضعیف هم این موضوع رو درک کردن که بچه هاشون برای اینکه آینده بهتری داشته باشن باید به زبان انگلیسی مسلط باشن. این نیاز بی شک از روی تجربه نسل های قبل به دست اومده و حالا بزرگتر ها به خوبی می دونن که فرزندشون باید خیلی زود شروع به زبان آموزی کنه. البته نه فقط زبان این شامل ورزش، موسیقی، نقاشی و مهارت های دیگه هم میشه.

در این میون یه چیزی به نظر میاد که نادیده انگاشته میشه. اون هم آموزش مهارت های عمومی کامپیوتر والبته به طور خاص مهارت برنامه نویسی هستش. تو دنیای امروز و به طور قطع در دنیای آتی با گسترده تر شدن صنعت IT به علوم دیگه (که همین الانش هم البته تا حدودی زیادی این اتفاق افتاده) روز به روز نیاز به مهارت های برنامه نویسی بیشتر احساس میشه. هرچند که هنوز این تفکر به سطوح مختلف جامعه منتقل نشده.

با این پیش زمینه چند وقتی هست که تصمیم گرفتم به خواهرزاده های عزیزم برنامه نویسی رو آموزش بدم.و می خوام که تجربیاتم رو با شما به اشتراک بزارم. البته این ذهنیت با دیدن شوق و اشتیاق اونها به دنیای رباتیک و کامپیوتر در من به وجود اومد. نکته مهمی که در این میون هست اینه که برنامه نویسی به طور صرف در نظر بچه ها خیلی جذاب نمیاد و خیلی از بچه ها تا وقتی خروجی ملموسی از کارهاشون نبینن درست متوجه اهمیت اون نمیشن. اما اگر همون مفاهیم رو در قالب ساخت یک ربات به اونها منتقل کنیم خیلی زود و با اشتیاق و به طور کاربردی متوجه مفاهیم میشن.

بنابراین تا اینجای کار من تصمیم گرفتم که برنامه نویسی رو به صورت پروژه محور با بچه ها شروع کنم. اولین سوالی که برای خود من پیش اومد این بود که

خب حالا باید از کدام زبان برنامه نویسی برای آموزش استفاده کنم؟

با کمی جستجو یکی از مواردی که به طور خاص برای آموزش به کودکان به وجود اومده برنامه نویسی Scratch هستش. که توسط جمعی از افراد در دانشگاه MIT طراحی شده و به صورت رایگان در اختیار عموم قرار گرفته. این برنامه هم به صورت آنلاین و هم به صورت آفلاین قابل استفاده هست.

محیط برنامه نویسی Scratch
محیط برنامه نویسی Scratch

خب در اولین نگاه وقتی برنامه Scratch بالا میاد شامل یه کاراکتر گربه سمت چپ و محیط قرارگیری المان های برنامه نویسی در سمت راست تصویر هست. خوشبختانه در اولین تلاش هام برای آموزش برنامه نویسی به کودکان این برنامه خیلی مفید و کاربردی واقع شد. چون براحتی می تونستم بلوک های کد را با موس درگ کنم و اونها رو به صورت تودرتو مورد استفاده قرار بدم. به صورت خیلی زیبا و قابل فهم بلوک شرط (if) رو به اونها فهموندم و بعد حلقه های تکرار رو براشون مثال زدم. تا اینجای کار همه چیز به خوبی پیش می رفت. اما وقتی از بچه ها خواستم خودشون شروع به حرکت دادن و برنامه نویسی اون کاراکتر بکنن دیدم بعد از گذشت مدت زمان کمی براشون کسل کننده و یکنواخت شد!

اینجا بود که فهمیدم این بچه ها به چیزی فراتر از حرکت دادن یک کاراکتر احتیاج دارن!

چیزی که اونها رو به وجد بیاره! این شد که یه سری به پاساژ امجد زدم تا ببینم می تونم چیزی مناسب سن سال اونها پیدا کنم یا نه. راستش پلتفرم های رباتیک زیادی برای کودکان وجود داره. اما اگه راستش رو بخاین این پلتفرم ها جز رسوندن سود به سازنده هاشون چیزی برای بچه ها ندارن. به عقیده ی من بچه ها باید خودشون لذت ساختن رو بچشن و در حین چالش های ساخت تجربه کسب کنن.

با خودم فکر کردم باید برای شروع اونا بتونن یک ربات ساده بدون برنامه نویسی بسازن تا بتونن مفاهیم اولیه الکترونیک رو درک کنن. این شد که شروع به خریدن قطعات یک ربات ساده ی دوچرخ کردم. دوتا موتور، یک شاسی پلکسی، چنتا باطری به همراه جای باطری و چنتا کلید و مقداری سیم. بچه ها رو کنار خودم نشوندم و شروع کردم با جزئیات قطعات رو به اونها توضیح دادم و به سوالاشون جواب هایی در حد درک اونها دادم. چیزی که برام جالب بود این بود که دیدم بچه ها قوه تخیل بی نهایت قوی دارن. خیال بافی می کنن. مدام می پرسن که میشه فلان ربات رو ساخت که فلان کار رو انجام بده؟! اگر برای شما هم پیش اومد به هیچ عنوان اونها رو سرکوب نکنید. براشون توضیح بدید اگر چیزی به مخیله اونها می رسه پس قطعا روزی شدنی هستش!

در نهایت یک ربات ساده رو براشون سر هم کردم و عملکردش رو بهشون نشون دادم. اما این هدف من نبود. قطعات اون ربات رو باز کردم و این بار از اونها خواستم که هر کدوم ربات خودشون رو سرهم کنن. حالا همه چیز برای شروع برنامه نویسی مهیا شده بود و بچه ها می تونستن رباتشون رو از طریق چند کلید کنترل کنن.

ربات ساده دو چرخ
ربات ساده دو چرخ

طبیعیه که این سوال پیش بیاد که خب چطور باید با استفاده از برنامه نویسی رباتشون رو کنترل کنن؟

که اینجا آخرین قطعه از این پازل رو به اونها معرفی کردم. یک دستگاه Arduino Uno برای هرکدوم از اونها تهیه کردم و براشون در مورد کاربرد میکرو کنترلر ها توضیح دادم.

آردوینو Uno
آردوینو Uno

مشکلی که هست اینه که برای برنامه نویسی روی Arduino بچه ها باید زبان C++  یاد بگیرن. هرچند رابط هایی برای کنترل از طریق Scratch هم ارائه شده اما مطمئنا در دراز مدت هیچکدم قابل اتکا نیستن. و این گونه بود که تصمیم گرفتم رفته رفته به بچه ها زبان برنامه نویسی سی پلاس پلاس رو یاد بدم.

اینها تجربه شخصی خودم بود که به اشتراک گذاشتم.  شاید راهکارهای مناسب تری هم وجود داشته باشه. در این صورت خوشحال میشم نظرتون رو بدونم 🙂

پاسخ دهید