میچ رسنیک: به بچه ها کد نوشتن را بیاموزیم
متن سخنرانی :
یک بعد از ظهر شنبه در ماه مِی بود، و من یکدفعه متوجه شدم که فردا روز مادر است، و من هنوز چیزی برای مادرم نگرفته بودم، خب شروع کردم به فکر کردن که چی بهتره برای مادرم بگیرم؟ گفتم چرا برای او یک کارت تبریک دیجیتالی تبریک روز مادر درست نکنم با استفاده از نرمافزار اسکراچ که خودم در گروه تحقیقاتیام در آزمایشگاه چند رسانهای دانشگاه اِمآیتی نوشته بودم؟ ما این نرم افزار را ساختیم تا مردم به راحتی بتوانند داستان، بازی و انیمیشنهای خود را بسازند، و آنها را با همدیگر به اشتراک بگذارند. به خودم گفتم این یک فرصت برای استفاده از اسکراچ است تا یک کارت هدیه برای مادرم درست کنم.قبل از اینکه شروع به ساخت کارتم بکنم، گفتم نگاهی به سایت اسکراچ بندازم. در سالهای گذشته، بچه ها از سراسر جهان با سن بیشتر از ۸ سال، پروژههاشان را با همدیگر به اشتراک گذاشته بودند، و گفتم از این سه میلیون پروژه آیا کس دیگری هم به فکرش رسیده که کارت هدیه روز مادر بسازد یا نه. پس در کادر جستجو تایپ کردم «روز مادر»، و هم خیلی تعجب کردم و هم خوشحال شدم که دهها و دهها کارت تبریک روز مادر دیدم که در سایت اسکراچ وجود داشت، بسیاری از آنها مال همان ۲۴ساعت گذشته ساخته شده بودند، به دست کسانی که مانند خود من کارهاشان را به تعویق میاندازند. شروع کردم به بررسی و نگاه کردن به آنها. (موزیک) دیدم که در یکی از آنها بچه گربهای را به همراه مادرش نشان میداد که به مادرش روز مادر را تبریک میگفت. و سازندهی آن خیلی با فکر به مادرش امکان بازپخش داده بود. یکی دیگر یک پروژهی تعاملی بود که در آن، وقتی ماوس را روی حروف «روز مادر مبارک» حرکت میدادید، یک شعار ویژهی روز مادر نمایان میشد. (موزیک) در این یکی، سازنده به یک راوی میگفت که چگونه با استفاده از گوگل فهمیده است که روز مادر کِی است. (در حال تایپ) و وقتی زمان روز مادر را پیدا کرده، یک پیام تبریک ویژه را به مادرش رسانده که چقدر مادرش را دوست دارد.
من خیلی از دیدن این پروژهها و کار کردن باهاشان لذت بردم. من خیلی از دیدن این پروژهها و کار کردن باهاشان لذت بردم. در واقع، آنقدر از آنها خوشم آمد که به جای اینکه خودم یکی از آنها را بسازم، لینک ده دوانزده تا از همین پروژهها را برای مادرم فرستادم. (خندهی تماشاگران) و واقعا، مادرم همانطور که انتظار داشتم برخورد کرد. و برایم جوابی نوشت که: «من به داشتن همچین پسری که این نرمافزار را ساخته افتخار می کنم که به این بچهها این امکان را داده که برای مادرانشان چنین کارت تبریکهایی بسازند.»
خب وقتی مادرم خوشحال باشد منم خوشحال میشم، ولی در واقع به یک دلیل دیگر بسیار خوشحالتر بودم. خوشحال بودم چرا که این بچهها همانطور که ما انتظارش را داشتیم، از اسکراچ استفاده میکردند. وقتی که آنها کارتهای تبریک روز مادرشان را میساختند، میتوانستید ببینید که چطور واقعا اینقدر روان از تکنولوژی های نو استفاده میکردند و با آن همگام شده بودند. منظورم از روان شدن چیست؟ منظورم این است که آنها توانایی این را داشتند شروع به بیان خود و ایدههایشان بکنند. وقتی شما در یک زبان روان باشید و به فصاحت حرف بزنید، به این معناست که می توانید یک نوشته در دفترچه خاطرات خود بنویسید یا یک جُک برای کسی بگویید و یا به کسی نامه ای بنویسید. در تکنولوژی های جدید نیز همین گونه است. با نوشتن، با ساختن چنین کارت تیریکهای تعاملی روز مادر، این بچه ها نشان دادند که واقعا در استفاده از تکنولوژیهای نو روان هستند.
شاید شما خیلی هم از این موضوع جا نخورید. چرا که اکثر اوقات همه فکر میکنند که بچهها و نوجوانان میتوانند هر کاری را با تکنولوژی بکنند. منظورم این است که همه شنیدهایم به جوانان «اصالتا دیجیتالی» نیز گفته میشود. ولی من در مورد این اصطلاح کمی شک دارم. من فکر نمیکنم که ما باید جوانترها را به عنوان آدمهای اصالتا دیجیتالی بدانیم. وقتی به این فکر کنید که همین جوانان چطور اکثر وقت خود را با این تکنولوژیهای جدید میگذرانند؟ شما بیشتر آنها را در ابن حالت میبینید، یا این حالت، و هیچ شکی نیست که جوانان بسیار در چت کردن، مرور سایتها، اساماس زدن و بازی کردن راحتاند. ولی اینها واقعا شما را روان و سلیس نمی کند.
پس جوانان تجربهی زیاد و آشنایی زیادی با تکنولوژیهای جدید دارند، ولی با آفرینش با استفاده از این تکنولوژیها آشنایی بسیار کمی دارند. با توانایی ابراز وجود به وسیله این تکنولوژیهای جدید. تقریبا مثل این میماند که در استفاده از این تکنولوژیها، آنها میتوانند بخوانند ولی نمیتوانند بنویسند.
و من خیلی مشتاق این هستم که ببینم چگونه میتوانیم به این جوانان کمک کنیم که روان شوند تا بتوانند با این تکنولوژیهای جدید بنویسند؟ و این بدین معناست که آنها قادر باشند برنامهی خاص خودشان را بسازند و یا به اصطلاح، کد بزنند.
به طور افزایندهای، مردم شروع به فهمیدن این موضوع کردهاند که چقدر مهم است که کد نوشتن را یاد بگیرند. میدانید، در همین چند سال اخیر، صدها سازمان و وبسایت جدید راهاندازی شده که به جوانان کمک می کند که کد نوشتن را یاد بگیرند. اگر در اینترنت بگردید، به مواردی بر میخورید مثل کُدکادمی و رویدادهایی مثل کُدِردوجو و سایتهای مثل: گرلز هو کُد، و یا بلک گرلز کُد. اینطور به نظر میرسد که همه متوجه این موضوع شدهاند. حتی در آغاز همین امسال، در هنگام تحویل سال، شهردار نیویورک مایکل بلومبرگ هدف سال نوی خود را یادگیری کد نوشتن در سال ۲۰۱۲ بیان کرد. چند ماه بعد، کشور استونی تصمیم گرفت که همه سال اولیها باید کد نوشتن را یاد بگیرند. و این باعث راه اندازی یک مناظره در انگلستان شد در این مورد که آیا بهتر است همه بچه ها کد نوشتن را یاد یگیرند.
حالا، برای برخی شما، وقتی این موضوع را شنیدید، ممکن است بسیار عجیب و غریب به نظر برسد که همه کد نوشتن را یاد بگیرند. وقتی صحبت از کد نوشتن میشود، مردم این در نظرشان میآید که این موضوعیست که به گروه جزیی و بسیار کوچکی از مردم مربوط می شود که به سراغ این کار میروند و انجامش میدهند. و کد نوشتن در ذهنشان چیزی شبیه به این است. و در واقع، اگر کد نوشتن این گونه است، واقعا گروه کوچکی سراغ آن میرفتند که دارای مهارتهای خاص ریاضی و پیشزمینهی کار با تکنولوژی هستند و در نتیجه میتوانند کد بنویسند.
ولی کد نوشتن حتما نباید بدین شکل باشد. بگذارید کد نوشتن در اسکراچ را نشانتان دهم. خب در اسکراچ، برای کد نوشتن، کافیست این بلاکها را کنار هم بگذارید. در این مورد، یک بلاک را حرکت داده، و به این مجموعه می چسبانید، و این مجموعهی بلاکها رفتارهای شخصیتهای متفاوت بازی و یا داستان شما را کنترل و هدایت میکند. در این مورد ماهی بزرگ را کنترل میکند. بعد از اینکه برنامهی خود را ساختید، میتوانید روی گزینه اشتراک کلیک کنید، و پروژهی خود را به بقیه نشان دهید، تا بتوانند از پروژهی شما استفاده کرده و روی پروژههای خود کار کنند.
خب مسلما ساختن یک بازی ماهی روی شبکه تنها کاری نیست که شما میتوانید با اسکراچ انجام دهید. از میلیونها پروژهی موجود در سایت اسکراچ، همه جور پروژه از داستانهای انیمشن تا پروژههای علمی مدرسه تا سریالهای آبکی انیمیشن تا بستههای مجازی ساخت تا بازسازی بازیهای قدیمی و خاطرهانگیز ویدئویی تا نظرسنجیهای سیاسی تا دورههای آموزشی مثلثات تا کارهای هنری پویا، و بله، کارت تبریکهای پویای روز مادر وجود دارد.
من فکر می کنم که راههای زیادی برای بروز احساسات مردم از طریق این برنامه وجود دارد، تا بتوانند ایدههایشان را بسازند و با بقیه دنیا به اشتراک بگذارند. و این فقط محدود به نمایشگرها و دنیای مجازی نمیشود. شما می توانید با استفاده از دنیای واقعی پیرامون خود شروع به کد نوشتن کنید. این یک نمونه از کشور هنگ کنگ است، جایی که چند بچه بازیای ساختهاند و سپس دستگاه میانجی فیزیکی مخصوص بازی خود را تولید کردهاند که دارای یک سنسور نوری بود، کار این سنسور این است که سوراخها را در سطح صفحه شناسایی کند، پس وقتی آنها ارهی واقعی را حرکت میدادند، سنسور نوری سوراخ را شناسایی کرده، و ارهی مجازی را کنترل میکند. و درخت را با اره قطع می کند.
ما به سمتی میرویم که در آن به دنبال راههای جدیدی هستیم برای در کنار هم آوردن دنیای واقعی و دنیای مجازی و متصل کردن تمام دنیای پیرامون خود به یکدیگر. این یک نمونه از نسخهی جدید اسکراچ است که در چند ماه آینده منتشر خواهیم کرد. و ما دوباره دنبال راهی میگردیم تا شما را به مسیری جدید هدایت کنیم. این یک نمونه است. از وب کم استفاده میکند. وقتی من دستم را حرکت میدهم، میتوانم بادکنکها را بترکانم و یا این حشره را تکان دهم. این اندکی شبیه به کینکت مایکروسافت است، که شما در آن با حرکتهای بدنتان در جهان تعامل ایجاد میکنید. ولی به جای بازی کردن بازیهای دیگران، شما میتوانید خودتان بازی بسازید، و اگر بازی کس دیگری را دیدید، تنها بگویید: «توش را ببین،» و میتوانید مجموعه بلاکهایی که آن بازی را میسازند ببینید. خب این یک بلاک جدید است که می گوید چقدر حرکت ویدئویی داریم، و وقتی از یک حدی زیادتر باشد، میگوید که بادکنک بترکد.
به همین شیوه که این از دوربین استفاده میکند تا اطلاعات را به اسکراچ منتقل کند، شما میتوانید از میکروفون نیز استفاده کنید. این هم یک نمونه از پروژهایست که از میکروفون استفاده کرده است. حالا من میخواهم بگذارم که همه شما این بازی را کنترل کنید با صدای خودتان.
(صدای جیرجیرک) (فریاد) (جیغ) (صدای خنده) (تشویق حضار)
وقتی بچهها یاد بگیرند چنین پروژههایی بسازند، یاد میگیرند که کد بنویسند. ولی مهمتر از آن، آنها کد مینویسند تا یاد بگیرند. چرا که وقتی آنها یاد میگیرند که کد بنویسند، این آنها را قادر به یادگیری بسیاری از موراد دیگر نیز میکند، و این فرصتهای زیادی را به روی آنان برای یادگیری باز میکند. در واقع، این بسیار بهتر و مفیدتر است که هم خواندن بلد باشید و هم نوشتن، چرا که وقتی هر دو را یاد بگیرید، فرصتهای زیادی برای یادگیری خیلی از مسائل به دست می آورید. وقتی یاد بگیرید که بخوانید، آن وقت می توانید بخوانید تا یاد بگیرید! و یک همچین چیزی در کد نوشتن نیز برقرار است. اگر یاد بگیرید که کد بنویسید، آن وقت میتوانید کد بنویسید تا بیشتر یاد بگیرید. حال چیزهایی که تاکنون فرا گرفتید بیشتر بدیهی هستند. شما اطلاعت بیشتری در مورد چگونگی کار با کامپیوتر به دست میآورید. ولی این فقط یک شروع است. وقتی کد نوشتن را یادبگیرید، این امکان را به شما میدهد که بسیاری موارد دیگر را نیز فرا بگیرید.
بگذارید یک مثال برایتان بزنم. این یک پروژهی دیگر است. من این را وقتی به یکی از انجمنهای کامپیوتر سر زده بودم دیدم. اینها مراکز آموزش فوق برنامه هستند که ما کمک کردیم ایجاد شوند. که به جوانان کم بضاعت کمک میکنند. تا خلاقیت خود را با تکنولوژیهای نو نشان دهند. و وقتی من یکی دو سال پیش به یکی از این مراکز رفتم، یک پسربچه ۱۳ ساله را دیدم که داشت از نرمافزار اسکراچ ما استفاده میکرد تا یک بازی شبیه به همین یکی را بسازد. او از کارش خیلی راضی بود و به بازیاش افتخار میکرد، ولی باز هم میخواست که از این بیشتر انجام دهد. میخواست که امتیازها را نیز ثبت کند. خب این یک بازی بود که در آن یک ماهی بزرگ ماهی های کوچکتر را میخورد. ولی آن پسر م خواست که امتیازها را نیز نگاه دارد تا هروقت که ماهی بزرگ ماهیهای کوچک را میخورد، امتیاز بالا برود و رد این امتیازها را داشته باشد. ولی نمی دانست که چهجوری این کار را انجام دهد. من به او نشان دادم که چطور. درون اسکراچ، شما میتوانید چیزی به نام متغیر ایجاد کنید. من نام آن را امتیاز گذاشتم. و این باعث تولید بلاکهای جدیدی در پروژه شما میشود. همچنین باعث ایجاد یک جدول امتیاز برای دیدن آنها میشود. هر موقع که من روی «تغییر امتیاز» کلیک کنم، امتیاز افزایش پیدا می کند. و من این را به آن بچه نشان دادم - بگذارید او را ویکتور صدا بزنیم - و ویکتور، وقتی که که دید آن بلاک به او اجازه میدهد که امتیاز را افزایش دهد، دیگر میدانست که چکار باید بکند. او بلاک را برداشت و به برنامهی خودش اضافه کرد. دقیقا در همان جایی که ماهی بزرگ کوچکترها را میخورد. حالا، هر بار که ماهی بزرگ، ماهی های کوچکتر را میخورد، او امتیاز را افزایش میداد و امتیاز یکی بالاتر میرفت. و این در واقع کار میکند. وقتی این را دید بسیار خوشحال شد، دستش را به سمت من دراز کرد، و گفت: «مرسی، مرسی، مرسی.» و چیزی که ان لحظه از مغزم گذشت این بود که، هر چندوقت یک بار بچهها از معلمشان برای آموزش متغیرها تشکر میکنند؟ (خنده حضار) این در اکثر مدارس اتفاق نمیافتد. چرا که در این مدارس، وقتی بچه ها در مورد متغیرها آموزش میبینند، نمیدانند که در واقع چرا دارند این را یاد میگیرند. و این چیز خاصی نیست که بتوانند از آن استفاده کنند. وقتی شما ایدهای مثل این را در اسکراچ یاد میگیرید، آن را از راهی پر معنا و بسیار تشویقکننده یاد خواهید گرفت، که در آن دلیل یادگیری متغیرها را نیز فرا میگیرید. و میبینیم که بچهها مفهومیتر و بهتر آن را یاد میگیرند. ویکتور حتما در مدرسه متغیرها را یاد گرفته بود، ولی واقعا خیلی به آن توجهی نکرده بود. حالا او یک دلیل برای یادگیری و استفاده از آنها داشت. پس وقتی شما هنگام کد نوشتن یاد بگیرید، و برای یاد گیری کد بنویسید، شما مفاهیم را عمقی و مفهومی یاد میگیرید و این بهترین راه یادگیری است.
پس وقتی بچههایی مثل ویکتور چنین پروژههایی را بسازند، آنها مفاهیم بسیار مهمی مثل متغیرها را آموزش میبینند، اما این تازه شروع ماجراست. وقتی ویکتور روی این پروژه کار میکرد و کدها را آماده میکرد، همزمان داشت روند طراحی را نیز یاد میگرفت، که چطور یک ایده نصفه نیمه را تبدیل به پروژه ای کامل و کاربردی بکند مثل همانی که دیدید. او بسیاری از مفاهیم اصولی طراحی را یاد میگرفت، که چطور با ایدههایش به آزمایش مشغول باشد، چطور ایدههای بزرگ را به تکه هایی کوچک تقسیم کند، چطور با بقیه روی پروژه کار و همکاری کند، چطور جلوی مشکلات و اشکالات پروژهاش را بگیرد، چطور در مقابل اشکالات و قسمتهایی که به خوبی کار نمیکنند تحمل کند و پایداری داشته باشد. چطور در مقابل اشکالات و قسمتهایی که به خوبی کار نمیکنند تحمل کند و پایداری داشته باشد. اینها همه مهارتهای مهمی هستند. که همه هم فقط به کد نوشتن ارتباطی ندارد. در همه امور و فعالیتهای روزانه کاربرد دارند.
کسی چه میداند، شاید ویکتور وقتی بزرگ شد، یک برنامهنویس و یا مهندس کامپیوتر حرفهای شود؟ احتمالش خیلی کم است، ولی جدا از اینکه چکاره میشود، او قادر است از همهی مهارتهای طراحی که فرا گرفته است بهره ببرد. بدون توجه به اینکه وقتی بزرگ شد مدیر تجاری شود، یا مکانیک، یا یک برنامهریز شود، اینها برای همه مفید هستند. دوباره میگویم، مفید خواهد بود اگر به این تشبیه به زبان فکر کنید. وقتی خواندن و نوشتن را روان میشوید، این کار را برای تبدیل شدن به یک نویسندهی حرفهای انجام نمیدهید. افراد بسیار کمی به نویسندگانی حرفهای بدل میشوند. ولی این برای همه مفید است تا خواندن و نوشتن را بلد باشند. و در کد نوشتن نیز همین گونه است. بیشتر مردم در آینده به سراغ برنامهنویس شدن و یا متخصص کامپیوتر شدن نمیروند، ولی مهارتهایی مثل داشتن ذهنی خلاق، استدلال و اعتبارسنجی، کار گروهی- مهارتهایی که در زمان کد نوشتن در اسکراچ فرا گرفته اید - مهارتهایی هستند که به درد همهی مردم میخورد فارغ از اینکه چه شغل و حرفهای دارند.
و این فقط در مورد زندگی کاری شما نیست. کد نوشتن شما را قادر میسازد که احساسات و ایدههای خود را در زندگی شخصی خود بیان کنید. بگذارید یک مثال دیگر هم نشانتان بدهم. این نمونه بعد از اینکه من کارت تبریک روز مادر را برای مادرم فرستادم پیش آمد. مادرم تصمیم گرفت که می خواهد کار کردن با اسکراچ را یاد بگیرد. و او این پروژه را برای تولد من آماده کرد و با اسکراچ یک کارت تبریک تولد برایم فرستاد. این پروژه قرار نیست جایزهای برای طراحیاش ببرد، و شما میتوانید مطمئن باشید که مادر ۸۳ سالهی من نمیخواهد که برنامهنویس حرفهای و یا متخصص کامپیوتر شود. ولی کار کردن روی این پروژه او را قادر ساخت تا با کسی که دوستش داشت ارتباط برقرار کند و به او چیزهای جدیدی یاد داد و خلاقیت او را پرورش داد. و راههایی جدید برای بیان احساساتش به او نشان داد.
پس اگر نگاهی بیاندازیم، می بینیم که مایکل بلومبرگ دارد کد نوشتن را یاد می گیرد، همهی بچههای استونی کد نوشتن را یاد میگیرند، حتی مامان من هم کد نوشتن را یاد گرفته است٬ فکر نمیکنید زمان آن فرا رسیده که شروع به یادگیری کد نوشتن بکنید؟ اگر علاقهمند شدید، یک بار امتحانش کنید، شما را تشویق می کنم سری به سایت اسکراچ بزنید. به آدرس scratch.mit.edu، و یک بار کد نوشتن را امتحان کنید.
خیلی از شما ممنونم. (تشویق حضار)