.

زبان برنامه نویسی اسکرچ

معرفی زبان برنامه نویسی اسکرچ (Scratch)

تاریخچه شروع آموزش برنامه نویسی مخصوص کودکان به دهه 70 و 80 میلادی بر می گردد زمانیکه مدارس با استفاده از زبان های برنامه نویسی همچون Logo و Basic مفاهیم برنامه نویسی را به کودکان آموزش می دادند اما این در حالی بود که این زبان ها نتوانستد آن طور که باید و شاید جای خود را در میان کودکان باز کنند. از جمله دلایل عدم موفقیت این زبان ها می توان به موارد زیر اشاره کرد:

1. بسیاری از زبان هایی که در گذشته برای آموزش برنامه نویسی به کودکان مورد استفاده قرار می گرفتند دارای ساختار یا Syntax یی بسیار دشوار بوده اند و از همین رو کودکان به این زبان ها جذب نشدند.

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

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

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

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

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

از سوی دیگر می توان گفت در اکثر زبان های برنامه نویسی سطح بالا وجود یک مشکل در Syntax  یا ساختار برنامه موجب می گردد که برنامه ما به هیچ وجه اجرا نشود اما این در حالی است که کودک در حین برنامه نویسی با زبان اسکرچScratch به هیچ وجه با Error  هایی که در زمان اجرای دیگر زبان های برنامه نویسی مشاهده می کنیم مواجه نخواهد شد. 

                    

واژه انگلیسی Scratch  به معنی "ناخن کشیدن، خاراندن، کشیدن چیزی، حک کردن و ..." است. جالب است بدانیم که همانطور که دی جی ها با کشیدن دست خود روی صفحه دستگاه سعی می کنند میکس های خلاقانه ای از موسیقی ها مختلف تولید کنند، در زبان برنامه نویسی اسکرچ Scratch  هم کار مشابهی صورت می گیرد به این شکل که کودک تصاویر، انیمیشن ها، موسیقی و به طور کلی هر صدایی را به علاوه بسیاری عناصر بصری دیگر به صورت کاملاً بصری روی صفحه می کشد، جا به جا می کند، روی هم قرار می دهد تا بتواند پروژه هایی خلاقانه تولید کند.

 

طراحان زبان برنامه نویسی اسکرچ Scratch  در تولید این زبان برنامه نویسی جذاب از دو نکته ای که همواره توانسته کودکان را در فرایند یادگیری به خود ترغیب کند نیز غافل نشده اند:

1.   تنوع: در واقع از آنجا که این زبان برنامه نویسی پروژه های متنوعی از داستان سرایی گرفته تا خلق انیمیشن و ... را در بر می گیرد، بنابراین کودکان و حتی افراد بزرگسالی با علائق مختلف را می تواند به خود جذب کند.

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

یکی از دلایلی هم که این زبان برنامه نویسی به صورت دو بعدی 2D عرضه شده است این است که شخصی سازی پروژه ها و نمایش تصاویر دو بعدی به مراتب برای کودکان از ایجاد یک تصویر یا انیمیشن سه بعدی 3D  راحت تر است. حال از آنجا که در این زبان برنامه نویسی تمرکز روی سهولت استفاده است، بنابراین طراحی دو بعدی مد نظر قرار گرفته است.

                 

 

زبان برنامه نویسی اسکرچ Scratch  گروه سنی 8 تا 16 سال را هدف قرار داده است، البته دیگر گروه های سنی هم اگر در سطح مبتدی باشند می توانند جهت یادگیری مفاهیم اصلی برنامه نویسی از این زبان کمک بگیرند. به عنوان مثال در دانشگاه هاروارد و برکلی دوره های مقدماتی برنامه نویسی با استفاده از این زبان برگزار می شود، این امکان را برای کاربران فراهم می آورد تا خلاقانه فکر کنند، به صورت نظامند به تحلیل مسائل بپردازند و همچینن کارگروهی را یاد بگیرند. به نظر می رسد که این مهارت ها به عنوان بخشی از مهارت های لازم و ضروی برای زندگی در قرن 21 باشد. به عبارت دیگر زمانیکه کودکان برنامه نویسی با اسکرچ Scratch  را فرا می گیرند، با اصولی آشنا می شوند که به منزله بخشی مهم از زندگی در دنیای دیجیتال را تشکیل می دهند. پس از فراگیری اصول برنامه نویسی با اسکرچ Scratch، کودکان استراتژی های مهمی از جمله حل کردن مسائل ریاضیاتی و کامپیوتری، طراحی پروژه و به اشتراک گذاشتن نظرات خود را با دیگران نیز فرا می گیرند.

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

پس از ثبت نام در سایت به صورت کاملاً رایگان، کودکان می توانند شروع به طراحی ایده های خود کرده و در صورت تمایل فایل طراحی شده نهایی را می توانند در سایت آپلود کرده و در معرض دید کل دنیا قرار دهند. از این پس دیگر کاربران می توانند بازی، انیمیشن و یا هر ایده دیگری که با استفاده از زبان برنامه نویسی اسکرچ Scratch  طراحی شده است را مشاهده کرده، در مورد آن نظر دهند و یا حتی به کدهای نوشته شده هم دسترسی خواهند داشت تا در صورت نیاز برای خود تغییراتی در آن اعمال کنند.

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

                                        

 

اهداف ارائه دوره اسکرچ

حال با توضیحی مختصر پیرامون زبان برنامه نویسی اسکرچ Scratch  قصد داریم به بررسی اهداف گروه شایان پارسه در مورد دلایل ارائه دوره آموزشی این زبان برنامه نویسی بپردازیم.

واقعیت امر این است که ما در برابر نسل آینده ایران مسئول هستیم. دنیا با سرعت هرچه تمام تر به سمت فناوری های پیشرفته در حرکت است و یکی از این فناوری ها Coding یا همان "برنامه نویسی" است. به نظر می رسد که در آینده فروشگاه های آنلاین، دوره های مجازی آنلاین و بسیاری از امکانات تحت وب دیگر به گونه ای زندگی ما را تحت الشعاع قرار دهد که ناگزیر باشیم بخش قابل توجهی از زندگی خود را با این فناوری ها در تعامل باشیم. علاوه بر این خیلی دور از ذهن نیست که در آینده ای نه چندان دوره زبان برنامه نویسی هم به عنوان درسی اجباری در مدارس تبدیل شود. از اینرو همچون زبان انگلیسی که امروزه لازم و ضروری است، فراگیری یک زبان برنامه نویسی هم می تواند تاثیرات غیر قابل انکاری در زندگی کاری و فردی کودکان امروز - بزرگسالان فردا - داشته باشد.

از سوی دیگر جدای از نوع زبان برنامه نویسی، فراگیری اصول برنامه نویسی تاثیرات شگرفی بر نحوه عملکرد کودکان ما در زندگی شخصی شان خواهد داشت. در برنامه نویسی باید خلاق بود، تفکر انتقادی داشت، به مسائل از زوایای مختلف نگاه کرد و ...

حال کودکی از سنین ابتدایی (مثلاً 7 الی 8 سالگی) برنامه نویسی را به عنوان یک سرگرمی در برنامه زندگی خود قرار دهد، این کار نه تنها می تواند متضمن ایجاد تأثیرات برنامه نویسی در زندگی فردی وی در سنین خردسالی و همچنین در بزرگسالی باشد، بلکه می تواند کودک را به منظور ورود به بازار کار پر درآمد ترین حرفه دنیا (برنامه نویسی) نیز آماده سازد.

نکته دیگری که امروزه به کرات دیده می شود، وابستگی بیش از حد کودکان به بازی های کامپیوتری است. در واقع این وابستگی چنانچه هدفمند نباشد می تواند کودک را به فردی مصرف کننده، غیر خلاق و تک بعدی مبدل سازد. نیاز است تا کودکان از همین سنین ابتدایی خلاقیت خود را شکوفا سازند و مسئولیت پروژه های کوچکی همچون یک برنامه ساده اسکرچScratch  را به عهده گیرند تا در سنین بزرگسالی بتوانند یک شرکت را رهبری کنند، تشکیل خانواده دهند و تاثیر مثبتی در جامعه خود به جای بگذارند.

در پایان می توان گفت با آموزش برنامه نویسی به کودکان خود به شکلی نوین می توان "نسل دیجیتالی" آینده ایران را به گونه ای تبدیل کنیم که متفاوت از نسل های قبل فکر کنند، خلق کنند و تاثیر گذار باشند.