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

ابتدا اجازه دهید که تعریف رسمی اسکرچ را از سایت scratch.mit.edu برای شما بازگو کنم:

اسکرچ یک زبان برنامه نویسی کامپیوتر و یک جامعه‌ای آنلاین است.

در ادامه توضیح خواهم داد که اسکرچ چگونه‌زبانی است و منظور از جامعه‌ی آنلاین آن چیست.

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

اسکرچ یک زبان برنامه نویسی Visual است. Visual را می‌توان گرافیکی، دیداری و یا بصری ترجمه کرد. یعنی در اسکرچ دستورات را تایپ نمی‌کنیم بلکه این دستورات به شکل تصاویری هستند که آنها را با Drag&Drop در زیر هم قرار می‌دهیم تا یک برنامه ساخته‌ می‌شود. به این روش برنامه نویسی (یعنی استفاده از دستورات به شکل بلوک) ، blockly programming می‌گویند.

برنامه زیر برای رسم یک شش ضلعی منتظم در اسکرچ نوشته شده است.

اسکرچ کد
اسکرچ کد
اسکرچ کد

و کد بالا در زبان پایتون به شکل زیر می‌شود (باید دستورات تایپ شوند)

Image for post
Image for post

از آنجایی که بچه‌ها در هنگام نوشتن برنامه لازم نیست دستوراتی را تایپ کنند، کار بسیار ساده خواهد شد. زیرا در هر زبان برنامه نویسی تایپ:

1) دستورات اصول سختگیرانه‌ای دارد و حتما باید رعایت شود تا برنامه کار کند.

2) به خاطر سپردن دستورات یک زبان و متدهای ماژول‌های آن کار ساده است نیست.

3) یافتن خطاها یا همان دیباگ کردن کار ساده‌ای نیست.

معنی Scratch به فارسی

Scratch کاری است که توسط یک دی جی (بله درست خواندید یک Dj)  انجام می‌شود. در تصویر زیر یک Dj را در حال Scratching می‌بینید. به  حرکت این دیسک‌ها توسط دست‌های دی جی Scratching می‌گویند. در واقع دی جی با Scratching قطعات آهنگ‌های مختلف را در کنار هم قرار می‌دهد و یک آهنگ جدید می‌سازد دقیقا مشابه کاری که ما در اسکرچ انجام می‌دهیم یعنی:

* قطعات مختلف دستورات، شکل‌ها و موسیقی را که در داخل برنامه اسکرچ وجود دارد را در کنار همدیگر می‌گذاریم تا یک برنامه جدید ساخته شود.

* برنامه‌هایی که توسط دیگران نوشته شده است را بر می‌داریم و به آن چیزهایی را اضافه و کم می‌کنیم، چیزهایی را تغییر می‌دهیم و برنامه خودمان را می‌سازیم.

خلاصه تاریخچه اسکرچ

نرم افزار اسکرچ با الهام گرفتن از زبان لوگو Logo در سال 2003 ساخته و Scratch 1 نامیده شد.

 

از همان ابتدا (یعنی ؟؟ سال پیش) اسکرچ به زبان فارسی ترجمه شده بود؟

Image for post
Image for post

سپس نسخه 2 اسکرچ در سال 2013 ساخته شد. اسکرچ 2 علاوه بر نسخه‌ای که بر روی کامپیوتر نصب می‌شود، یک نسخه آنلاین هم داشت. زبان فارسی Scratch 2 مشکلی داشت و آنهم حرف "ی" بود که باعث عدم نمایش صحیح برخی از کلمات می‌شد. البته اگر کسی حرف "ی" فارسی را به "ي" عربی در فایل ترجمه آن تبدیل می‌کرد، این مشکل مرتفع می شد. (اینکار خیلی ساده است)

در اوایل امسال (سال 2019) نسخه 3 اسکرچ آمد. ویژگی خاص این نسخه آن است که با JavaScript (و کتابخانه‌های آن) نوشته است. اسکرچ 3 هم مانند اسکرچ 2 نسخه آنلاین دارد و اگر مایلید که همین حالا آن را ببیند و کار کنید (حتی بر روی موبایل) کافی است که به آدرس scratch.mit.edu/projects/editor  بروید.

سازندگان اسکرچ یک تیم در Media Lab (آزمایشگاه رسانه) در دانشگاه MIT با رهبری آقای Mitchel Resnik است.

Image for post
Image for post

اسکرچ با هدف آموزش کامپیوتر به کودکان ساخته شده و اگر می‌خواهید اسکرچ را بر روی کامپیوترتان نصب کنید، به رایگان از سایت اصلی آن به آدرس scratch.mit.edu/download قابل دانلود برای همگان است. (همچنین جهت آشنایی بیشتر با نصب اسکرچ، آموزش دانلود و نصب اسکرچ و استفاده از نسخه آنلاین را ببیند.)

فلسفه اسکرچ

فلسفه اسکرچ در شعار اصلی آن خلاصه شده است:

"Imagine, Program, Share"

Imagine : بچه‌ها را دعوت به تخیل کردن می‌کند. تخیل یکی از ارکان اصلی آموزش است که معمولا در مدارس به پرورش آن نمی‌پردازند. اسکرچ علاوه بر اینکه اجازه می‌دهد که بچه‌ها در آن نقاشی کنند، ده‌ها تصویر مانند جادوگر، اژدها، دایناسور و ... دارد و آماده است که بچه‌ها در آن تخلیشان را پیاده کنند.

Program : بچه‌ها برای پیاده کردن تخلیشان که احتمالا یک داستان و یا یک بازی است باید به کامپیوتر دستوراتی را بدهند و در اسکرچ اینکار قابل انجام است.

Share : یکی از ارکان اصلی اسکرچ "به اشتراک گذاشتن" است. اسکرچ بچه‌ها را تشویق می‌کند که کارهایشان را (پروژه‌هایشان) بر روی وب سایت اسکرچ یا همان جامعه آنلاین با دیگران به اشتراک بگذارند.

اهداف به اشتراک گذاشتن از قرار زیر است:

1) بچه‌ها بتوانند با همدیگر ارتباط برقرار کنند، همدیگر بازخورد بدهند و از هم کمک بگیرند و نظر بدهند.

2) هر کسی می‌تواند کدها/دستورات/تصاویر/موسیقی‌هایی را که در یک پروژه استفاده شده است را مشاهده کند. در سایت اسکرچ بیش از 43 میلیون پروژه برای دیدن وجود دارد و این یعنی یک مخزن عظیم از ایده‌ ! . هر کسی می‌تواند یک پروژه تغییر دهد که به این کار اصطلاحا remix کردن (بازترکیب) گفته می‌شود و بچه‌ها از طریق remix قادر خواهند بود که از هم بیاموزند.

همین حالا می‌توانید هر کدام از این 43 میلیون پروژه را از آدرس scratch.mit.edu/explore/projects/all اجرا کنید و سپس کدهای آنرا ببیند (دکمه see inside را بزنید) و اگر مایل بودید می‌توانید آنرا تغییر دهید.

نکاتی از سخنرانی میچ رسنیک

اسکرچ در media lab دانشگاه MIT با مدیریت و رهبری میچ رسنیک ساخته شده، توسعه و پیشتیبانی می‌شود. ایشان در سخنرانی TEDx در مورد اسکرچ نکات بسیار مهم و ظریفی را مطرح می‌کند که من برخی از آنها را برای شما می‌نویسم:

* بچه‌ها با اسکرچ برنامه‌نویسی را یاد می‌گیرند، اما مهمتر از آن، کد می‌نویسند تا یاد بگیرند و قادر به یادگیری چیزهای دیگری هم خواهند شد.

* استفاده از تکنولوژی را مانند خواندن می‌داند و می‌گوید که یادگرفتن نوشتن هم فرصت‌های زیادی را برای یادگیری مسائل باز می‌کند.

* بچه‌ها با کد نویسی مراحل طراحی چیزها را یاد می‌گیرند که چطور یک ایده خانم و نصفه کاره را به یک پروژه کاربردی و کامل تبدیل کنند.

* چطور یا ایده‌هایش شروع به آزمایش کند. چطور ایده‌های بزرگ و پیچیده را به تکه‌های کوچک (قابل فهم) تبدیل کنند.

* چطور در مقالات اشکال‌ها و قسمت‌هایی که خوب کار نمی‌کنند، شکیبا باشد و تا حل مسئله پایداری نمایند.

* ایشان برنامه نویسی را به خواندن و نوشتن تشبیه می‌کند که فراگیری آنها باعث رشد/توسعه «استدلال روشمند» و «تفکر خلاقانه» و «همکاری با سایرین» که از مهارت‌های مهم زندگی روزمره است، خواهد شد.