از کجا شروع کنیم؟
آموزش کدنویسی به کودکان
من یک برنامه‌نویس هستم و قصد دارم که به فرزندانم (قبل از آن‌که آن‌ها به گرایشی روی بیاورند) بیاموزم که چگونه کدنویسی کنند. مشکل اینجا است که من نمی‌خواهم منتظر بمانم تا آن‌ها به اندازه کافی بزرگ شوند و بعد به آن‌ها آموزش دهم.
بیش‌تر کتاب‌های برنامه‌نویسی، کلاس‌های کدنویسی، حتی منابع آنلاین به تمرکز بر بازه سنی طلایی 9 تا 16 سال تمایل دارند. برای نمونه،
‌ Defcon Kids (بخشی از کنفرانس امنیتی دفکان)، کار با بچه‌های 8 ساله را شروع کرده است که امری کاملاً غیرعادی است. کودکان در سنین پایین‌تر به سختی به نشستن و مطالعه کردن عادت می‌کنند. حال پرسش اینجا است که آیا فرزندان من (با سنین 5 و 8 سال) برای آموزش کدنویسی خیلی کوچک هستند؟ من که این‌‌گونه فکر نمی‌کنم.

زمانی که من 8 ساله بودم و پسرعمویم 5 سال داشت، روی سیستم کومودور 64، برنامه‌نویسی بیسیک انجام می‌دادیم. 
در آن زمان، هیچ کس به ما نگفت که شما برای برنامه‌نویسی بسیار کوچک هستید. اما،‌ اکنون قبل از خریدن یک کومودور 64 از ebay، لازم است، راهی را برای ترغیب فرزندانم به برنامه‌نویسی پیدا کنم. من می‌توانم از‌طریق فروشگاه App Store شرکت اپل و از طریق Google Play به سمت برنامه‌ها و بازی‌های موبایل بروم. برنامه‌های از پیش برنامه‌نویسی شده، از قبیل Daisy the Dinosaur روی آی‌پد، بازی Move the Turtle و iOS که به کاربرانش اجازه می‌دهد، فقط با گرفتن و کشیدن مؤلفه‌ها روی فضای کاری خود، بدون آن‌که درگیر مشکلات کدنویسی شوند، برنامه‌های مورد علاقه‌شان را بسازند. اگرچه این روش مزایایی نیز دارد، من می‌خواهم تجربه‌ای ملموس‌تر و نزدیک‌تر به دنیای واقعی کدنویسی به فرزندانم بدهم، جایی‌که فرزندانم از طریق آزمایش و خطا برنامه‌نویسی را بیاموزند. 

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

حرکت به‌صورت آفلاین!
این کار با چیزی که من در نهایت می‌خواستم کاملاً متضاد است. اما بچه‌های من به‌خصوص فرزند 5 ساله‌ام، زمانی که مفاهیم برنامه‌نویسی را به‌عنوان فعالیت‌های فیزیکی به او می‌آموختم، این مفاهیم را بسیار آسان‌تر از زمانی درک می‌کرد که از طریق کامپیوتر به او یاد می‌دادم. 
ما بازی‌هایی انجام دادیم و در آن به فرزندانم کمک کردم تا فعالیت‌های روزمره‌شان را به یک‌سری دستورالعمل تقسیم کنند. مثلاً ریختن یک لیوان شیر به چندین مرحله، شامل رفتن به سمت کابینت، برداشتن لیوان، بستن درب کابینت، گذاشتن لیوان روی میز، رفتن به سمت یخچال، باز کردن درب آن، ریختن شیر، بستن درب و... تقسیم می‌شد.
این مضمون، تازه و منحصر‌به‌فرد نیست. Code.org آموزش‌ها و منابع آموزشی هدف‌مندی را در‌اختیار والدین و دانش‌آموزانی قرار می‌داد که به بخش «ساعت کدنویسی» آن علاقه‌مند بودند. بخش «ساعت کدنویسی» ابتکاری بود که نخستین‌بار توسط مؤسسه CESW ارائه شد. بیش‌تر تمرکز این سایت روی سواد کامپیوتری کاربران، به خصوص خواندن و نوشتن کد است. اما سایت برای کدنویسی جدا یا به اصطلاح غیر مستقل بخش ویژه‌ای داشت، جایی که به بچه‌ها ارتباط بین سمبل‌ها و عملیات‌ها را می‌آموزند.

بازی Robot Turtles (لاک‌پشت‌های روباتی)، الهام گرفته از زبان برنامه‌نویسی Logo است که از مفاهیم کدنویسی پایه نیز استفاده کرده است. هم‌نسلان من ممکن است برنامه‌نویسی لاک‌پشت‌های Logo کوچک روی کامپیوترهای اپل را به یاد بیاورند. بچه‌ها در این بازی، لاک‌پشت‌ها را با یک دسته کارت بازی درون صفحه بازی به حرکت درمی‌آورند. کارت‌ها تصاویر زیبا و جالبی دارند که از آن‌ها برای حرکت دادن لاک‌پشت‌ها به چپ یا به راست، به عقب یا به جلو استفاده می‌شود. این بازی بسیار سرگرم‌کننده است، خوب است بدانید که در این بازی، سن و سال تأثیر چندانی در برد و باخت ندارد و مثل خیلی بازی‌های دیگر، بازیکنی که بزرگ‌تر است از پیش برنده نیست. در اصل، لاک‌پشت‌های روباتی در قالب پروژه Kickstarter توسط مؤسسه Thinkfun، ناشر بازی‌های آموزشی و تحصیلی، تابستان امسال منتشر خواهد شد. به شدت توصیه می‌کنم که آن را تهیه کنید. حتی پدر و مادرهایی هم که سررشته‌ای از برنامه‌نویسی ندارند، بی‌شک از بازی با آن لذت خواهند برد.

بازگشت به کامپیوتر
لاک‌پشت‌های روبات، بازی سرگرم‌کننده‌ای بود، اما خیلی زود بچه‌ها برای بازگشت به کامپیوتر اصرار کردند. من تصمیم گرفتم که این بازگشت را با Scratch شروع کنم، که یک برنامه تحت وب ساخته گروه باهوشی در MIT، است. با استفاده از این برنامه می‌توانستیم از تجربیات پایه‌ای برنامه‌نویسی خودمان در زبان‌های مختلف برنامه‌نویسی از قبیل Ruby ،Python ،Basic ،Javascript یا هر زبان دیگری بهره بگیریم.
سایت‌هایی مانند CodeCampus.com و PencilCode.net، به شما این اجازه را می‌دهند که با اجرای برنامه‌های کوچکی در فضای Sandbox، آن‌ها را بفهمید و بهتر درک کنید. Laby که به‌صورت پیش‌فرض در توزیع‌های مختلف سیستم‌عامل لینوکس نصب شده است، به کودکان اجازه می‌دهد که معما‌ها را به سادگی و با استفاده از توابع ()Left() ،Right و()Forward حل کنند.

در ابتدای کار ممکن است کمی احساسی مانند انجام بازی Lego داشته باشید، با این تفاوت که روی کامپیوتر هستید. هر مؤلفه برنامه‌نویسی، مانند “Move”،“if-then-else” و حلقه‌های “While” به شکل آجرهای رنگی در این برنامه نشان داده شده است که بچه‌ها می‌توانند آن‌ها را با ابزارهای موجود در پالت ابزار برنامه بگیرند و درون فضای کاری خودشان بکشند. کم‌کم تکه‌های مختلف کنار هم قرار می‌گیرند تا برای گربه‌ای که شخصیت اصلی بازی است، یک برنامه کاری را تشکیل بدهند. مثلاً اگر آجر “Move” درون آجر “forever” بیافتد، گربه در یک جریان حلقه بی‌نهایت می‌افتد. شما می‌توانید اشکال دیگری را برای ایجاد یک پویانمایی و در‌نهایت ساخت یک بازی‌ کامپیوتری به فضای کاری‌تان بیافزایید. 
بعد از آن‌که من به فرزندانم نتایج حاصل از پیاده‌سازی خام و ناپخته Frogger را نشان دادم، بچه‌ها تلاش کردند که روی بازی‌های خودشان کار کنند. گاهی اوقات، برنامه‌‌های آن‌ها آن‌گونه که انتظار داشتند، کار نمی‌کرد. در این میان، من آموختم که دهانم را در نشان دادن راه درست، یا بهترین راه، بسته نگاه دارم. من برای این کار از آن‌ها سؤالاتی پرسیدم و اجازه دادم که روی چیزی که در نهایت می‌خواهند به آن برسند خوب فکر کنند. زمانی که فرزند کوچک‌ترم با ناله از من می‌خواست که «می‌تونی این تکه رو تو برام انجام بدی؟»، من تسلیم خواسته او نمی‌شدم. ما مسائل را به قطعات کوچک‌ مدیریت‌پذیر و حل شدنی تجزیه می‌کردیم. این کار زمانی ارزش پیدا می‌کرد که آن‌ها ناگهان فریاد می‌زدند: «من انجامش دادم... واقعاً انجامش دادم!» 
اگر ما بتوانیم به فرزندانمان بیاموزیم که برنامه‌نویسی ترسناک یا ناامید کننده نیست، مطمئن باشید راه را درست پیموده‌ایم. Scratch به‌اندازه کافی جالب و سرگرم‌کننده است، حتی والدینی که برنامه‌نویسی نمی‌کنند، با انجام این بازی متوجه خواهند شد که هیچ چیز تهدیدآمیز و ترسناکی در برنامه‌نویسی وجود ندارد. 
در نهایت، ما به‌دنبال برنامه‌نویسی واقعی خواهیم بود، شاید حتی فرزندانم را وارد جهان Lego Mindstorms یا گرفتار Raspberry Pi کنم. اما تا آن زمان، Scratch بهترین گزینه برای ما است. 

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.
برچسب: 

ایسوس

نظر شما چیست؟