اگر در آفتابگردان کلمه «برنامه نویسی» را جستجو کنید، متوجه میشوید که این موضوع یکی از موضوعاتی است که بیشترین مطلب را در زمینهاش ارسال کردهایم. دلیل آن هم این است که من به آن حرف Steve Jobs اعتقاد کامل دارم:
هر کسی باید یاد بگیرید که برای یک کامپیوتر برنامه بنویسد؛ چون برنامهنویسی به شما یاد میدهد که چطور فکر کنید...
همانطور که در مطلب «خطر شغلی برای برنامهنویسان: به زودی آموزش برنامهنویسی در مدارس ابتدایی اجباری میشود!» گفته بودم، کشورهای پیشرفته مدتهاست که شروع کردهاند که به بچهها برنامهنویسی را یاد بدهند... (حتی من از دیدگاه مذهبی نیز معتقدم که کسی که برنامهنویسی را یاد بگیرد، اصولیتر و مذهبیتر زندگی خواهد کرد؛ بنابراین مؤسسات فرهنگی ما به جای تمرکز مستقیم روی آموزش دین، بیایند به بچهها برنامهنویسی یاد بدهند... یک برنامهنویس حرفهای وقتی به برنامهای که برای این جهان نوشته شده نگاه میکند، پی میبرد که «خدایی قابل ستایش» در پشت صحنه این برنامه وجود دارد...)
اما اگر قصد ورود به برنامهنویسی را دارید و یا یک مدرس هستید و قصد دارید برنامهنویسی را به افراد با سنین مختلف یاد دهید، باید بدانید که قبل از ورود به کدنویسی باید مدتها «ذهن خود را پرورش دهید تا الگوریتمیک شود».
برای اینکه ذهن خود را الگوریتمیک کنید، راههای مختلفی وجود دارد؛ به طور مثال در مطلب «چرا رشته کامپیوتر اینقدر ریاضی دارد؟ آیا لازم است؟» توضیح داده بودم که ذهن الگوریتمیک داشتن یعنی درگیر شدن با مسائل ریاضی...
اما یکی دیگر از راهها که شاید آن خشکی ریاضی را نداشته باشد، «بازی کردن» است! اما نه هر بازیای. بازیهای مختلفی وجود دارند که با هدف الگوریتمیک کردن ذهن طراحی شدهاند.
من در مطالب مهم زیر به برخی از آنها اشاره کردهام:
- بازیهایی برای تقویت ذهن دانشجویانی که دوست دارند برنامه نویس حرفهای شوند
- LightBot ؛ بهترین بازی برای آموزش و آمادهسازی کودکان تا دانشجویان برای برنامه نویسی
- یک خواهش از مدرسین زبان C : با نرم افزار Scratch آشنا شوید
- یک آزمون و تمرین ساده برای اینکه ببینید برنامه نویس خوبی میشوید یا خیر؟
و اما همانطور که در مطلب «چه شد که من به برنامه نویسی علاقهمند شدم؟» گفته بودم، اگر از من بپرسید که «چه شد که به برنامهنویسی علاقهمند شدی؟» خواهم گفت که همه چیز از روز اول دانشگاه و جلسه اول درس برنامهنویسی شروع شد. روزی که استاد عزیزی که داشتیم، برای درک بهتر برنامهنویسی به ما یک مسأله ساده داد: یک روبات داریم که در یک اتاق گیر افتاده... شما قرار است با یک سری فرمان که آن روبات پشتیبانی میکند، به او دستور بدهید که چه مسیری را طی کند تا درِ اتاق را بیابد و از آن خارج شود... او حالات مختلفی برای اتاق و جاهای مختلفی برای روبات در نظر میگرفت و میخواست که برنامه خاص آن شرایط را بنویسیم ... و من در مطلب بالا مفصلتر در مورد آن روبات صحبت کردم و گفتم که من عاشق آن روبات و برنامهنویسی برای آن شدم... برای آن روباتِ خیالی اسم گذاشته بودم: Robi و همیشه در فکر این بودم که آن روبات را بسازم...
تا اینکه در مطلب «Robi Alpha 1 ؛ نسخه اولیه از روبات روبی، محصول دیگری از آفتابگردان + آموزش مختصر بورد آردوینو» شاهد بودیم که در سال ۹۶ اولین نسخه آزمایشی از روبات ساخته شد.
و سپس با کمک «صدرالدین رستگار» (نوجوان نابغه آفتابگردان) در مطلب «Robi Alpha 2 ؛ روبات روبی به نسخه نهایی نزدیکتر شد!» اعلام کردیم که روبی آلفا ۲ تولید و شبیهتر به یک روبات شد و واقعاً آن دستورات را گرفت و اجرا کرد:
و اما داستان Robi همچنان ادامه دارد!...
این بار ما برای اینکه هر کسی تجربه کار با این روبات دوستداشتنی را داشته باشد، یک نسخه مجازی (Virtual) از روبی را تولید کردیم؛ و پس از چند ماه کار معرفی میکنیم:
Robi Vita
روبی-ویتا یک بازی فوقالعاده برای الگوریتمیک کردن ذهن کاربران و آماده کردن آنها برای ورود به برنامهنویسی است.
ویتا در سه مرحله و مجموعاً در ۱۸ سطح تلاش میکند مفاهیمی مانند عبارت دستوری (Statement)، تابع (Function)، حلقهها (Loops) و عبارات شرطی (if..else) را با بازی به کاربر آموزش دهد.
در ویتا، کاربر فقط کافیست دستورات را متناسب با اتاق و محل قرار گرفتن روبی از سمت راست به خط فرمان (در پایین صفحه) بکشد و سپس برنامه را اجرا کند تا روبی دستورات را یک به یک اجرا کند:
ویتا نه تنها در ویندوز، بلکه در آندروید نیز به خوبی اجرا میشود.
یکی از برتریهای ویتا نسبت به نمونههای خارجی این است که ما ندیدهایم که این بازیها بتوانند حلقه و شرط را به طور کامل و تو-در-تو پشتیبانی کنند اما ویتا توانایی درک و اجرای حلقهها و شرطهای تو-در-تو را دارد...
ما مطمئنیم که روبی-ویتا به یکی از ابزارهای مهم در آموزش برنامهنویسی (به ویژه در جلسات اول دورهها که الگوریتم و مبانی برنامهنویسی تدریس میشود) تبدیل خواهد شد. و ما مطئمنیم که نوجوانان و جوانان ایرانی و هر کسی که بخواهد برنامهنویسی را یاد بگیرد، با خاطره خوشی که از ویتا کسب خواهد کرد، به برنامهنویسی علاقهمندتر خواهد شد.
دانلود Robi Vita:
برای دانلود نسخه ۶۴ بیتی از روبی-ویتا ویژه ویندوز، اینجا کلیک کنید.
برای دانلود نسخه ۳۲ بیتی از روبی-ویتا ویژه ویندوز، اینجا کلیک کنید.
برای دانلود نسخه موبایلی روبی-ویتا ویژه آندروید، اینجا کلیک کنید.
برنامههای آینده
فکر میکنیم روبی و نسخه مجازی آن یعنی ویتا، بسیار جای کار دارند. ما روزی را میبینیم که هر کودک و نوجوان ایرانی وقتی در روبی-ویتا برنامه را نوشت و روی اجرا کلیک کرد، در دنیای واقعی ببیند که روبات روبی روشن میشود و شروع به پیمایش آن مسیر میکند. (وقتی او ببیند که برنامهاش واقعاً دارد یک روبات را جا به جا میکند، چه احساسی پیدا خواهد کرد؟)
ما همچنان در حال فکر و کار روی آن نسخه روبی هستیم که در جیب جا شود:
و البته روبی-ویتا نیز به زودی یک ابزار کمکی خواهد داشت که شما نیز میتوانید برای ویتا مرحله طراحی کنید و به خورد نرمافزار دهید تا به طور مثال دانشجویان شما آن را حل کنند...
روبی-ویتا باید به انگلیسی نیز ترجمه و در دنیا پخش شود؛ و در کل چند-زبانه باشد.
و بسیاری ایدههای دیگر که إن شاء الله به مرور پیادهسازی خواهیم کرد.
تشکر
بلاشک باید از صدرالدین (نام کاربری qwerty13) که زحمت اصلی به دوش او بوده کمال تشکر را داشته باشیم. وهمچنین از همه دانشجویان و کاربران دیگر که نظر دادند یا مراحل را طراحی کردند و...
جدا از جلسات مربوط به روبی، برای طراحی ویتا، قریب به ده بار با هم جلسات حضوری یا اینترنتی داشتهایم و هر بار بخشهای مختلف را تغییر دادهایم تا اینی شده است که میبینید.
و اما از شما آفتابگردانیهای عزیز دعوت میکنیم که برای هر نوع مشارکتی که میتوانید در این پروژه داشته باشید، اعلام آمادگی کنید. به طور مثال اگر میتوانید یک نماد صنعتی زیبا برای روبی طراحی کنید و یا پیشنهادی به ذهنتان میرسد و ... با ما در میان بگذارید.
موفق باشید؛
حمید رضا نیرومند