ابتدا اجازه دهید که تعریف رسمی اسکرچ را از سایت scratch.mit.edu برای شما بازگو کنم:
در ادامه توضیح خواهم داد که اسکرچ چگونهزبانی است و منظور از جامعهی آنلاین آن چیست.
زبان برنامهنویسی اسکرچ
اسکرچ یک زبان برنامه نویسی Visual است. Visual را میتوان گرافیکی، دیداری و یا بصری ترجمه کرد. یعنی در اسکرچ دستورات را تایپ نمیکنیم بلکه این دستورات به شکل تصاویری هستند که آنها را با Drag&Drop در زیر هم قرار میدهیم تا یک برنامه ساخته میشود. به این روش برنامه نویسی (یعنی استفاده از دستورات به شکل بلوک) ، blockly programming میگویند.
برنامه زیر برای رسم یک شش ضلعی منتظم در اسکرچ نوشته شده است.
و کد بالا در زبان پایتون به شکل زیر میشود (باید دستورات تایپ شوند)
از آنجایی که بچهها در هنگام نوشتن برنامه لازم نیست دستوراتی را تایپ کنند، کار بسیار ساده خواهد شد. زیرا در هر زبان برنامه نویسی تایپ:
الف) دستورات اصول سختگیرانهای دارد و حتما باید رعایت شود تا برنامه کار کند.
ب) به خاطر سپردن دستورات یک زبان و متدهای ماژولهای آن کار ساده است نیست.
ج) یافتن خطاها یا همان دیباگ کردن کار سادهای نیست.
معنی Scratch به فارسی
Scratch کاری است که توسط یک دی جی (بله درست خواندید یک Dj
) انجام میشود. در تصویر زیر یک Dj را در حال Scratching میبینید. به حرکت این دیسکها توسط دستهای دی جی Scratching میگویند. در واقع دی جی با Scratching قطعات آهنگهای مختلف را در کنار هم قرار میدهد و یک آهنگ جدید میسازد دقیقا مشابه کاری که ما در اسکرچ انجام میدهیم یعنی:
* قطعات مختلف دستورات، شکلها و موسیقی را که در داخل برنامه اسکرچ وجود دارد را در کنار همدیگر میگذاریم تا یک برنامه جدید ساخته شود.
* برنامههایی که توسط دیگران نوشته شده است را بر میداریم و به آن چیزهایی را اضافه و کم میکنیم، چیزهایی را تغییر میدهیم و برنامه خودمان را میسازیم.
خلاصه تاریخچه اسکرچ
نرم افزار اسکرچ با الهام گرفتن از زبان لوگو Logo در سال 2003 ساخته و Scratch 1 نامیده شد.
(برای یافتن مقدار ؟؟ به عکس زیر دقت کنید)
سپس نسخه 2 اسکرچ در سال 2013 ساخته شد. اسکرچ 2 علاوه بر نسخهای که بر روی کامپیوتر نصب میشود، یک نسخه آنلاین هم داشت. زبان فارسی Scratch 2 مشکلی داشت و آنهم حرف "ی" بود که باعث عدم نمایش صحیح برخی از کلمات میشد. البته اگر کسی حرف "ی" فارسی را به "ي" عربی در فایل ترجمه آن تبدیل میکرد، این مشکل مرتفع می شد. (اینکار خیلی ساده است)
در اوایل امسال (سال 2019) نسخه 3 اسکرچ آمد. ویژگی خاص این نسخه آن است که با JavaScript (و کتابخانههای آن) نوشته است. اسکرچ 3 هم مانند اسکرچ 2 نسخه آنلاین دارد و اگر مایلید که همین حالا آن را ببیند و کار کنید (حتی بر روی موبایل) کافی است که به آدرس scratch.mit.edu/projects/editor بروید.
سازندگان اسکرچ یک تیم در Media Lab (آزمایشگاه رسانه) در دانشگاه MIT با رهبری آقای Mitchel Resnik است.
اسکرچ با هدف آموزش کامپیوتر به کودکان ساخته شده و اگر میخواهید اسکرچ را بر روی کامپیوترتان نصب کنید، به رایگان از سایت اصلی آن به آدرس scratch.mit.edu/download قابل دانلود برای همگان است. (همچنین جهت آشنایی بیشتر با نصب اسکرچ، آموزش دانلود و نصب اسکرچ و استفاده از نسخه آنلاین را ببیند.)
فلسفه اسکرچ
فلسفه اسکرچ در شعار اصلی آن خلاصه شده است:
Imagine : بچهها را دعوت به تخیل کردن میکند. تخیل یکی از ارکان اصلی آموزش است که معمولا در مدارس به پرورش آن نمیپردازند. اسکرچ علاوه بر اینکه اجازه میدهد که بچهها در آن نقاشی کنند، دهها تصویر مانند جادوگر، اژدها، دایناسور و ... دارد و آماده است که بچهها در آن تخلیشان را پیاده کنند.
Program : بچهها برای پیاده کردن تخلیشان که احتمالا یک داستان و یا یک بازی است باید به کامپیوتر دستوراتی را بدهند و در اسکرچ اینکار قابل انجام است.
Share : یکی از ارکان اصلی اسکرچ "به اشتراک گذاشتن" است. اسکرچ بچهها را تشویق میکند که کارهایشان را (پروژههایشان) بر روی وب سایت اسکرچ یا همان جامعه آنلاین با دیگران به اشتراک بگذارند.
اهداف به اشتراک گذاشتن از قرار زیر است:
1) بچهها بتوانند با همدیگر ارتباط برقرار کنند، همدیگر بازخورد بدهند و از هم کمک بگیرند و نظر بدهند.
2) هر کسی میتواند کدها/دستورات/تصاویر/موسیقیهایی را که در یک پروژه استفاده شده است را مشاهده کند. در سایت اسکرچ بیش از 43 میلیون پروژه برای دیدن وجود دارد و این یعنی یک مخزن عظیم از ایده ! . هر کسی میتواند یک پروژه تغییر دهد که به این کار اصطلاحا remix کردن (بازترکیب) گفته میشود و بچهها از طریق remix قادر خواهند بود که از هم بیاموزند.
همین حالا میتوانید هر کدام از این 43 میلیون پروژه را از آدرس scratch.mit.edu/explore/projects/all اجرا کنید و سپس کدهای آنرا ببیند (دکمه see inside را بزنید) و اگر مایل بودید میتوانید آنرا تغییر دهید.
نکاتی از سخنرانی میچ رسنیک
اسکرچ در media lab دانشگاه MIT با مدیریت و رهبری میچ رسنیک ساخته شده، توسعه و پیشتیبانی میشود. ایشان در سخنرانی TEDx در مورد اسکرچ نکات بسیار مهم و ظریفی را مطرح میکند که من برخی از آنها را برای شما مینویسم:
* بچهها با اسکرچ برنامهنویسی را یاد میگیرند، اما مهمتر از آن، کد مینویسند تا یاد بگیرند و قادر به یادگیری چیزهای دیگری هم خواهند شد.
* استفاده از تکنولوژی را مانند خواندن میداند و میگوید که یادگرفتن نوشتن هم فرصتهای زیادی را برای یادگیری مسائل باز میکند.
* بچهها با کد نویسی مراحل طراحی چیزها را یاد میگیرند که چطور یک ایده خانم و نصفه کاره را به یک پروژه کاربردی و کامل تبدیل کنند.
* چطور یا ایدههایش شروع به آزمایش کند. چطور ایدههای بزرگ و پیچیده را به تکههای کوچک (قابل فهم) تبدیل کنند.
* چطور در مقالات اشکالها و قسمتهایی که خوب کار نمیکنند، شکیبا باشد و تا حل مسئله پایداری نمایند.
* ایشان برنامه نویسی را به خواندن و نوشتن تشبیه میکند که فراگیری آنها باعث رشد/توسعه «استدلال روشمند» و «تفکر خلاقانه» و «همکاری با سایرین» که از مهارتهای مهم زندگی روزمره است، خواهد شد.
* کدنویسی این اجازه را میدهد که افراد احساسات و ایدههای خود را در زندگی شخصی بیان کنند و راههای جدیدی برای بیان آنها بیابند. (مانند ساختن یک کارت تبریک برای روز مادر)
در صورت امکان از نسخه آنلاین اسکرچ استفاده کنید.
از بچهها بخواهند که در سایت اسکرچ ثبت نام کنند (البته خود معلم هم امکانات ویژهای برای ثبت نام دسته جمعی بچهها در سایت دارد).
از بچهها بخواهید که در مورد پروژههای هم نظر دهند.
از بچهها بخواهید یک پروژه ساده را پیدا کنند آنرا remix کنند (مانند تغییر عکس پس زمینه آن را انجام دهند)
سایر نکته ها:
اسکرچ تنها زبان برنامه نویسی به این شکل نیست و زبانهای دیگری هم با این سبک وجود دارد. مانند Blockly . به نظر من اسکرچ رتبه اول را در این حوزه (آموزش کامپیوتر به کودکان/نوجوانان/مدرس) را دارد.
توصیه میشود که صفحه سوالات متداول سایت اسکرچ را ببیند.
در ویدئوی زیر یک Dj را در حال Scratching است. جالب است که آهنگ ابتدای بازی Sonic در SEGA را هم استفاده کرده است. ببیند و لذت ببرید.