به نقل از مهتاب من
برنامهنویسی دیگر زبان نوین قرن بیستویکم است و فقط برای مهندسان نرمافزار نیست! افراد از کودکی این توانایی را یاد میگیرند تا تواناییهای حل مساله و خلاقیت بهتری داشته باشند. اما همینطور که تعداد بسیاری از والدین و معلمان مشتاقانه کودکان را داخل دنیای کدنویسی میکنند، با یک حقیقت ناخوشایند مواجه خواهد شد: مشکلات یادگیری کدنویسی زیاد تر از آن است که در ابتدا به نظر میرسد. در ادامه ۹ مورد از چالشهای آموزش برنامهنویسی کودکان را بازدید میکنیم.
بیعلاقگی و بیانگیزگی: هنگامی ذهن کودک دچار نمیشود
بیشتر از ۷۰ درصد معلمان از این نوشته گله های دارند که بچهها نسبت به کدنویسی بیعلاقه می باشند. طبیعی هم هست. کودک چه انگیزهای دارد که چند خط دستور بیروح بنویسد بدون این که فوراً نتیجهاش را ببیند؟ آموزش موثر برنامهنویسی باید سرگرمکننده باشد. یادگیری باید همراه با بازی باشد. هنگامی بچهها با منفعت گیری از امتیاز، رقابتهای تیمی و جدول رتبهبندی کد مینویسند، همه چیز فرق میکند.
مدل «کلاس معکوس» هم یک نجاتدهنده واقعی است؛ کودک ویدئوهای آموزشی را در خانه تماشا میکند، اما در کلاس، بازی و پروژه اجرا میکند. این کار علتمیشود زمان کلاس از یک سخنرانی خستهکننده به یک میدان ماجراجویی تبدیل شود.
و احتمالا بهترین راهکار آموزش اسکرچ جونیور باشد. زبانی برنامهنویسی گرافیکی و سرگرمکنندهای که برای ورود کودکان به دنیای برنامهنویسی عالی است.
تمرکز بیشتر از حد بر سینتکس؛ کمتوجهی به تفکر منطقی
چالش فرد دیگر که دستکم گرفته میشود، آموزش صرف سینتکس (syntax) بدون آموزش حل قضیه است. معلم در یک سری موارد دانشآموز را به نوشتن چند خط دستور محدود میکند، اما هنگامی نوبت به طراحی الگوریتم یا حل یک قضیه واقعی میرسد، کودک درمانده میشود.
در روبه رو تمرین طراحی الگوریتم – حتی روی کاغذ – میتواند معجزه کند. کشیدن یک فلوچارت ساده برای ساخت یک بازی همانند «سنگ، کاغذ، قیچی» علتمیشود کودک از ابتدا علتپشت کد را فهمیدن کند. حتی بازخورد دادن باید فراتر از درست یا غلط بودن سینتکس باشد. معلم باید تحلیل کند که چرا این الگوریتم کار میکند، چه اشکالی دارد، و چطور میشود آن را بهبود داد. آموزش اسکرچ جونیور برای این مشکل هم یک راهحل عالی است. با منفعت گیری از بلوکهای رنگی و محیط تصویری، بچهها نهتنها دستور مینویسند بلکه علت نوشتن آن را هم میفهمند.
ناامیدی از باگها: هنگامی یک اشتباه همهچیز را خراب میکند
یکی از لحظههای حساس در مسیر یادگیری کودک، اولین روبه رو با اشتباه (bug) است. این لحظه میتواند نقطه ناکامی یا نقطه رشد باشد. بر پایه آمار بیشتر از ۶۵٪ کودکان بعد از چند بار روبه رو با اشتباه، کلاً پروژه را کنار میگذارند. چرا؟ چون فکر میکنند نادرست کردن یعنی ناکامی.
اما اگر همین فرآیند اشکالزدایی به یک بازی تبدیل شود – برای مثالً همانند یک پازل که باید کشفش کنند ، ورق برمیگردد. کد را به قطعات کوچک تقسیم کنند، هر قسمت را جدا تست بگیرند، و امتیاز بگیرند برای یافتن خطاها. در کنار اینها باید یادشان بدهیم که حتی بهترین برنامهنویسان دنیا باگ دارند.
مفاهیم انتزاعی و فهمیدنناپذیر
کودک چطور باید متغیر را فهمیدن کند؟ یا حلقه را؟ یا تابع را؟ این مفاهیم برای مغز کودک، آنهم بدون تصویری ملموس، زیاد انتزاعی می باشند. برای حل این مساله نظر میشود تا با موضوعات دنیای واقعی قیاس شوند:
- متغیر: همانند جعبهای که میتوانید چیزی داخلش بگذارید.
- حلقه: همانند هنگامی هر روز باید مسواک بزنید.
- تابع: همانند یک دستور پخت کیک که هر بار میتوانید با همان دستور، کیک تازه درست کنید.
ابزارهایی همانند اسکرچ و Blockly با تبدیل کد به بلوکهای رنگی، این مفاهیم را از آسمانهای ذهنی به زمین ملموس کودک میآورند.
فقدان بازخورد سریع: تأخیر در لذت یادگیری
کودکان در دنیای بازیهای ویدیویی بزرگ خواهد شد؛ جایی که هر کلیک، بلافاصله پاسخی دارد. حال فکر کنید یک کودک باید چند دقیقه صبر کند تا ببیند کدش جواب میدهد یا نه. طبیعی است که حس کند روال یادگیری کند و خستهکننده است. پلتفرمهای تعاملی همانند Tynker یا Code.org برای حل کردن این مساله وجود دارند که زیاد سودمند می باشند. کودک مینویسد و فوراً نتیجه را میبیند.
زمان بیشتر از حد جلوی صفحهنمایش
نشستن طویلزمان جلوی لپتاپ برای یک کودک خستهکننده است. چشمانشان خسته میشود، تمرکزشان پایین میآید و اشتیاقشان فروکش میکند. چاره چیست؟ منفعت گیری هوشمندانه از زمان. برای مثالً آموزش طراحی الگوریتم را روی کاغذ انجام دهید. یا بین هر ۲۵ دقیقه کدنویسی، ۵ دقیقه حرکت و کشش عضلات در نظر بگیرید. حتی میشود صفحهنمایش را به یک دفترچه دیجیتال تبدیل کرد؛ برای ترسیم فلوچارت یا نوشتن نکات مهم.
تمرین ناکافی و پیگیری ضعیف
یادگیری بدون تمرین، همانند یادگیری شنا فقط با خواندن کتاب است. اما تعداد بسیاری از کودکان سپس از کلاس هیچ تمرینی انجام نمیدهند. برای گذر کردن از کنار این چالش، سیستمهایی همانند چالشهای هفتگی، مکاتبه با والدین برای پیگیری تمرینها، و یقیناً پاداشهای کوچک میتواند کودکان را به تمرین مداوم سوق دهد.
افتمنابع و پشتیبانی
نه همه کودکان لپتاپ دارند، نه والدین فنی، نه اینترنت پرسرعت. این شکاف آموزشی را میتوانیم یکی از چالشهای آموزش برنامهنویسی کودکان بدانیم که زیاد نادیده گرفته شده است.
منبع های رایگانی همانند Khan Academy یا انجمنهای کدنویسی را میتوانیم به گفتن یک راهحل برای این مساله معارفه کنیم. یا باشگاههای برنامهنویسی در مدارس و کتابخانهها راهاندازی کرد. حتی کیتهای ساده همانند Raspberry Pi میتوانند آموزش را از حالت تئوری به توانایی واقعی تبدیل کنند.
غرق شدن در تنوع ابزارها
هنگامی کودک با دهها زبان و محیط برنامهنویسی روبه رو میشود، نمیداند از کجا اغاز کند. Python؟ Scratch؟ JavaScript؟ همین سرگردانی یا هفتهها زمان کودک را تلف میکند یا حتی علتمیشود که مسیر یادگیری برنامهنویسی هیچوقت اغاز نشود. برای اغاز کدنویسی بلوکی همانند Scratch بهترین انتخاب است. هنگامی علتبرنامهنویسی جا افتاد، میتوان او را آرامآرام به سمت زبانهایی همانند Python هدایت کرد.
یک یادگیری اصولی و مفرح برای کودک با استعدادتان!
برنامهنویسی برای بزرگسالان همانند هم روال اولیه و آموزشیاش حوصلهسربر است چه برسد به کودکان! ولی اگر برای هر کدام از چالشهای آموزش برنامهنویسی، یکی از موثرترین راهکارهای یادگیری برای کودکان را به کار بگیرید، لطف بزرگی به او کردهاید. کافی است مشکلات یادگیری کدنویسی را بشناسیم، بهجای ترساندن بچهها آنها را داخل دنیای خلاقانه پروژههای واقعی کنیم و آن چالش را به شکلی بازیگونه کنار بزنیم.
چالشهای آموزش برنامهنویسی کودکان قرار نیست جلو شما و کودکتان را بگیرند، قرار است با یک راهحل درست کنار بروند. آکادمی چابک دورههای متنوع و مفرحی را طراحی کرده که مخصوص کودکان است. آموزش اسکرچ جونیور گرفته و زبانهای برنامهنویسی دیگر همانند آموزش پایتون مقدماتی مخصوص کودکان این چنین بزرگسالان در این مجموعه برگزار خواهد شد. برای اطلاعات زیاد تر از دورههای آکادمی چابک به به وب سایت ما مراجعه کنید.
دسته بندی مطالب
اخبار کسب وکارها