همه میدانیم که انقلاب دیجیتالی دوران ما توقفناپذیر است؛ به همین خاطر آموزش کدنویسی به نسل آینده به صنعتی سودآور تبدیل شده است. با نگاهی به برنامههای آموزشی برنامهنویسی کودکان، اسباببازیها و رباتهای آموزشی و کتابهای مختلف، این نکته بسیار مشهود است. بخش نامشهود این قضیه به لزوم و چگونگی دست یافتن به این هدف ختم میشود. البته جدا از نگرانیهایی مانند این که آموزش برنامهنویسی با چه زبانی باید آغاز شود و یا این که آیا کدنویسی مهارتی ضروری برای همهٔ کودکان به حساب میآید؟ و اگر اینطور است، با چه اصولی باید تدریس شود تا کودکان امروز، آیندهای موفق داشته باشند.
بحث در مورد نیاز به آموزش برنامهنویسی
برخی از مقالات عرضه شده در وب سعی در آموزش والدین در مورد نحوهٔ بزرگ کردن مارک زاکربرگ یا استیو جابز بعدی دارند در حالی که برخی دیگر به شدت با این کار مخالفت میکنند! ترویج ترس از بیکاری برای کسانی که از کدنویسی چیزی نمیدانند نیز در بین این مقالات یافت میشود با این دیدگاه که هر کس در آینده برنامهنویسی بلد نباشد، «بیسواد» محسوب میشود! ایدهٔ این که کدنویسی در همه جا نیاز کاربردی ندارد را هم به لیست اضافه کنید. گرچه اکثر این مقالات حاوی اطلاعات مفیدی هستند و با نیت خوبی نوشته شدهاند، ولی بیش از آن که به خواننده کمک کنند، موجب سردرگمی وی خواهند شد.
جهان با چنان سرعتی در حال تحول است که پیشبینی آینده را غیرممکن ساخته است به طوری که حدس در مورد منفعت موضوع آموزش اصول کدنویسی به کودکان بسیار مشکل است. با این حال، قطعاً تصورات غلطی دربارهٔ چگونگی تدریس برنامهنویسی به کودکان وجود دارد که در ادامه، قصد داریم برخی از مهمترین باورهای نادرست در مورد برنامهنویسی به کودکان را مورد بحث قرار دهیم.
باور نادرست اول: برنامهنویسی از صفحهٔ نمایش آغاز میشود
نشاندن کودکان مقابل یک صفحه نمایش همیشه بهترین راهحل نیست، مخصوصاً در سنی که طبیعت آنها با یک جا نشستن سازگار نباشد. خوشبختانه لازم نیست برنامهنویسی را حتماً از کامپیوتر شروع کرد.
برای کودکان در سنین کم بسیار مهم است تا شیوهای خاص از تفکر را که برای موفقیت در کارهای پیچیده لازم دارند انتخاب کرده و به کمک آن، مهارتهای پیشرفتهٔ حل مسئلهٔ خود را بهبود دهند. این مهارتها به عنوان Invention Litracy (سواد ابداع) شناخته میشوند که به پایهگذاری اعتماد به نفس و خلاقیت کمک میکنند و از سنین پایین قابل تمرین و یادگیری هستند که کودکان را تشویق به کشف و درک محیط خود برای ایجاد چیزهای جدید میکنند. این کار سختی نیست از این جهت که بیشتر کودکان ماجراجو به دنیا میآیند؛ در اکثر موارد، کافی است تا به آنها اجازهٔ بازی آزادانه بدهیم و آنها را تشویق به دنبال کردن علائقشان کنیم.
باور نادرست دوم: کدنویسی برای بچهها خستهکننده است
کدنویسی در صورتی برای کودکان خستهکننده است که به همان شیوهای که برنامهنویسی به بزرگسالان تدریس میگردد، به آنها تدریس شود! امروزه ابزارهای زیادی برای آموزش برنامهنویسی به کودکان وجود دارند که از تکنیکهای جذاب و سرگرمکنندهای استفاده میکنند. برای مثال، برنامهٔ شرکت اپل به اسم Swift Playgrounds با بهکارگیری پازلهای جالب و با استفاده از گرافیک ۳بعدی، قدم به قدم مفاهیم کدنویسی را به کودکان آموزش میدهد (برای آشنایی بیشتر با این ابزار، به مقالهٔ Swift Playgrounds: اپلیکیشن اپل برای آموزش کدنویسی به کودکان مراجعه نمایید).
اگر کودکان گام اول یادگیری کدنویسی را با استفاده از ابزاری که برای آنها طراحی شده است بردارند، دیگر لازم ندارند تا تمام دستورات و نحوهٔ کاربرد آنها را از ابتدا بیاموزند. این اپلیکیشنهای آموزش کدنویسی، منطق برنامهنویسی را در محیطی سرگرمکننده و شهودی نشان داده و کودکان را در کدنویسی واقعی رو به جلو هدایت میکنند.
باور نادرست سوم: کودکان باید از سنین خیلی کم یادگیری را آغاز کنند
مشکل فقط به سن مناسب برای یادگیری برنامهنویسی ختم نمیشود بلکه باید در مورد این که چه فعالیتهایی در زیرمجموعهٔ برنامهنویسی قرار میگیرند نیز صحبت کنیم. برخی سایتهای آموزشی، تمرینهایی برای کودکان ۴ تا ۶ سال نیز در نظر گرفتهاند که مهارتهای محاسباتی و منطق پایهای آنها را ارتقاء میدهند (البته بیشتر افرادی که به این سایتها مراجعه میکنند، این تمرینها را به عنوان پیشنیاز برنامهنویسی نمیبینند).
به طور کلی، میتوان گفت که حتی یادگیری زبانهای تصویری مانند Scratch (برای سنین ۸ تا ۱۶ سال) نیز برای بیشتر کودکان زیر ۷ سال مشکل است؛ سنی که هنوز توانایی کامل خواندن، نوشتن و درک مسائل سادهٔ ریاضیاتی را ندارند (همچنین باید اشاره کرد که بهترین کدنویسهای دوران ما، کدنویسی را از سنین بالاتری و یا حتی از نوجوانی آغاز کردهاند؛ برای مثال، بیل گیتس در ۱۳ سالگی و مارک زاکربرگ در ۱۲ سالگی کدنویسی را شروع کردهاند).
باور نادرست چهارم: میتوان زبان برنامهنویسی درست را انتخاب کرد
کدام زبان برنامهنویسی برای شروع مناسبتر است؟ آیا این زبان باید صنعتی باشد یا طراحی شده برای کودکان؟ اگر بخواهیم در مورد زبانهایی که در یک صورت واقعی استفاده میکنیم صحبت کنیم، بهترین آنها زبانی است که یا سینتکس سادهای مانند Python دارد و یا زبانی که روی همهٔ دیوایسها قابلاجرا باشد مانند JavaScript که قابلیت اجرا روی هر مرورگری را دارا است.
در این میان، یک چیز قطعی است و آن هم این که انتخاب زبان درست غیرممکن است بنابراین ارزش بحث و جدل را ندارد! اول از همه، هیچ دستور جادویی وجود ندارد که برای همهٔ بچهها مناسب باشد. هر یک از آنها عاشق زبانهای مختلف میشوند و یا در کل عشق به برنامهنویسی را تجربه نمیکنند که آن هم یک تراژدی نیست. علاوه بر این، صنعت فناوری به سرعت در حال تغییر است که حدس زدن دربارهٔ این که کدام زبان در آینده کارایی بیشتری دارد را مشکل میکند.
تا زمانی که فرزند شما پا به بازار کار بگذارد، تغییرات بسیاری در این صنعت مشاهده میشود؛ برخی از زبانها ممکن است ناپدید شوند و برخی دیگر اضافه شوند. برنامهنویسی معمولاً یک میدان است که نیاز به یادگیری مادامالعمر دارد؛ بنابراین مهمترین چیز برای کودکان این است تا منطق برنامهنویسی را یاد گرفته و به زبانهای برنامهنویسی به شکل یک ابزار نگاه کنند؛ یک روز این ابزار میتواند زبان PHP باشد و روزی دیگر شاید Node.js.
همچنین در این جهان به سرعت در حال تغییر، مهارتهای نرمافزاری مانند حل مسئله و مهارتهای مدیریت پروژه، بیش از پیش حائز اهمیت شدهاند؛ پس سودآورترین قدم این است تا به صورت جامع برنامهنویسی را شروع کنیم به جای این که بچهای را وادار به یادگیری یک زبان خاص کنیم.
باور نادرست پنجم: در آینده همه باید کدنویسی کنند
در عصر دیجیتال، اغلب شغلها به طور فزاینده استفاده از فناوری را الزام میکنند. از طرفی، افرادی که در زمینههای غیرفنی از قبیل بازاریابی، آموزش و پرورش، چاپ و نشر و یا مراقبتهای بهداشتی کار میکنند، به احتمال زیاد کدنویسی را به عنوان بخشی از شغل لازم ندارند. بنابراین اگر فرزند شما علاقهای به برنامهنویسی ندارد، به راحتی میتواند در زمینههای دیگر موفق باشد؛ پس اصلاً نگران نباشید. ولی آگاه باشید که دانش دیجیتال برای همه ضروری خواهد بود. فردی که دانش دیجیتالی دارد کسی است که:
- با خیال راحت و با اطمینان از دستگاهها و نرمافزارهای مختلف استفاده کند.
- ارتباط میان آنها را کاملاً درک کند.
- دانشی نسبی از چیزهایی مانند وب، ابزارهای ارتباطی اینترنتی، جستجوی اینترنتی و بسیاری دیگر داشته باشد.
- مفاهیمی مانند حریم خصوصی آنلاین، امنیت و حقوق دیجیتال را درک کند.
اهمیت سواد دیجیتالی
برنامهنویسی، توسعهٔ وب، مدیریت سیستم و دیگر مهارتهای سطح پیشرفتهٔ حوزهٔ فناوری معمولاً به عنوان سواد دیجیتال شناخته نمیشوند. از سوی دیگر، یک درک اساسی از برنامهنویسی قطعاً میتواند به بهبود سواد دیجیتالی همراه با بسیاری از مهارتهای دیگر مانند حل مسئله، تفکر انتقادی و منطق کمک کند؛ پس خیلی مفید است اگر بچهها بتواند همه اینها را در مدرسه یاد بگیرند است.
همچنین میتوان این نکته را متذکر شد که برنامهنویسی عمومی باید به همهٔ کودکان آموزش داده شود؛ درست مثل خواندن، نوشتن، ریاضیات و غیره به این دلیل که این کار روش خوبی برای سنجش استعداد کودکان در این زمینه است و حتی اگر در پایان هم کودکی برنامهنویس نشود، قطعاً از این دانش در جنبههای دیگری از زندگی خود بهرهمند خواهد شد.