فهرست مطالب
اسکرچ یک زبان برنامهنویسی کامپیوتری است که محیط ساده و امکانات جذابی دارد. هدف اسکرچ این است که کودکان و نوجوانان به راحتی بتوانند کار با آن را یاد بگیرند و از آن استفاده کنند.
اسکرچ در دانشگاه MIT طراحی و توسعه داده شده است و اکنون تحت مدیریت بنیاد اسکرچ (یکی از بزرگترین انجمنهای برنامهنویسی کودک و نوجوان در جهان) است. زبان برنامه اسکرچ قابل تغییر به ۷۰ زبان مختلف در دنیا از جمله فارسی است و به صورت رایگان توسط سایت رسمی آن قابل استفاده و دریافت میباشد.
اسکرچ یک زبان برنامهنویسی مبتنی بر بلوک است که در واقع این ویژگی باعث میشود کودکان از سنین ۸ سال بتوانند کار با آن را یاد بگیرند و به وسیله آن برنامهنویسی را آغاز کنند. در عین حال با وجود آن که شروع کار با محیط برنامه و زبان برنامهنویسی اسکرچ آسان و راحت است، کارایی بالایی دارد که باعث میشود نوجوانان نیز تا سنین ۱۶ سال یا بالاتر بتوانند همچنان با استفاده از مفاهیم پیچیدهتر، پروژههای پیشرفتهتری ایجاد کنند و برنامههای کاربردی جدیدی را بسازند.
هدف اولیه سازندگان اسکرچ، ساخت یک زبان برنامهنویسی ساده بود. سازندگان اسکرچ در نهایت برای رسیدن به هدف خود از روش بازی کودکان با قطعات لگو استفاده کردند. لگوها قطعات کوچک رنگارنگی هستند که میتوان آنها را با روش صحیح به یکدیگر متصل کرد و اجسام گوناگونی ساخت! ساختار زبان برنامهنویسی اسکرچ نیز همچین حالتی دارد. بلوکهای دستوری رنگارنگی را (مشابه قطعات لگویی) در محیط برنامه فراهم کرده اند که میتوانید آنها را به یکدیگر متصل کنید و به دنبال هم بچینید. در نهایت کامپیوتر با اجرا کردن به ترتیب دستورات به هم پیوسته، یک برنامه گرافیکی و بصری نمایان خواهد کرد.
در واقع سازندگان اسکرچ با الهام از روش بازی با لگو توانستند به ساختاری دست پیدا کنند که به خوبی در کودکان و نوجوانان برای یادگیری برنامهنویسی کامپیوتر و فعالیتهای الگوریتمی جذابیت و انگیزه ایجاد میکند.
با این روش، برنامهنویسی را در محیط اسکرچ، با استفاده از بلوکهای دستوری و به روش کشیدن و انداختن (Drag and Drop) انجام میدهیم. با انتخاب و چیدمان انواعی از بلوکها بر اساس مبانی برنامهنویسی و مفاهیم الگوریتم میتوان اتفاقات جالب توجهی را در صفحه گرافیکی برنامه رقم زد.
یکی از ویژگیهای منحصر به فرد محیط اسکرچ امکان تغییر زبان برنامه و استفاده از بلوکهای دستوری به زبان فارسی میباشد. با این وجود توصیه میشود در صورت امکان، در طول یادگیری اسکرچ، زبان آن انگلیسی بماند، زیرا این موضوع باعث یادگیری بهتر زبانهای برنامهنویسی پیشرفتهتر مانند پایتون در آینده خواهد بود.
آماده بودن بلوکهای دستوری: به طور معمول در زبانهای برنامهنویسی باید کدهای دستوری را تایپ کنید. این مسئله نیاز به تسلط نسبی بر زبان انگلیسی و سرعت خوبی در تایپ دارد. همچنین اگر خطای لغوی یا به اصطلاح syntax error پیش بیاید کار برنامهنویس برای پیدا کردن خطاهای تایپی و اطلاح آنها بسیار دشوار میشود. اما در زبان برنامهنویسی اسکرچ کدهای دستوری به صورت بلوکهای آماده فراهم هستند و نیاز به تایپ هیچ کد دستوری نیست. در نتیجه هنگام کار با آن تمرکز به طور کامل روی مفاهیم برنامهنویسی و خلاقیت است و کار با اسکرچ خسته کننده و کسالت آور نمیشود.
قابلیت ایجاد خروجی گرافیکی و صوتی: در اسکرچ این امکان فراهم است که کدهای دستوری برای کاراکترهای تصویری یا فایلهای صوتی نوشته شوند، در نتیجه خروجیهای بسیار جذاب دیدنی و شنیدنی قابل تولید خواهد بود. با استفاده از اسکرچ میتوان انیمیشن، بازی، برنامههای آموزشی، تصاویر متحرک و موسیقی ایجاد کرد.
جذاب و ترغیبکننده: ایده اولیه روش برنامهنویسی در اسکرچ، الگوی بازی کودکان با قطعات لگو است که در کنار محیط جذاب و رنگارنگ آن باعث ایجاد انگیزه و ترغیب دانش آموزان به یادگیری، پیشرفت و ایجاد پروژههای خلاقانه خواهد بود.
امکانات کامل و کارایی پیشرفته: با وجود سادگی و آسان بودن شروع کار با محیط اسکرچ، امکاناتی که این برنامه در اختیار کاربران قرار میدهد تا سطوح بالایی کارایی دارد و برنامهنویسی با این زبان میتواند برای آموزش، یادگیری و ایجاد پروژه در حیطههای مختلف و حتی پیچیدهای از علومکامپیوتر مانند پردازش تصویر یا هوش مصنوعی مورد استفاده قرار گیرد. بنابراین میتواند یکی از بهترین ابزارهای آموزشی در زمینه برنامهنویسی و علوم کامپیوتر تلقی شود.
آموزش زبان برنامهنویسی اسکرچ به کودکان و نوجوانان، در تقویت تفکر رایانشی، خلاقیت و مهارتهای حل مسئله بسیار موثر خواهد بود. همچنین با یادگیری و استفاده از آن میتوان داستانهای دیجیتال، انیمیشن، بازی و برنامههای کاربردی جذابی تولید کرد. بازی سازی با اسکرچ یکی از قابلیت های جذاب این زبان برنامه نویسی است که باعث تقویت تفکر خلاقانه، تجزیه و تحلیل سیستماتیک، آشنایی با فناوریها و یادگیری طراحی و ساخت برنامههای کامپیوتری میشود.
تفکر رایانشی رویکردی برای تفکر، درک و ارائه حل مسائل به روش دانشمندان علوم کامپیوتر است. این نوع تفکر نه تنها لازمه تحصیل و کار در حیطه علوم و مهندسی کامپیوتر است بلکه تقویت آن میتواند به افراد در تحصیل و کارشان در هر حیطهای کمک مهم و موثری داشته باشد. در این شیوه از تفکر باید برای حل یک مسئله آن را مرحله به مرحله تعریف و حل کنیم و در کنار آن ارتباط بین راه حل هر مرحله و مرحله بعدش را مورد بررسی قرار دهیم تا در نهایت منجر به حل شدن کل مسئله شود.
برای مثال فرض کنید که جشن تولدتان است و میخواهید برای روز تولدتان دوستان نزدیک خود را به مهمانی دعوت کنید. بیایید مسئله را دعوت افراد به مهمانی در نظر بگیریم. اگر بخواهیم برای حل و پیشبرد این مسئله از تفکر رایانشی استفاده کنیم ابتدا باید مراحل دعوت افراد به مهمانی را در نظر بگیریم و برای هر کدام اقدامات لازم را انجام دهیم.
حال اگر فرض کنیم که لیست مهمانها آماده باشد و برای هر کدام بدانیم که قرار است با چه روشی مورد دعوت قرار گیرد به این قسمت از مسئله میرسیم که محتوای دعوت چه باید باشد؟
بعد از آنکه محتوای صحبت در هر روش مشخص شد به سراغ دعوت کردن میرویم.
این سوالات در هر مرحله باعث میشود که الگوریتم دعوت مهمانهای جشن تولد را مشخص کنیم، اقدامات لازم برای هر مرحله را داشته باشیم و با بهینه کردن ترتیب انجام کار در کمترین زمان و بالاترین کیفیت به هدف مورد نظر دست پیدا کنیم.
کار با زبانهای برنامهنویسی به ویژه اسکرچ و حل مسائل با آنها باعث تقویت تفکر رایانشی خواهد شد چرا که ماهیت حل مسائل با رایانه نیازمند این است که از نحوه عملکرد آن با خبر باشیم و به گونهای مرحله به مرحله و قابل فهم برای یک کامپیوتر که تنها یک ماشین محاسبهگر است دستورات مورد نیاز را تعریف کنیم.
محیط و امکانات اسکرچ به گونهای است که میتوان با استفاده از آن پروژههای خلاقانه و جذابی ایجاد کرد. همچنین دانشآموزان میتوانند حاصل پروژههای اسکرچ خود را با همسن و سالان خود یا بزرگترها به اشتراک بگذارند. در نتیجه انگیزه آنها برای استفاده از خلاقیت و ایجاد پروژههای خلاقانه بیشتر میشود.
در عصری که در آن زندگی میکنیم اصول و مبانی برنامهنویسی برای دانشآموزان به امری مهم و ضروری تبدیل شده است. زیرا روز به روز استفاده از تکنولوژی در حیطههای مختلف تحصیلی و کاری در حال گسترش است و به شکل قابل توجهی رو به پیشرفت است.
رشته پزشکی و روشهای درمانی این روزها را در نظر بگیرید! بسیاری از روشهای درمانی، جراحیها، عکسبرداریها و معالجات نیاز به تجهیزاتی دارند که با استفاده از تکنولوژی امروزی ساخته و برنامهنویسی شدهاند و حتی ممکن است هوشمند نیز باشند. در نتیجه پزشکان موفق میبایست در این امر اطلاعات مورد نظر را کسب کنند. یا در نظر بگیرید که یک معمار امروزه چه دستگاهها و تکنولوژیهایی را برای طراحی ساختمانهای با کیفیت و مطابق نیاز امروز به کار میگیرد که طبیعتا باید اطلاعات اولیهای در مورد نحوه ساخت و عملکرد آنها داشته باشد.
زمانی که برنامه اسکرچ را باز کنیم، بخشهای مختلفی مشاهده میکنیم که در ادامه هر کدام از آنها را توضیح میدهیم.
Stage: از طریق قسمت Stage میتوان تصویر بدنه مربوط به نمایش خروجی را تنظیم کرد و در صورت نیاز به آن دستورات نیز اضافه نمود.
Sprites:بخش Sprite مربوط به مجموعه کاراکترهای مستقل موجود در برنامه است که لیستشان در این قسمت مشاهده میشود و میتوان مشخصات اولیه را برایشان تنظیم کرد، در صورت نیاز آنها را حذف کرد یا وجود آنها در برنامه را پنهان نمود. همچنین بر روی هر کدام کلیک شود میتوان دستورات مربوط به آن را در صفحه مختص به خودش چیدمان کرد.
Blocks Palette:بخشی از اسکرچ است که بلوکهای دستوری در آن آماده است.
Stage Monitor: در این بخش حاصل پروژه را مشاهده میکنیم و میبینیم در برنامهای که تاکنون ساختیم چه اتفاقاتی میفتد و نتیجه نهایی برنامه به چه صورت خواهد بود. همچنین در بالای صفحه گزینههایی برای تنظیم اندازه صفحه نمایش خروجی وجود دارد.
Control Bar: نوار ابزار کنترل، گزینههایی برای ذخیره، تغییر و دسترسیهای برنامه دارد.
Code: در این بخش بلوکهای دستوری قرار گرفتهاند.Motion: این دستورات مربوط به حرکت است. اگر این دستورات به کاراکترها بدهیم در موقعیت مکانی، زاویه و حرکت آنها تاثیر میگذارد. با استفاده از این دستورات میتوان شخصیت موجود در برنامه را در صفحه نمایش حرکت داد.
Looks: عملیاتی مانند بیان کردن، فکر کردن، تغییر شکل، رنگ و در کل ظاهر شخصیتهای پروژه در این دسته قرار میگیرند. برای مثال فرض کنید که میخواهیم راه رفتن یک کاراکتر را به نمایش بگذاریم، در این صورت باید حالتهای مختلفی از آن شخصیت را به طور متوالی به یکدیگر تغییر دهیم تا در صفحه نمایش، راه رفتن آن را ببینیم.
Sound: دستورات این دسته مربوط به پخش صدا و افکتهای صوتی در برنامه میشود.
Events: در این بخش، دسته دستوراتی قرار دارند که شروع اجرای دسته کدها را تعیین میکنند و معمولا در شروع قطعات به هم پیوسته بلوکهای دستوری قرار میگیرند. مثلا اگر بخواهیم با کلیک بر دکمه Space کیبرد اتفاقی در زمان اجرای برنامه بیفتد میتوان از دستور مربوطه در این دسته استفاده کرد.
Control: این دسته از دستورات، دستورات کنترلی هستند که در واقع اجرای دستورات دیگر را کنترل میکنند. دستورات این بخش معادل دستورات شرطی و حلقههای تکرار در برنامهنویسی هستند.
Sensing: این بخش مربوط به دستوراتی است که پرسش و شرایط دستوری مربوط به هر پاسخ را تعیین خواهد کرد. فرض کنید بخواهیم برنامه یک پرسشنامه را طراحی کنیم و در صورت پاسخهای متفاوت به سوالات، فرآیند متفاوتی در اجرای برنامه به وقوع بپیوندند که در آن صورت دستورات این دسته کمک بسیار خواهند کرد.
Operators: دستورات محاسبهای و مقایسهای در این دسته قرار گرفتهاند.
Variables: در این دسته، دستورات مربوط به متغیرها و مقادیر آنها وجود دارند.
My Blocks: این بخش مربوط به ساخت توابع دلخواه از دستورات است.
Costumes: در این صفحه میتوانید شخصیتها و کاراکترهای مستقل از هم در برنامه را که به هر کدام از آنها Costume میگوییم را در شکلها و ظاهرهای مختلف آن مشاهده کنیم و یا در صورت نیاز در آنها تغییر ایجاد کنیم. این شکلها و ظاهرهای متفاوت با استفاده از دستورات مربوطه قابل تبدیل به یکدیگر هستند و با این کار میتوان انیمیشنهای حرکتی از آنها ایجاد کرد.
Sounds: صفحه sound مربوط به ساخت، تغییر، ایجاد یا استفاده از صداهای پروژه است که میتوانید با استفاده از آن صداهای جدیدی را ضبط کنید، صداهای آماده را در برنامه استفاده کنید یا فایلهای صوتی را به آنجا انتقال دهید.
اسکرچ در سنین ۸ تا ۱۶ سال برای یادگیری برنامهنویسی، آموزش تفکر رایانشی و ارتقا مهارتهای حل مسئله توصیه میشود. همچنین ابزاری برای تقویت خلاقیت، مهارتهای فردی و کار گروهی است که میتوان به وسیله آن پروژههای متنوعی ایجاد کرد. به همین علت یک زبان برنامهنویسی محبوب برای کلاسهای آموزشی است و در برنامه تحصیلی دانشآموزان در برخی کشورها قرار دارد.