فهرست مطالب
قبل از بررسی روش های مختلف آموزش برنامه نویسی کودکان، ابتدا بهتر است کمی با مفهوم کدنویسی آشنا شویم.
کدنویسی اصطلاح دیگری برای برنامه نویسی است که پایه و اساس دنیای دیجیتال را تشکیل میدهد. در دنیایی که تا این حد به تکنولوژی وابسته است، دانستن برنامهنویسی یک ضرورت است.
کدها دستورالعملها و فرمانهای انسان را به زبان قابل فهم برای ماشین تبدیل می کنند. فرآیندی را بر روی آن فرامین ورودی اعمال می کنند. درنهایت آنچه تحویل میدهند خروجی نامیده میشود که همان جواب مورد نظر شما است.
آموزش برنامه نویسی به کودکان و نوجوانان موضوع مهمی است که این روزها در جهان بسیار مورد توجه قرار گرفته است.
به طور کلی، کودکان ۵-۸ ساله در محیط های برنامه نویسی بصری بهتر عمل می کنند. از ۸ سال به بالا ممکن است بعضی از بچه ها توانایی کاوش در متن یک زبان را نشان دهند.
با ورود نوجوان به سنین ۱۳ سال به بالا، می توان زبانهای برنامه نویسی کاملی را آموزش داد که بستگی به کودک و زبان برنامه نویسی مورد آموزش دارد.
با پیشرفت تکنولوژی زندگی ها به سمت الکترونیکی شدن رفته است همین امر سبب افزایش فواید برنامه نویسی برای کودکان و نوجوانان و مزایا و معایب برنامه نویسی برنامه نویسی شده است.
فرزندان ما دسترسی به انواع و اقسام اطلاعات در دنیای امروز را دارند. نمی توان جلوی این دسترسی را گرفت ولی می توان تا حد زیادی این دسترسی را کنترل کرد.
یادگیری سریع تر در سنین پایین تر یکی از ویژگی های دوران کودکی و نوجوانی است. از این نظر آموزش مهارت های کلید زندگی به کودکان در این سنین اهمیت ویژه ای دارد. در این میان آموزش برنامه نویسی به کودکان و نوجوانان، به عنوان یکی از مهمترین مهارتهای کلیدی قرن ۲۱، مورد توجه کشورهای پیشرفتهی جهان قرار گرفته است.
امروزه کودکان و نوجوانان توسط تلفنهای هوشمند، بازیهای و سرگرمیهای ویدئویی، وب سایتها و حتی انواع رباتها احاطه شدهاند، که میتوان تمام اینها از فواید و محصولات مهارت برنامهنویسی به شمار آوریم.
نکته ای که وجود دارد این است که آموزش برنامه نویسی به کودکان تنها معطوف به آموزش یک مهارت ویژه برای زندگی در عصر فناوریهای دیجیتال نیست، بلکه از نظر روانشناسی و علوم شناختی مزایای زیادی دارد
در حقیقت کارشناسان اعتقاد دارند که در دنیای معاصر ، به ۳ دلیل اصلی ، برنامه نویسی باید به کودکان و نوجوانان نیز آموزش داده شود.
۱٫مزیتهای روانشناسی این آموزشها برای کودکان، مانند توانایی حل مساله، رشد خلاقیت و استعدادها ، تقویت قدرت استدلال و اعتماد به نفس کودکان
آنچه این فناوریها را به حرکت در میآورد، نرمافزار یا برنامههای رایانهای هستند که با برنامه نویسی ایجاد میشوند. کودکان و نوجوانان باید بدانند آنچه که در هنگام استفاده از فناوری رخ میدهد جادویی نیست و خود آنها نیز میتوانند برنامههایی را ایجاد کنند که مفید بوده و کاربردی داشته باشد.
اما دانستن آنچه در زیر سطح بیرونی فناوری مدرن اتفاق میافتد تنها یکی از فواید برنامهنویسی کودکان است. بسیاری از فواید دیگر، مربوط به یادگیری نحوهی تفکر و پرورش مهارتهایی است که در آینده به آنها احتیاج دارند. حال به بررسی فواید برنامهنویسی کودکان و نوجوانان خواهیم پرداخت.
وقتی یک کودک یا نوجوان اقدام به نوشتن برنامهای میکند، در مرحلهی اول میآموزد راهحلهای مختلفی برای حل یک مسئله وجود دارد و باید به دنبال بهترین راه حل باشد. مهارت حل مسئله جزء مهم ترین فواید برنامه نویسی برای کودکان و نوجوانان است.(این مورد از مهمترین فواید برنامه نویسی کودکان می باشد)
برنامه نویسی یکی از راههای افزایش خلاقیت است. نوجوانان برای حل مسئله از روشهای مختلف استفاده میکنند که نشاندهندهی افزایش خلاقیت آنها است. این تلاش و پیگیری برای یافتن بهترین راه حل، خلاقیت را شکوفا میسازد.
زمانی که کودک یا نوجوان موفق به نوشتن برنامهای هر چند ساده و پیش پا افتاده میشوند، در صورتی که برنامه به درستی کار کند، او به خود میبالد و افتخار میکند و در نتیجهی آن اعتماد به نفسش افزوده میشود.
آن زمان برای حل مسایل پیچیدهتر آماده میگردد. تقویت اعتماد به نفس را نیز میتوان از مهمترین فواید برنامه نویسی برای کودکان و نوجوانان برشمرد.
از با ارزشترین فواید برنامه نویسی برای کودکان و نوجوانان آشنایی با کامپیوتر است. نوجوان به واسطهی کار با کامپیوتر و برخورد با مسائل فنی آن، کم کم میآموزد چطور مشکلات کامپیوتر خود را برطرف کند. گذر زمان سبب افزایش دانش کامپیوتری او میشود.
مزایا و فواید برنامه نویسی محدود به شغل آینده یا جذابیتهای کدنویسی نمیشود؛ بلکه سبب افزایش مهارتهای علمی از جمله ریاضی خواهد شد. نوجوانان برای حل برخی از مسائل باید از ریاضیات استفاده کنند و همان منطق ریاضی را تبدیل به کد نمایند.
نوجوان قبل از شروع برنامه نویسی باید به روشهای حل مسئله فکر کند. با بررسی و تحلیل مسائل باید مشکلات را پیشبینی کند. سپس بهترین راه حل را انتخاب کند. با گذر زمان قدرت تحلیل او افزایش مییابد.به این همه فواید برنامه نویسی برای کودکان و جوانان، قدرت تحلیل مسائل نه تنها در برنامه نویسی بلکه در زندگی روزمره هم بسیار کاربردی است.
فرزند شما مهارتی را کسب میکند که بسیاری از هم سن و سالان او از این مهارت محروم هستند. در آینده به او مزیت رقابتی ویژهای در دانشگاه، نزد مدیر، حتی خدمت سربازی میدهد.
اثرات یادگیری برنامه نویسی محدود به زمان حال نیست. جدای از عادات خوبی که در فرزندانمان ایجاد میکند، در آینده نیز چه از نظر شغلی، شخصیتی و حتی اجتماعی به کمک آنها میآید.
در عصر امروز همه چیز به سمت الکترونیکی شدن میرود. این امر سبب افزایش موقعیتهای شغلی برای برنامه نویسان شدهاست. نوجوانانی که به یادگیری برنامه نویسی میپردازند، از همان سنین جوانی میتوانند موقعیتهای شغلی فراوانی را برای خود دست و پا کنند. تجربه در میزان کسب درآمد برنامهنویسان امر مهمی است.
وقتی کودک برای حل مسئله می بایست از بین چند راه حل یکی را انتخاب کند به مرور قدرت تصمیم گیری بهتری پیدا خواهد کرد.
زمانی که کودک در مقابل یک چالش بزرگ قرار می گیرد با مقاومت به دنبال کوچک کردن چالش بزرگ به بخش های کوچکتر می رود و به مرور مسئله را حل می کند.
از نظر مایکل رسنیک دانشمند دانشگاه ام آی تی، کودکانی که مقدمات برنامه نویسی را نمی دانند بی سوادند.
پشتکار یکی از برجسته ترین فواید برنامهنویسی است چراکه گاهی برای حل یک مسئله کوچک میبایست روزها زمان مداوم گذاشت.
وقتی کودک شما باید به زبان انگلیسی، کدنویسی کند و مسئله را حل کند و یا برای حل مشکلش به زبان انگلیسی در گوگل سرچ کند، خود به خود موجب تقویت زبان انگلیسی او شده اید.
برای دوری کودک از یادگیری کامپیوتر صرفا برای بازی و وقت گذرانی، میتوان یادگیری برنامه نویسی را جایگزین نمود تا علاوه بر آن کامپیوتر هم توسط کودک آن هم به شکل هدفمند یادگرفته شود.
حتی اگر ساده ترین کد نویسی توسط کودک انجام داده شود لذت زایدالوصفی برای او رقم خواهد زد.
زمانی که کودک در پی حل مسئله راه های مختلف را بررسی کند و راحتترین راه را انتخاب نکند به انعطاف پذیری دست پیدا کرده است.
کودک برنامه نویس شما تبدیل به فردی خواهد شد که فقط مصرف کننده برنامه های مختلف که روزانه همه با آن کار می کنیم، نخواهد بود بلکه از نحوه کار و ارتباط آنها با هم و ایرادات آنها نیز آگاه می شود.
کودکی که بتواند با برنامه نویسی خلق کند و مسئله حل کند حتما در میان دیگر هم سالانش از جایگاه اجتماعی خوبی برخوردار خواهد بود.
کودک برنامه نویس برای حل مسائل بزرگ نیاز به همفکری و تقسیم وظایف خود با دیگران می کند و اینگونه مهارت کارتیمی را می آموزد.
مورد ۲۰ در نهایت موجب تقویت ارتباطات اجتماعی کودک می شود.
در ادامه مورد بالا وقتی کودک برنامه نویس به ایرادات برنامه های اشاره شده در مورد ۱۸ پی برد، حال با ارائه راهکار حتی می تواند کارآفرینی کند.
در دهههای گذشته، گفته میشد هر فردی که زبان و کامپیوتر بلد نباشد به نوعی بیسواد است اما Mitchel Resnick، دانشمند مطرح علوم کامپیوتری دانشگاه MIT و مدیر بخش گروه Lifelong Kindergarter در MIT Media Lab و همچنین خالق زبان برنامه نویسی Scratch که مخصوص کودکان هشت سال به بالا است، اعتقاد دارد که: در قرن بیست و یکم هر بچهای که اصول برنامه نویسی رو بلد نباشه بیسواد محسوب میشه!
آقای رسنیک با بیش از سی سال تجربه در این حوزه، بر این عقیده استوار است که برای ایجاد یک فضای یادگیری خلاقانه، باید محیطی آموزشی برای کودکان ایجاد کرد که دربرگیرندهی پروژههای عملی، کار گروهی، بازی و سرگرمی باشد تا هرگونه خستگی و کسالت از فضای آموزشی حذف گردیده و کودکان با شور و شوق دست به یادگیری مسائل جدید بزنند.
به عبارت دیگر، پیش از هر چیز باید فضایی برای بچهها ایجاد گردد تا بتوانند پروژههایی واقعی ایجاد کنند اما در عین حال این پروژهها باید به گونهای تفویض شوند که با علائق کودک هم خوانی داشته باشند چرا که تجربه نشان داده اگر کودک به چیزی علاقمند باشد، مدت زمان بیشتری را برای سر و کله زدن با آن سپری کرده و حتی اگر به مشکلی هم برخورد کند، به سادگی دست از کار نخواهد کشید!
متودولوژیهای آموزشی به کار گرفته شده در مورد کودکان حاکی از آنند که بچهها در قالب کارهای گروهی و تیمی، چیزهای جدید را بهتر یاد میگیرند و این یادگیری زمانی دوچندان میشود که آمیخته با بازی و سرگرمی باشد.
لزوم یادگیری برنامه نویسی برای نسلهای جدید منجر گردیده تا کشورهای تراز اول دنیا تمام تلاش خود را به کار بندند تا بستری برای رشد، توسعه و خودباوری نسل جدید در زمینهی علوم کامپیوتری بهخصوص برنامه نویسی فراهم سازند و شاهد این ادعا هم شکلگیری سازمانهایی غیرانتفاعی همچون code.org و غیره است که جنبشی به منظور آموزش کاملاً رایگان اصول برنامه نویسی به کودکان علاقمند به راه انداخته اند.
نکته ای که در پایان خوب است به آن توجه کنیم این است که از نظر کارشناسان آموزشی، یادگیری برنامه نویسی در عصر حاضر مانند یادگیری خواندن و نوشتن است. همانطور که قرار نیست هر فردی که خواندن و یادگیری خواندن و نوشتن و یا یادگیری یک زبان جدید دریچههای بیشتری از دانش را روبه روی نوشتن یاد میگیرد در آینده یک نویسنده یا شاعر شود، قرار نیست تمامی بچهها با یادگیری برنامهنویسی در آینده یک برنامهنویس حرفهای شوند.
در حقیقت افراد باز میکند، از این حیث فارغ از اینکه بچهها در آینده چه شغلی داشته باشند تمامی افراد با یادگیری برنامه نویسی فرصتهای بیشتری برای یادگیری خواهند داشت و می توانند بیشتر و بهتر یاد بگیرند.
کدنویسی در زندگی دیجیتالی امروز حضوری غیرقابل انکار و کاملا محسوس دارد. به طوری که، دانستن یک زبان برنامه نویسی به یک مهارت ضروری تبدیل شده است. بسیاری از دروس دانشگاهی به کدنویسی وابسته است. کدنویسی در برنامه نویسی بخش مهمی از بسیاری از مشاغل پردرآمد در جامعه را از آن خود کرده است.
کد نویسی برای همه بچهها کاربردی نیست و باید آن را باتوجه به روحیات فرزندتان درنظر بگیرید. بهتر است کودک را با کدنویسی در برنامه نویسی آشنا کنید. سپس، تصمیم بگیرد که آیا به برنامه نویسی علاقه دارد یا خیر. یا آیا تمایل دارد این مسیر را ادامه دهد یا خیر؟ در ادامه فواید کدنویسی برای کودکان را بررسی خواهیم کرد.
نابغهساز در پاییز 97 با رویکرد تسهیل برنامهنویسی برای کودکان و نوجوانان پدید آمد. تیم نابغهساز از ابتدای سال 96 به دنبال راهی برای آموزش برنامهنویسی به زبان ساده برای کودکان و نوجوانان بودند. در این راه نرمافزارها و برنامههای متنوعی توسط این تیم مورد تحقیق و بررسی قرار گرفت.