برو به محتوای اصلی

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

3

من کجام؟ اینجا کجاست؟

در جواب‌کو می‌تونید در مورد هر موضوعی سوال کنید، به سوالای بقیه جواب بدید و تجرباتتونو به اشتراک بگذارید!

سیاوش محمودیان
بنیانگذار جواب‌کو

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

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

برای یاد دادن برنامه‌نویسی به هر شخصی در هر سنی، مهمترین قسمت ایجاد هدف و انگیزست. چرا باید اون شخص برنامه‌نویسی یاد بگیره؟ اگر یاد بگیره باهاش می‌تونه چیکار کنه؟

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

خود من اولین پروژه‌ای که انجام دادم که برام خیلی جذاب بود یه روبات نرم‌افزاری فوق‌العاده ساده بود که در زبان پاسکال نوشته شده بود و براش متن می‌نوشتی و بهت جواب می‌داد. مثلا می‌پرسید چند سالته، اگر سن وارد شده بیشتر از یه حدی بود می‌گفت چقدر سنت زیاده و همینطور ادامه می‌داد. برای من این برنامه خیلی جذاب بود چون عکس‌العمل افرادی که ازشون می‌خواستم باهاش صحبت کنن خیلی برام جالب بود. بعدها همین روبات خیلی ساده که شاید با ۱۵۰ تا شرط if نوشته شده بود رو خیلی پیشرفته‌ترش رو درست کردم و در یاهو مسنجر با افراد چت می‌کرد. یعنی حتی بعد از سال‌ها هنوز ساختن نسخه پیشرفته همون روبات برام خیلی جذاب بود که نتیجه هم داد، چون بیشتر از ۱۰۰ هزار نفر ایرانی اون زمان (سال ۲۰۰۳ وقتی ۱۵ سالم بود) باهاش چت کرده بودن!

در حال حاضر ابزار برای آموزش به کودکان خیلی خیلی بیشتره! خیلی کارها برای والدین آسون‌تر شده که کودکانشون رو به برنامه‌نویسی علاقه‌مند کنن. اما هنوز مهم‌ترین مورد اینه که ببینیم برای کودک چه چیزی جالبه خارج از دنیای برنامه‌نویسی و سعی کنیم بهش یاد بدیم چطور با کمک برنامه‌نویسی ابزاری درست کنه که در اون زمینه کمکش کنه.

مثلا Lego از نظر من یکی از جذاب‌ترین ابزار برای آموزش برنامه نویسی می‌تونه باشه در حال حاضر. سری Mindstorm از لگو یک ست فوق‌العاده از ابزاری هست که باهاش می‌شه یه روبات واقعی ساخت. یعنی تعدادی موتور داره، سنسورهای مختلف، دوربین، فاصله‌سنج و از همه مهم‌تر یک زبان برنامه‌نویسی خیلی ساده که با Drag و Drop کردن بلاک‌های مختلف کودکان می‌تونن به این روبات‌ها برنامه بدن. در حال حاضر صدها کیت دیگه هم هستن با زبان‌های مختلف که این کار رو می‌کنن. کافیه جستجو کنید برای robot kits for kids. خود خریدن این کیت‌ها به تنهایی کافی نیستن، مهم اینه که کودک رو بهش نشون بدیم چه چیزهایی که دوست داره باهاش می‌تونه بسازه. مثلا اگر کودکی به بازی Angry Bird علاقه داره شاید بشه هدف رو گذاشت یه روباتی که بتونه هدفی رو دنبالش بگرده، پیداش کنه و به سمتش توپ پرتاب کنه. یا حتی روباتی که بتونه قلم بگیره و روی کاغذ نقاشی کنه. در یوتیوب ویدیوهای فراوانی از چیزهایی که با لگو مایندستورم ساختن به همراه طریقه ساختش موجوده. پس برای این کار معلم هم نیاز نیست و والدین می‌تونن خودشون یاد بگیرن و با کودک به ایجاد روبات‌ها بپردازن.

جدا از این کیت‌های روبات‌سازی که شاید برای بچه‌ها جذاب‌تر باشه، این روزها زبان‌های برنامه‌نویسی متعددی هستند که برای کودکان طراحی شدن. مثلا زبان برنامه‌نویسی Scratch که توسط MIT برای کودکان طراحی شده و یا بلاکلی (Blockly) که توسط شرکت گوگل معرفی شده.

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

وبسایت Tynker هم یه سرویس خیلی جالب هست جهت یادگیری برنامه‌نویسی برای کودکان که جوایز زیادی هم برده. در تینکر بچه‌ها می‌تونن کاراکترهای مختلف رو با استفاده از برنامه‌نویسی کنترل کنن. این سرویس از برنامه‌نویسی بلوکی که مشابه ماینستورم، بلاکلی و اسکرچ هست شروع می‌کنه و در مراحل جلوتر جایگزین Python و Javascript اون‌ها رو آموزش می‌ده که به نظر من روش خیلی جالبیه.

اگر بعد از معرفی این ابزار دیدید که فرزندتون علاقه‌مند هست به برنامه‌نویسی، و بعد از این که کار با این ابزار را یاد گرفت در صورتی که زبان انگلیسی کودک خوب هست می‌تونید اون رو به Codecademy معرفی کنید! کدکدمی یکی از آسون‌ترین راه‌هایی هست که هر شخصی می‌تونه HTML، CSS و JavaScript یاد بگیره جهت شروع طراحی وب، و یا زبان Python رو یاد بگیره که یکی از پرکاربردترین زبان‌های برنامه‌نویسیه در این روز‌ها. تمام مراحل یادگیری توی این سایت با مثال هست و از شما می‌خواد که کارهارو مرحله به مرحله انجام بدید.

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

14
علی محمدپور
مهندسی کامپیوتر - نرم افزار

مفاهیم برنامه‌نویسی را می‌توانید از مجموعه‌ی Code.org به ایشان آموزش دهید. دوره‌های کودکان و نوجوانان برای سن‌های ۴ سال به بالا در نظر گرفته شده است. این آموزش‌ها به صورت انیمیشن هستند. استفاده از این پروژه می‌تواند اولین قدم برای آموزش ایشان باشد.

سامان محمودیان
دانشجو-برنامه نویس

برای اول کار باید از زبان‌های آسون شروع کند، مانند ++HTML ,CSS ,C.

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

3
هادی اسدی
دانشجو

خواهش میکنم تو مسیر دلخواه خودتون قرارش ندید. 

1