فهرست مطالب

اسکرچ چیست؟

اسکرچ یک زبان برنامه‌نویسی کامپیوتری است که محیط ساده و امکانات جذابی دارد. هدف اسکرچ این است که کودکان و نوجوانان به راحتی بتوانند کار با آن را یاد بگیرند و از آن استفاده کنند.

اسکرچ در دانشگاه MIT طراحی و توسعه داده شده است و اکنون تحت مدیریت بنیاد اسکرچ (یکی از بزرگترین انجمن‌های برنامه‌نویسی کودک و نوجوان در جهان) است. زبان برنامه اسکرچ قابل تغییر به ۷۰ زبان مختلف در دنیا از جمله فارسی است و به صورت رایگان توسط سایت رسمی آن قابل استفاده و دریافت می‌باشد.

بنیاد اسکرچ (یکی از بزرگترین انجمن‌های برنامه‌نویسی کودک و نوجوان در جهان)

کودکان و نوجوانان در چه سنی می‌توانند کار با اسکرچ را یاد بگیرند و از آن استفاده کنند؟

اسکرچ یک زبان برنامه‌نویسی مبتنی بر بلوک است که در واقع این ویژگی باعث می‌شود کودکان از سنین ۸ سال بتوانند کار با آن را یاد بگیرند و به وسیله آن برنامه‌نویسی را آغاز کنند. در عین حال با وجود آن که شروع کار با محیط برنامه و زبان برنامه‌نویسی اسکرچ آسان و راحت است، کارایی بالایی دارد که باعث می‌شود نوجوانان نیز تا سنین ۱۶ سال یا بالاتر بتوانند همچنان با استفاده از مفاهیم پیچیده‌تر، پروژه‌های پیشرفته‌تری ایجاد کنند و برنامه‌های کاربردی جدیدی را بسازند.

پروژه‌های پیشرفته‌

شیوه برنامه‌نویسی در اسکرچ

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

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

روش بازی با لگو

با این روش، برنامه‌نویسی را در محیط اسکرچ، با استفاده از بلوک‌های دستوری و به روش کشیدن و انداختن (Drag and Drop) انجام می‌دهیم. با انتخاب و چیدمان انواعی از بلوک‌ها بر اساس مبانی برنامه‌نویسی و مفاهیم الگوریتم می‌توان اتفاقات جالب توجهی را در صفحه گرافیکی برنامه رقم زد.

بلوک‌های دستوری و به روش کشیدن و انداختن

دستورات اسکرچ به زبان فارسی

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

بلوک‌های دستوری به زبان فارسی

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

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

نوشتن برنامه با این زبان راحت

  • آماده بودن بلوک‌های دستوری: به طور معمول در زبان‌های برنامه‌نویسی باید کدهای دستوری را تایپ کنید. این مسئله نیاز به تسلط نسبی بر زبان انگلیسی و سرعت خوبی در تایپ دارد. همچنین اگر خطای لغوی یا به اصطلاح syntax error پیش بیاید کار برنامه‌نویس برای پیدا کردن خطاهای تایپی و اطلاح آن‌ها بسیار دشوار می‌شود. اما در زبان برنامه‌نویسی اسکرچ کدهای دستوری به صورت بلوک‌های آماده فراهم هستند و نیاز به تایپ هیچ کد دستوری نیست. در نتیجه هنگام کار با آن تمرکز به طور کامل روی مفاهیم برنامه‌نویسی و خلاقیت است و کار با اسکرچ خسته کننده و کسالت آور نمی‌شود.

کدهای دستوری به صورت بلوک‌های آماده فراهم هستند

  • قابلیت ایجاد خروجی گرافیکی و صوتی: در اسکرچ این امکان فراهم است که کدهای دستوری برای کاراکترهای تصویری یا فایل‌های صوتی نوشته شوند، در نتیجه خروجی‌های بسیار جذاب دیدنی و شنیدنی قابل تولید خواهد بود. با استفاده از اسکرچ می‌توان انیمیشن‌، بازی، برنامه‌های آموزشی، تصاویر متحرک و موسیقی ایجاد کرد.

تصاویر متحرک و موسیقی در اسکرچ

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

جذاب و ترغیب‌کننده

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

امکانات کامل و کارایی پیشرفته

کاربرد اسکرچ و اهداف یادگیری آن

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

تقویت تفکر رایانشی:

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

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

  • چه افرادی باید به مهمانی دعوت شوند؟ لیست مهمان‌ها باید تهیه شود.
  • افرادی که در لیست مهمان‌ها قرار دارند چگونه باید مورد دعوت قرار بگیرند؟ مسئله این مرحله این است که روش دعوت چگونه خواهد بود! تماس تلفنی؟ ارسال کارت دعوت؟ ارسال پیام دعوت؟ …

حال اگر فرض کنیم که لیست مهمان‌ها آماده باشد و برای هر کدام بدانیم که قرار است با چه روشی مورد دعوت قرار گیرد به این قسمت از مسئله می‌رسیم که محتوای دعوت چه باید باشد؟

  • چه مواردی باید حتما برای دعوت ذکر شوند؟ مواردی مانند روز و ساعت مهمانی، آدرس محل برگزاری و …
  • برای اینکه احتمال پذیرش دعوت بیشتر شود چه کارهایی می‌توان انجام داد؟ برای مثال می‌توان کارت دعوت زیبا و دلنشین باشد و همچنین دعوت به گونه‌ای خوشایند انجام شود.
  • چه موارد جانبی هنگام صحبت با مهمان‌ها برای دعوت‌شان باید در نظر گرفت؟

بعد از آنکه محتوای صحبت در هر روش مشخص شد به سراغ دعوت کردن می‌رویم.

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

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

کار با زبان‌های برنامه‌نویسی به ویژه اسکرچ و حل مسائل با آن‌ها باعث تقویت تفکر رایانشی خواهد شد چرا که ماهیت حل مسائل با رایانه نیازمند این است که از نحوه عملکرد آن با خبر باشیم و به گونه‌ای مرحله به مرحله و قابل فهم برای یک کامپیوتر که تنها یک ماشین محاسبه‌گر است دستورات مورد نیاز را تعریف کنیم.

تقویت خلاقیت:

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

یادگیری اصول برنامه‌نویسی:

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

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

چگونه با برنامه اسکرچ کار کنیم؟

زمانی که برنامه اسکرچ را باز کنیم، بخش‌های مختلفی مشاهده می‌کنیم که در ادامه هر کدام از آن‌ها را توضیح می‌دهیم.

چگونه با برنامه اسکرچ کار کنیم؟

  • Stage: از طریق قسمت Stage می‌توان تصویر بدنه مربوط به نمایش خروجی را تنظیم کرد و در صورت نیاز به آن دستورات نیز اضافه نمود.

Stage در اسکرچ

  • Sprites: بخش Sprite مربوط به مجموعه کاراکترهای مستقل موجود در برنامه‌ است که لیست‌شان در این قسمت مشاهده می‌شود و می‌توان مشخصات اولیه را برایشان تنظیم کرد، در صورت نیاز آن‌ها را حذف کرد یا وجود آن‌ها در برنامه را پنهان نمود. همچنین بر روی هر کدام کلیک شود می‌توان دستورات مربوط به آن را در صفحه مختص به خودش چیدمان کرد.

Sprites در اسکرچ

  • Blocks Palette: بخشی از اسکرچ است که بلوک‌های دستوری در آن آماده است.

Blocks Palette در اسکرچ

  • Stage Monitor: در این بخش حاصل پروژه را مشاهده می‌کنیم و می‌بینیم در برنامه‌ای که تاکنون ساختیم چه اتفاقاتی میفتد و نتیجه نهایی برنامه به چه صورت خواهد بود. همچنین در بالای صفحه گزینه‌هایی برای تنظیم اندازه صفحه نمایش خروجی وجود دارد.

Stage Monitor در اسکرچ

  • Control Bar: نوار ابزار کنترل، گزینه‌هایی برای ذخیره، تغییر و دسترسی‌های برنامه دارد.
  • Code: در این بخش بلوک‌های دستوری قرار گرفته‌اند.
    • Motion: این دستورات مربوط به حرکت است. اگر این دستورات به کاراکترها بدهیم در موقعیت مکانی، زاویه و حرکت‌ آن‌ها تاثیر می‌گذارد. با استفاده از این دستورات می‌توان شخصیت موجود در برنامه را در صفحه نمایش حرکت داد.

Motion در اسکرچ

      • Looks: عملیاتی مانند بیان کردن، فکر کردن، تغییر شکل، رنگ و در کل ظاهر شخصیت‌های پروژه در این دسته قرار می‌گیرند. برای مثال فرض کنید که می‌خواهیم راه رفتن یک کاراکتر را به نمایش بگذاریم، در این صورت باید حالت‌های مختلفی از آن شخصیت را به طور متوالی به یکدیگر تغییر دهیم تا در صفحه نمایش، راه رفتن آن را ببینیم.

Looks در اسکرچ

      • Sound: دستورات این دسته مربوط به پخش صدا و افکت‌های صوتی در برنامه می‌شود.

Sound در اسکرچ

      • Events: در این بخش، دسته دستوراتی قرار دارند که شروع اجرای دسته کدها را تعیین می‌کنند و معمولا در شروع قطعات به هم پیوسته بلوک‌های دستوری قرار می‌گیرند. مثلا اگر بخواهیم با کلیک بر دکمه Space کیبرد اتفاقی در زمان اجرای برنامه بیفتد می‌توان از دستور مربوطه در این دسته استفاده کرد.

Events در اسکرچ

      • Control: این دسته از دستورات، دستورات کنترلی هستند که در واقع اجرای دستورات دیگر را کنترل می‌کنند. دستورات این بخش معادل دستورات شرطی و حلقه‌های تکرار در برنامه‌نویسی هستند.

Control در اسکرچ

      • Sensing: این بخش مربوط به دستوراتی است که پرسش و شرایط دستوری مربوط به هر پاسخ را تعیین خواهد کرد. فرض کنید بخواهیم برنامه یک پرسشنامه را طراحی کنیم و در صورت پاسخ‌های متفاوت به سوالات، فرآیند متفاوتی در اجرای برنامه به وقوع بپیوندند که در آن صورت دستورات این دسته کمک بسیار خواهند کرد.

Sensing در اسکرچ

      • Operators: دستورات محاسبه‌ای و مقایسه‌ای در این دسته قرار گرفته‌اند.

Operators در اسکرچ

      • Variables: در این دسته، دستورات مربوط به متغیرها و مقادیر آن‌ها وجود دارند.

Variables در اسکرچ

      • My Blocks: این بخش مربوط به ساخت توابع دلخواه از دستورات است.

My Blocks در اسکرچ

  • Costumes: در این صفحه می‌توانید شخصیت‌ها و کاراکترهای مستقل از هم در برنامه را که به هر کدام از آن‌ها Costume می‌گوییم را در شکل‌ها و ظاهرهای مختلف آن مشاهده کنیم و یا در صورت نیاز در آن‌ها تغییر ایجاد کنیم. این شکل‌ها و ظاهرهای متفاوت با استفاده از دستورات مربوطه قابل تبدیل به یکدیگر هستند و با این کار می‌توان انیمیشن‌های حرکتی از آن‌ها ایجاد کرد.

Costumes در اسکرچ

  • Sounds: صفحه sound مربوط به ساخت، تغییر، ایجاد یا استفاده از صداهای پروژه‌ است که می‌توانید با استفاده از آن صداهای جدیدی را ضبط کنید، صداهای آماده را در برنامه استفاده کنید یا فایل‌های صوتی را به آنجا انتقال دهید.

Sounds در اسکرچ

جمع‌بندی

اسکرچ در سنین ۸ تا ۱۶ سال برای یادگیری برنامه‌نویسی، آموزش تفکر رایانشی و ارتقا مهارت‌های حل مسئله توصیه می‌شود. همچنین ابزاری برای تقویت خلاقیت، مهارت‌های فردی و کار گروهی است که می‌توان به وسیله آن پروژه‌های متنوعی ایجاد کرد. به همین علت یک زبان برنامه‌نویسی محبوب برای کلاس‌های آموزشی است و در برنامه تحصیلی دانش‌آموزان در برخی کشورها قرار دارد.