ابزارهای آموزش برنامه نویسی به کودکان و نوجوانان
سید مصطفی کلامی هریس *:
نقش بنیادی و اساسی کامپیوترها در زندگی امروزه انسان ها، همه اقشار، گروه های شغلی و رده های سنی را تحت تاثیر قرار داده است و عملا هیچ کس، بدون استفاده از این ابزارها، امکان تعامل، برقراری ارتباط و پیشرفت را ندارد. قطعا در این میان، کودکان و نوجوانان یکی از رده های سنی هستند که زندگی آن ها، بیشترین وابستگی را به کامپیوترها و مهارت استفاده از آن ها دارد. چرا که موفقیت تحصیلی و شغلی نوجوانان و کودکان امروزی، کاملا منوط به برخورداری از مهارت و تخصص در کاربری کامپیوتر است.
مهارت کار با کامپیوتر و استفاده از آن برای اهداف مختلف، موضوعی بسیار همگانی است. اما در این میان، بسیاری از موقعیت های شغلی و تحصیلی هستند، که عملا نیازمند داشتن مهارت، سابقه و استعداد در زمینه برنامه نویسی و مفاهیم دیگر علوم کامپیوتر هستند. به عنوان مثال، عملا بسیاری از ابزارهایی که در رشته های مختلف فنی-مهندسی و علوم پایه، چه در محیط آکادمیک و چه در محیط کار کاربرد دارند، تا حدود زیادی، با این فرض ساخته شده اند که فرد استفاده کننده، تا حدودی با موضوع برنامه سازی کامپیوتری و طرز تفکر یک دانشمند علوم کامپیوتر، آشناست.
از نظر آموزشی، یاد گرفتن برنامه نویسی برای یک کودک یا نوجوان، باعث ایجاد تصویری منطقی تر از فرایند کار کامپیوترها می شود؛ به نحوی که دیگر در هنگام تفکر در مورد یک سیستم کامپیوتری، یک شبکه و یا یک نرم افزار، به دید یک فرایند علّی و کاملا منطقی آن را بررسی می کنند و تصوری غیر واقعی و جادوگرانه از این سیستم ها در ذهن شان ایجاد نمی شود. ضمن این که، آموزش برنامه نویسی و رویکردهای برنامه سازی، در کنار ایجاد یک تفکر منطقی و مسلط تر، شامل آموزش و تقویت سایر مهارت ها، از جمله ریاضیات و منطق نیز می شود، و نسبت به رویکردهای سنتی، ماندگاری بیشتری را در ذهن دانش آموزان و دانشجویان ایجاد می نماید.
مهارت برنامه نویسی، مانند هر مهارت ریاضی و محاسباتی دیگر، غالبا بر دو موضوع استوار است: استعداد و تمرین. اما متأسفانه به دلیل فراهم نشدن امکانات و شرایط آموزشی برای کودکان و نوجوانان، معمولا استعداد برنامه نویسی این افراد به شکل مناسبی ظهور و بروز پیدا نمی کند و در نتیجه، تا زمانی که در دانشگاه و یا سنین بالاتر فرصتی پیش نیامده باشد، این استعدادهای ناب، مغفول می مانند و زمینه رشد آن ها، فراهم نمی شود.
اما خوشبختانه، امروزه با گسترش دنیای فناوری و توسعه سیستم های آموزش آنلاین و سایر رویکردهای آموزش نوین، ابزارها و فرصت های متنوعی برای آموزش برنامه نویسی به کودکان و نوجوانان، ایجاد شده است. در این مقاله، از میان ابزارها و زبان های برنامه نویسی مورد استفاده برای این منظور چند مورد را انتخاب کرده ایم و مرور کوتاهی بر روی آن ها، خواهیم داشت.
زبان برنامه نویسی اسکرچ یا Scratch
زبان برنامه نویسی اسکرچ یا Scratch، پروژه بسیار مهمی است که توسط اسکرچ یا آزمایشگاه رسانه موسسه فناوری ماساچوست (یا MIT Media Lab) طراحی و توسعه یافته است و از جمله مهم ترین ابزارهای آموزش برنامه نویسی به کودکان محسوب می شود. یکی از مهم ترین ویژگی های این زبان برنامه نویسی، گرافیکی بودن فرایند ایجاد برنامه هاست و در واقع، کاربران برنامه را نمی نویسند؛ بلکه آن را ترسیم می کنند. این قابلیت، باعث می شود که استفاده کنندگان از این زبان برنامه نویسی، که اصولا افراد مبتدی، کودکان و نوجوانان هستند، به جای درگیر شدن با سختی های تایپ برنامه ها، دسته بندی دستورها، و رعایت گرامر زبان های برنامه نویسی، مستقیما و بدون هیچ واسطه ای، منطق و ایده پشت برنامه را، پیاده سازی کنند.
اساسا اسکرچ برای افراد بالای 6 سال طراحی شده است و تا کنون، آزمایش های موفقیت آمیز بسیاری در خصوص مفید بودن این زبان برای آموزش مفاهیم برنامه نویسی به کودکان، پشت سر گذاشته شده است. پروژه های متنوع، برنامه ها، بازی ها و هزاران نمونه کار منتشر شده در وبسایت اختصاصی اسکرچ (در این لینک)، حاکی از تاثیرگذاری و موفقیت این پروژه بوده است.
محیط برنامه نویسی و کار اسکرچ بسیار ساده طراحی شده است و به صورت آنلاین و آفلاین (در دو نسخه) در دسترس کاربران قرار گرفته است. امکان ترجمه دستورها و بلوک ها نیز در این محیط قرار داده شده است، و خوشبختانه ترجمه فارسی نیز میان زبان های بین المللی این پروژه، مشاهده می شود. هر چند، نواقصی در ترجمه ها مشاهده می شود که امیدواریم به زودی رفع شوند.
مایکروسافت اسمال بیسیک یا Microsoft Small Basic
زبان برنامه نویسی مایکروسافت اسمال بیسیک (Microsoft Small Basic) یک نسخه ساده شده از زبان برنامه نویسی بیسیک است، که توسط شرکت مایکروسافت توسعه داده شده ست و بیشتر برای افرادی طراحی شده است که، در زمینه برنامه نویسی مبتدی هستند. این زبان برنامه نویسی، فقط شامل 14 کلمه کلیدی است و نرم افزار مربوط به محیط برنامه نویسی این زبان، بسیار کاربرپسند و ساده است.
مخاطبان و کاربران اصلی این زبان برنامه نویسی، افرادی هستند که می خواهند برنامه نویسی را یاد بگیرند و قبلا هیچ تجربه ای در این خصوص نداشته اند. از این رو، هم کودکان و نوجوانان، و هم بزرگسالان مبتدی می توانند از این زبان برنامه نویسی استفاده نمایند و وارد دنیای برنامه نویسی شوند. در میان استفاده کنندگان این زبان برنامه نویسی، حتی افرادی در سن 8 سالگی مشاهده می شوند که پس آموزش این زبان، به راحتی توانسته اند به سمت زبان های برنامه نویسی سطح بالاتر، مانند ویژوال بیسیک (Visual Basic) کوچ نمایند.
این زبان برنامه نویسی برای نخستین بار، در ماه اکتبر سال 2008 میلادی و توسط مایکروسافت معرفی شد و برای استفاده نهایی، در ماه ژوئن سال 2011 منتشر شد. نخستین گروهی که به صورت آزمایشی از این زبان برنامه نویسی استفاده نمودند، عده ای از دانش آموز مقطع راهنمایی بودند، که والدین اکثر آن ها، از کارمندان مایکروسافت هستند. همچنین، در یک کارگاه آموزشی عملی، از این زبان برنامه نویسی برای آموزش برنامه نویسی به 25 دختر نوجوان، که در مقطع دبیرستان مشغول به تحصیل بودند، استفاده شد. نتیجه همه این آزمایش ها، حاکی از کارایی این زبان، برای آموزش مبانی برنامه نویسی و برنامه سازی، به کودکان و نوجوانان است.
زبان برنامه نویسی آلیس یا Alice
آلیس نام یکی از شخصیت های داستانی در ادبیات کودکان است، که به نظر می رسد نام مناسبی برای یک زبان برنامه نویسی باشد؛ اما این بار آلیس نه در سرزمین عجایب، بلکه در سرزمین علوم کامپیوتر است. آلیس یا Alice نام یکی دیگر از زبان های برنامه نویسی طراحی شده برای کودکان و نوجوانان است، که به صورت سه بعدی پیاده سازی شده است. این زبان برنامه نویسی نیز، توسط دانشگاه کارنگی ملون (Carnegie Mellon) پشتیبانی می شود. با استفاده از این زبان برنامه نویسی، امکان ایجاد انیمیش های کامپیوتری، داستان های سه بعدی، بازی های سه بعدی و حتی فیلم وجود دارد.
تیم پشیتبان آلیس، که متشکل از دانشمندان و متخصصین حوزه های مختلف علوم کامپیوتر است، هدف اصلی خود را بر روی توسعه سیستمی گذاشته اند که در آموزش مفاهیم بنیادی علوم کامپیوتر و برنامه نویسی، بتواند به عنوان کمک کار معلمین و مدرسین مورد استفاده قرار گیرد. شیوه برنامه نویسی و استفاده از دستورها، بسیار ساده است و دانش آموزان، به سرعت مهارت لازم برای کار با این زبان برنامه نویسی را به دست خواهند آورد.
آردوینو یا Arduino
آردوینو یا Arduino یک پلاتفورم نمونه سازی متن باز (اوپن سورس) الکترونیک است، که شامل هر دو بخش سخت افزاری و نرم افزاری است. سخت افزار مورد استفاده از آردوینو با استفاده از یک زبان خاص شبیه به زبان برنامه نویسی سی (C) و سی پلاس پلاس (C++) برنامه ریزی می شود. با این حال که زبان برنامه نویسی مورد استفاده در آردوینو بسیار ساده است و امکان آموزش بسیار سریع اصول برنامه نویسی را فراهم می آورد، اما قطعا لذت به حرکت درآوردن یک روبات با استفاده از این کدها، چیزی کامل متفاوت و به یاد ماندنی تر است.
تا کنون نسخه های مختلفی از میکروکنترلرها و مدارهای آردوینو معرفی شده اند، که امکان پیاده سازی انواع مختلفی از پروژه های عملی را فراهم می آورند، که یک فرصت و فضای آموزشی بی نظیر را برای علاقه مندان، و به ویژه کودکان و نوجوانان فراهم می آورد. امکان پیاده سازی برنامه های آردینو در محیط های مختلف، برقراری ارتباط با حسگرها (سنسورها) و ادوات دیگر، امکان کنترل با استفاده از تلفن های هوشمند و تبلت، استفاده از زبان های برنامه نویسی دیگر (از جمله اسکرچ) برای پیاده سازی نرم افزارها و پروژه ها در این پلاتفورم، باعث توسعه قابل توجه این سیستم شده است، و از این رو، آردوینو عملا پر استفاده ترین سیستم آموزشی برای برنامه نویسی، الکترونیک و روباتیک محسوب می شود.
توفان ذهن لگو یا LEGO Mindstorms
همه ما با برند لگو یا LEGO و اسباب بازی های معروف آن آشنا هستیم و اثربخشی لگوها در تقویت قوه خلاقیت کودکان، بر کسی پوشیده نیست. پروژه توفان ذهن لگو یا LEGO Mindstorms، که مبدأ پیدایش آن نیز به آزمایشگاه رسانه MIT بر می گردد، یکی دیگر از ابزارهای مفید برای آموزش برنامه نویسی و روباتیک به کودکان و نوجوانان است.
در بسته های مربوط به این سیستم، همه ابزارهای لازم برای پیاده سازی پروژه های مختلف گنجانده شده است و افراد می توانند با استفاده از جعبه های فرمان، روبات لگوی خود را برنامه ریزی کنند. هر چند، استفاده از سایر زبان های برنامه نویسی برای طراحی پروژه های مبتنی بر لگو، امکان پذیر است.
پروژه کارگاه شگفتی یا Wonder Workshop
پروژه کارگاه شگفتی یا Wonder Workshop، که پیش از این با نام غیر رسمی Play-i شناخته می شد، با معرفی دو روبات به نام های نقطه (Dot) و خط (Dash)، کار خودش را شروع کرده است. این روبات ها، دو اسباب بازی معمولی نیستند؛ بلکه ابزارهایی حرف گوش کن هستند که کودکان می توانند با استفاده از ابزارهای ساده برنامه نویسی (مثلا اسکرچ)، از طریق کامپیوتر یا تبلت، برنامه های مورد نظر خود را، به عنوان دستور کار به روبات ها انتقال دهند. یک ویدئوی جالب در مورد این پروژه در این لینک (+) قابل مشاهده است. این روبات ها، به همراه ابزارهای مکملی که در کنار آن ها ارائه می شوند، امکان پیاده سازی انواع سناریوها را فراهم می آورند، که قطعا برای رشد و توسعه خلاقیت و استعدادهای کودکان و نوجوانان، می تواند بسیار موثر باشد.
سایر زبان های برنامه نویسی
فهرست موارد معرفی شده در این نوشتار، قطعا کامل نیست و ابزارهای متنوع دیگری برای این منظور وجود دارند. فهرست کاملی از زبان های برنامه نویسی آموزشی در ویکی پدیا، و در این لینک ارائه شده اند، که اکثرا برای آموزش کودکان و نوجوانان قابل استفاده هستند. همچنین، فهرستی خلاصه تر، از مواردی که برای کودکان و نوجوانان مناسب تر هستند، در این لینک آمده است.
در این میان، اپلیکیشن های متنوعی نیز، برای آموزش برنامه نویسی به کودکان وجود دارند، که یک نمونه از آن ها، برنامه Move the Turtle برای iOS است. این اپلیکیشن، یکی از ابزارهای جالب برای آموزش برنامه نویسی به کودکان است که یادگرفتن آن، نیازمند منبع خاصی نیست و در واقع، به دلیل سادگی بیش از حد، اساسا این ابزار، خودش یک مرجع آموزشی است.
بررسی منابع آموزشی موجود
در کنار ابزارهایی که برای این منظور معرفی شدند، در بخش انتهایی این نوشته، قصد داریم که منابع آموزشی مفید برای آموزش مبانی برنامه نویسی و علوم کامپیوتر به کودکان و نوجوانان را، معرفی کنیم.
از میان منابع خارجی، یکی از مهم ترین منابع آموزش، پروژه CODE است، که ساعت کد (Hour of Code) یکی از مهم ترین حرکت های این پروژه، برای آموزش همگانی برنامه نویسی است. یکی دیگر از منابع آموزشی مهم، مجموعه کتاب های منتشر شده با عنوان علوم کامپیوتر برای کودکان است. این دوره آموزشی در Udemy نیز، اساسا برای کودکان و نوجوانان طراحی شده است. بخش ویژه کودکان در موسسه PluralSight نیز، یکی از منابع بسیار مهم است که از طریق این لینک در دسترس است.
از میان منابع ایرانی نیز، به عنوان یکی از کامل ترین مجموعه های آموزشی، می توان به فیلم های برنامه نویسی اسمال بیسیک (Small Basic) اشاره کرد که بر روی فرادرس ارائه شده است. اطلاعات تکمیلی مربوط به این مجموعه آموزشی، در این لینک قابل دریافت هستند. همچنین دوره آموزشی برنامه نویسی اسکرچ که بر روی سکان آکادمی ارائه شده است، یکی دیگر از منابع آموزشی مفید در این زمینه است.
* فارغ التحصیل دکترای مهندسی برق-کنترل دانشگاه صنعتی خواجه نصیرالدین طوسی
با تشکر ویژه سایت فرادرس که این مقاله خوب را برای انتشار در «یک پزشک» در اختیار ما قرار داد.
دوستان برنامه نویس، یک سوال، پیشنهادتون برای یه کورس آنلاین برای کسی که میخواد C++ رو 1 ماهه یاد بگیره چیه ؟
سی پلاس پلاس رو سی روزه یاد بگیره ، بعدش چی؟
لابت میخوات پایتون رو 15 روزه یاد بگیره و بعد از اون روبی و جاوا و پی اچ پی رو هم میکس کنه یه هفته ای یاد بگیره
من تعجب میکنم بعضیا تو رزومشون تقریبا تمامی زبان های برنامه نویسی رو مینویسن و میگن که تسلط دارن.
یک ماه برا آشنایی هم کمه ، چه برسه به تسلط
در ضمن فقط تمرین …
به نظرم با کتاب C++ جعفر نژاد قمی شروع کنید
سلام . اقای مجیدی واقعا” کارت درسته .خیلی خیلی ممنونم. اصلا” فکرش رو نمی کردم که برای بچه ها زبان برنامه نویسی رو ساده کرده باشند . شاد باش و دیرزی .
این سایت
http://code.org/
نیز هست
لینک دانلود فیلم های آموزشی رایگان سایت فرادرس در مورد آموزش برنامه نویسی به نوجوانان و کودکان، با استفاده از اسمال بیسیک:
آشنایی با زبان برنامهنویسی Microsoft Small Basic
لینک دانلود: http://goo.gl/xeo6Ey
آموزش شرطها و تصمیمگیری در برنامههای اسمال بیسیک
لینک دانلود: http://goo.gl/NR7vWb
گرافیک و ترسیم خطوط در اسمال بیسیک
لینک دانلود: http://goo.gl/nxcu18
کار با پیکسل ها و ترسیم تصاویر پیکسلی در اسمال بیسیک
لینک دانلود: http://goo.gl/kC1gmU
پخش صدا و اجرای موسیقی در اسمال بیسیک
لینک دانلود: http://goo.gl/mjLUFH
آرایه ها در Small Basic
لینک دانلود: http://goo.gl/xfO8ra
پیاده سازی یک برنامه نقاشی ساده در اسمال بیسیک
لینک دانلود: http://goo.gl/MkO84v
پیاده سازی یک بازی کامپیوتری ساده (بازی توپ و پارو) در اسمال بیسیک
لینک دانلود: http://goo.gl/i3mLNL
دریافت و انتشار برنامه های اسمال بیسیک در گالری مایکروسافت
لینک دانلود: http://goo.gl/gev7ZL
یک افرادی دارن زحمت میکشن که محتوای فرادرس رو تولید کنن و نیاز به پول دارن برای این کار. اگر طرفدار این وبسایت هستید و میخواین ویدیوهای بیشتری تولید بکنه لطفا از خودش خریداری بکنید.
سلام من 15 سالمه و میخاستم زبان c++ رو یاد بگیرم میخاستم بیینم چن وقت باید کار کنم تا بتونم توی مسابقات برنامه نویسی داشن آموزی شرکت در ضمن اگر کسی آموزشگاهی رو مخصوص رده سنی من سراغ داره
این شماره ی من 09331617534 توی تلگرام بهم پیام بدید ممنون
این لینک ها زبان برنامه نویسی سیمرغ برای کودکان رو تشریح می کنه که خیلی جالبه و باید ازشون تشکر کرد
http://www.aparat.com/v/QnBwu
http://www.aparat.com/v/t0Ouo
http://www.aparat.com/v/9gKDB
سلام من برنامه اسکرچ رو استفاده کردم میخاستم بدونم میشه ازش خروجی exeگرفت یا ن؟؟