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

مولف دوره:
این دوره توسط نیکان پوره تالیف شده است.

سطح دوره:
سطح این دوره مقدماتی-متوسطه است.

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

مدت زمان دوره:
۰۸:۵۸:۴۵

همین الان شروع کن

معرفی زبان برنامه‌نویسی Scratch
تاحالا به خودتون گفتین که ای‌ کاش خودم می‌تونستم یک بازی کامپیوتری درست کنم مثل «پرندگان خشمگین» و یا این‌که یک انیمیشن مثل «شِرِک» درست کنم! هیچ با خودتون فکر کردید که اگه به‌جای شخصیت‌های بازی‌های کامپیوتری عکس خودتون رو قرار بدید چه‌قدر جالب می‌شه! در یک دانشگاه خیلی معروف توی آمریکا (دانشگاه MIT) یک زبان برنامه‌نویسی مخصوص کودکان 8 تا 16 ساله اختراع کردن که با اون می‌شه بازی، انیمیشن و خیلی چیزهای دیگه درست کرد. اسم این زبان برنامه‌نویسی که با اون می‌شه این همه کار جالب انجام داد Scratch (اسکرچ) هست؛ یادگیری این زبان برنامه‌نویسی خیلی راحته و بدون نیاز به هیچ‌چیز خاصی، می‌تونید اون‌رو یاد بگیرید.

معرفی دورهٔ آموزش برنامه‌نویسی به کودکان
اگه فکر می‌کنید که یادگیری این زبان سخته باید بتون بگم که معلم شما در این دوره‌ٔ آموزشی پسری هست به اسم نیکان پوره که زمان درست کردن این آموزش خودش ۱۳ سال داشته و به‌راحتی تونسته این زبان برنامه‌نویسی رو یاد بگیره! اگه نیکان تونسته کار با این زبان برنامه‌نویسی رو بلد بشه، پس حتماً شما هم می‌تونید این‌کار رو انجام بدید. در این دوره که به‌صورت ویدیویی است، نیکان با مثال‌های خیلی زیاد چیزهایی که در برنامه‌نویسی هست رو یاد شما می‌ده و بعد از هر قسمت از آموزش هم چیزهایی که درس داده رو مرور می‌کنه.

خالق زبان‌برنامه‌نویسی Scratch
کسی‌که این زبان مخصوص کودکان رو اختراع کرده، اسمش «میشل رسنیک» هست که یک دانشمند کامپیوتره؛ آقای میشل رسنیک در ۲۲ ژوئن سال ۱۹۵۶ میلادی در کشور آمریکا به‌دنیا آمده و الان هم در دانشگاه MIT آمریکا به‌عنوان محقق، استاد و مخترع مشغول به کاره.

این آقا به‌همراه تیمش یک زبان برنامه‌نویسی به اسم 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. شخص سازی: در این زبان برنامه نویسی افراد به خصوص کودکان که تمایل شدیدی به مشاهده اثری از خود در دنیای دیجیتال دارند قادر خواهند بود تصاویر شخصی خود، صدای ضبط شده خود، موسیقی مورد علاقه و ... را وارد پروژه های خود کنند. شاید خیلی از کودکان در حین تماشای انیمیشن ها با خود بگویند که ای کاش من جای آن کاراکتر خاص بودم. حال با این زبان برنامه نویسی چنین محدودیتی فقط چند کلیک با کودک فاصله خواهد داشت.

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

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

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

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

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

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

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

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

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

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

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

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

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

علاوه بر این، یکی از مزیت‌های این دورهٔ آموزشی ویدیویی بودن آن است و به همین دلیل برای گروه‌های سنی خردسال و کودک از جذابیت بیشتری برخوردار بوده و حتی کاربرانی که سواد آکادمیک خواندن و نوشتن هم نداشته باشند می‌توانند از این دوره بهره‌مند گردند.

هزینهٔ این دوره چقدر است؟
این دوره کاملاً رایگان و به‌صورت آنلاین برگزار می‌گردد.

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

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

پس از اتمام این دوره، چه دستاوردهای علمی به‌دست خواهم آورد؟
یکی از مزیت‌های این دورهٔ آموزشی، پروژه-محور بودن از یک سو و همچنین تدریس آن توسط یک مدرس ۱۳ ساله (نیکان پوره) از سوی دیگر است که این دو ویژگی برای بسیاری از کاربران کودک و نوجوان این دورهٔ آموزشی آنلاین جذاب است.

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

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

توجه!
امکان نظردهی که برای این بخش درنظر گرفته شده است صرفاً جهت ارائهٔ نظرات پیرامون کیفیت دوره بوده و از کلیهٔ کاربران خواهشمندیم تحت‌ هیچ عنوان به پرسیدن سؤال و یا درخواست گرفتن راهنمایی در این بخش نپردازند (لازم به‌ذکر است سؤالات غیرمرتبط حذف خواهند شد).
لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
shahinrad9393
shahinrad9393
۱۳۹۶/۰۸/۱۹
یه سوال
اگر بخوایم کاری کنیم که مثلا با زدن بلافاصله جهت های عقب و جلو و s اسپرایت ما یه حرکت خاصی انجام بده چه دستور هایی رو باید بهش بدیم؟
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۸/۰۴
بسیااار ممنون بابت این آموزش
عالی بود
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۸
عااااااالیه. اسکرچ محیط جذابی داره!
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۶
I dont have any idea yet
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۳
خوب بود
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۰
آموزش را اگر پله پلاه شروع کنید بهتر است