زندگی در عصر دیجیتال: از خودروهای بدون سرنشین تا ربات هایی که در جراحی کاربرد دارند و سایر فناوری های روز دنیا، همگی با علوم کامپیوتری بهخصوص برنامه نویسی عجین هستند و این فناوری است که تمامی جنبههای زندگی ما را متحول ساخته است. کدنویسی یک مهارت اساسی است که بخش لاینفک تمامی فناوری هایی است که در محیط پیرامون خود مشاهده می کنیم که کودکانمان نیاز به فراگیری آن دارند تا بتوانند این جنبش فناوری را زنده نگاه داشته و به پیش برند.
توانایی حل مسأله: برنامه نویسی یکی از راههایی است که از آن طریق میتوان تفکر ریاضیاتی را به بچهها آموزش داد. زمانی که کودکان یک برنامه را ساخته و یا مشکلات برنامه یی خراب را رفع می کنند، ایشان با مهارت های حل مسأله دست و پنجه نرم می کنند. با کدنویسی، بچهها به صورت ناخودآگاه به یادگیری ریاضیات می پردازند و با توجه به این که این کار از طریق گیم صورت می گیرد، ایشان اصلاً از این کار خسته نمی شوند.
توانایی تفکر انتقادی: همان طور که قبلاً اشاره شد، آموزش تکنیک های کدنویسی به کودکان کمک می کند تا مهارت های تفکر انتقادی و فرآیندهای حل مسئله را در خود افزایش دهند، مهارت هایی که نه فقط در علوم کامپیوتری بلکه در زندگی شخصی نیز حائز اهمیت اند. این مهارت به آن ها می آموزد که دامنه ی دیدشان را وسعت ببخشند و چالش های بزرگ را به مشکلات قابل حل تر و کوچک تر تقسیم کنند. در واقع، آن ها قادر خواهند بود تا میان مسائل مختلف روابط منطقی ایجاد کنند که به آن ها کمک می کند تا بیاموزند چطور شرایط مختلف را به درستی تحلیل کنند. داشتن این نوع از مهارت فقط مخصوص کسانی که می خواهند در آینده مهندس نرم افزار شوند نیست بلکه برای همه ی افراد ضروری است چرا که به آن ها کمک می کند تا به اهداف بزرگ و مهمی که در زندگی دارند دست یابند.
شگفتی های قصه گویی در حین کدنویسی: کدنویسی در حقیقت مانند نقل یک داستان است، این که بدانید چه طور بنویسید یا فاکتورهای گوناگون بر طبق کدام الگو به دنبال هم قرار بگیرند. بیشتر زبان های برنامه نویسی که برای کودکان طراحی شده اند معمولاً از بازی ها برای آموزش کدنویسی به بچه ها بهره می گیرند و نیازمند این است که بچه ها، یک خط داستانی را دنبال کنند یا حتی خودشان در حین بازی کردن و کدنویسی داستانی را روایت کنند.
رشد خلاقیت: خیلی از بچهها ایدههایی دارند که گاهی اوقات نمیتوانند آنها را از بالقوه به بالفعل درآورند و یا اگر هم بتوانند، نهایتاً در قالب یک فضای دو بعدی همچون نقاشی، آبرنگ و … نمود عینی پیدا خواهند کرد اما با یادگیری مهارت های کدنویسی میتوان این خلاقیت را به شکلی نوین شکوفا ساخت. در واقع، با بهره گیری از زبانهایی که برای کودکان طراحی شده اند، کودکان قادر خواهند بود تا در قالب گیم، انیمیشن، داستان سرایی و … ایدههای خود را از بالقوه بالفعل درآورند.
تقویت اعتماد به نفس: زمانی که کودک یک پروژه ی نرم افزاری هر چند کوچک مثل یک بازی ساده طراحی میکند و آن را با اعضای خانواده و هم سن و سالانش به اشتراک می گذارد، این مسأله منجر به رشد اعتماد به نفس وی خواهد شد چرا که توانسته دست به پیادهسازی کاری بزند که در محیط پیرامونش کمتر کسی توانایی انجام آن را دارد.
یادگیری سریعتر در سنین پایینتر: یادگیری کدنویسی همانند یادگیری یک زبان خارجه است به این شکل که هرچه در سنین پایینتر شروع شود، سریعتر فرا گرفته شده و بالتبع نهادینه تر خواهد شد.
بسیاری از کسانی که در زمینه علوم کامپیوتری صاحب نظر هستند بر این باورند که فراگیری یک زبان برنامه نویسی تا حد بسیار زیادی شبیه به یادگیری زبانی همچون زبانهای فارسی، عربی، انگلیسی و … است. تحقیقاتی که در زمینه فعالیت مغزی بشر از طریق ام آر آی صورت گرفته نیز شاهد این ادعا است که ارتباطی مابین یک زبان زنده دنیا و زبانهای برنامه نویسی وجود دارد چرا که وقتی فردی در دستگاه ام آر آی قرار گرفته و از وی خواسته شد تا کاری را انجام دهد، دانشمندان مشاهده کردند که بخشهایی از مغز وی اکسیژن بیشتری استفاده کردند که این مسأله نشانگر آن است که بخشهای فوق الذکر مرتبط با کاری هستند که فرد مورد آزمایش انجام داده بود. این تحقیق نشان داد که مغز بشر در ارتباط با زبانهای برنامه نویسی نیز عملکردی به همان شیوه ای خواهد داشت که در ارتباط با موسیقی، صحبت کردن، حل مسئله، حفظ کردن چیزی، تکرار کاری، استدلال کردن و … دارا است.
اتفاق جالبتر این که تحقیقات ثابت کردهاند همانطور که ما ماهیچه های خود را تمرین می دهیم، میتوانیم مغز خود را نیز تمرین دهیم. صحبت کردن و برنامه نویسی، هر دو بخش واحدی از مغز را درگیر میکنند لذا این احتمال وجود دارد که برنامه نویسی منجر به بهبود عملکرد افراد در صحبت کردن شود. با این تفاسیر، میتوان نتیجه گرفت که فراگیری برنامه نویسی میتواند منجر به بهبود سایر مهارت های فردی گردد.
یادگیری سایر علوم: فکر کردن به این موضوع که یادگیری یک زبان برنامه نویسی میتواند جایگزین یک زبان خارجی مثل فرانسه، انگلیسی و یا آلمانی باشد موضوع جالبی به نظر میرسد و جالبتر این که تحقیقات هم گواه این مسأله هستند. دانشمندان و محققین بهخصوص آنهایی که در زمینه فرایندهای مغزی تحقیق نموده اند به اثبات رسانده اند که فراگیری برنامه نویسی میتواند کمک به فراگیری سایر علوم و مهارت ها کند. زبانهای برنامه نویسی به منظور حل کردن مسائل مختلف، انجام یک کار و در کل برداشتن باری از روی دوش کاربران برنامههای مختلف ایجاد شده اند. بنابراین ما با یادگیری اصول کدنویسی، اگر هم علاقهای به برنامه نویس شدن نداشته باشیم، راه را برای یادگیری سایر مهارت ها باز خواهیم نمود.
تقویت قدرت استدلال: در تمامی برنامههای کامپیوتری -از برنامههای بزرگ گرفته تا کوچک- برنامه نویس نیازمند استدلال های دقیق است. کودکان در حین کدنویسی با مهارت هایی همچون منطق، تحلیل داده، تحلیل پروژه و شکستن آن به بخشهای کوچک قابل مدیریت و … آشنا می شوند. بسیاری از این مهارت ها منجر به تقویت قدرت استدلال کودک شده که علاوه بر برنامه نویسی، در حل کردن سایر مسائل همچون ریاضیات نیز کاربرد دارند.
تحقیقات حاکی از آنند زمانی که ما قصد نواختن یک قطعه موسیقی داریم، ناحیه ای تحت عنوان Brodmann`s Area 40 که کمی بالای گوش قرار گرفته است فعال می شود. ۱۰ سال پس از این آزمایش، محققین از هفده برنامه نویس خواستند تا مادامی که داخل دستگاه ام آر آی قرار دارند اقدام به تفسیر چند خط کد کنند و جالب است بدانید که نتایج از بسیاری جهات مشابه با نواختن موسیقی بود بهخصوص در ناحیه یی که در بالا بدان اشاره شد. فرایند حل مسأله کاری است که ما هر روزه با آن سر و کار داریم. از حساب کردن فاکتور خرید میوه گرفته تا محاسبه امور مالیاتی یک شرکت بزرگ و این همان چیزی که یادگیری کدنویسی به ما می آموزد.
کمک به درک مفاهیم انتزاعی: مفاهیم انتزاعی همچون ریاضیات برای بسیاری از بچهها به عنوان چالشی بزرگ است اما این در حالی است که با استفاده از برنامه نویسی، میتوان این مفاهیم را به شکلی بصری در معرض دید کودکان قرار داد و ریاضیات را از قالبی خشک، به فضایی توأم با بازی و سرگرمی برای کودکان مبدل ساخت.
نظر عموم بر این عقیده استوار است که برای موفقیت در کدنویسی، باید مهارت های ریاضیاتی را تقویت کرد؛ به عبارت دیگر، هر چه مهارت های ریاضیاتی شما بیشتر باشد، احتمال موفقیت شما در کدنویسی نیز بیشتر خواهد بود. واقعیت امر آن است که به این قضیه از بعدی دیگر نیز میشود نگاه کرد. به عبارت دیگر، دانش کدنویسی به کودکان کمک میکند تا درسهایی همچون ریاضیات را بهتر متوجه شوند. تحقیقات میدانی در مدرسههای ایالات متحده نشان داده کودکانی که برنامه نویسی بلد هستند، در درس ریاضیات نمرههای بهتری کسب می کنند.
یاد گرفتن کار گروهی: امروزه شرکت های تراز اول دنیا در فرایند استخدامی خود، علاوه بر مهارت های فنی، مهارت های تیمی و کار گروهی را نیز بسیار باارزش قلمداد میکنند و به جرأت میتوان گفت که یادگیری مهارت کار گروهی چیزی است که در تمامی عرصه های زندگی به درد کودکانمان خواهد خورد. در برنامه نویسی هم بدون کار گروهی هرگز نمیتوان به موفقیتهای بزرگی دست یافت. کودکان با یادگیری برنامه نویسی، به این مهارت تجهیز خواهند شد و در آینده خواه برنامه نویس شوند و خواه به شغل دیگری مشغول شوند، این مهارت زندگی کاری ایشان را بسیار اثربخش تر خواهد ساخت.
سخت گوشی: بدون هر گونه تعارفی، برنامه نویسی کار نسبتاً دشواری است و اگر کسی بتواند در ابتدای راه فراگیری این مهارت انگیزه ی خود را از دست ندهد، به طور حتم از عهده ی یکی از مهارت های دشوار اما در عین حال لـ*ـذت بخش بازار کار کنونی دنیا برآمده است. پس از شروع برنامه نویسی، به دلیل چالش هایی که این مهارت به همراه دارد، به صورت ناخودآگاه کودکان سخت کوش میشوند و یاد میگیرند که با برخورد به اولین مانع، نمی بایست دست از کوشش و فعالیت خود بکشند.
تاریخچه ی آموزش برنامه نویسی به کودکان
بعضی از افراد پیشنهاد می کنند تا هنگامی که علاقمند به برنامه نویسی شدید بلافاصله باید وارد عمل شده و با استفاده از زبان برنامه نویسی مد نظر خود، آن ایده را به واقعیت تبدیل کنید. در طرف دیگر پیشنهاد می شود که از یک رویکرد جزء به کل استفاده کرده، ابتدا مفاهیم اصلی برنامه نویسی را یاد گرفته و گام به گام و با گذشت زمان شروع به ساختن برنامه یا اپلیکیشن مد نظر نمایید. Semmy Purewal یک برنامه نویس در Netflix که سابقا یک مدرس برنامه نویسی بوده درباره تفاوت بین این دو روش این گونه توضیح میدهد که:
روش جزء به کل حاکی از آن است که بهتر است یادگیرنده با یک اپلیکیشن یا فریم ورک سطح متوسط کار کند تا تشویق شود که اطلاعات خود را بین بخش های مختلف برنامه تقسیم کند. تعداد زیادی از کتابها و منابع آنلاین هستند که کاملا از یک روش جزء به کل در منابع خود استفاده می کنند که اغلب آموزش خود را با معرفی متغیرها و دستورات شرطی و ... آغاز می کنند. رویکرد جزء به کل از مباحث پایه ای برنامه نویسی شروع می کند و سپس آهسته آهسته اطلاعات شما را تکمیل می کند. این روش، در مقابل روش کل به جزء، این امکان را برای کاربر ایجاد می کند تا چیزهایی که نامفهوم باشند را برای شما به حداقل برساند.
این برنامه نویس به همه تازه کارها پیشنهاد می کند تا از روش جزء به کل در یادگیری یک زبان برنامه نویسی جدید استفاده کنند، چرا که شما را از پایه قوی بالا می آورد. بعد از یادگیری کامل مقدمات برای شما راحت تر و طبیعی تر خواهد بود تا نسبت به ساختن نرم افزارهای پیچیده تر اقدام نمایید.
برای روشن تر شدن این مسئله می توان نوشتن نگـاه دانلـود را مد نظر قرار داد. به طور مثال اگر شما بخواهید نگـاه دانلـود به زبان آلمانی بنویسید، ابتدا باید با الفبا و دستور زبان آلمانی آشنا شده و پس از تقویت خود از بعد دامنه لغات و سایر مسائل مربوطه، خواهید توانست شروع به نوشتن رمان مد نظر خود به زبان آلمانی کنید.
باز هم همچون سایر حوزه ها، ایالات متحده در این زمینه پیشتاز بوده به طوری که در دهه ی ۱۹۸۰، برخی مدارس ایالات متحده با استفاده از زبانهای بیسیک و لوگو، اقدام به آموزش اصول برنامه نویسی به کودکان کردند اما بخش قابل توجهی از این دوره های آموزشی با شکست مواجه شدند چرا که محیط های برنامه نویسی که در آن زمان برای آموزش برنامه نویسی به کودکان استفاده می شدند خیلی خشک و بدون روح بودند و کودکان تحت هیچ عنوان نمیتوانستند آموخته های خود را با دنیای واقعی مرتبط سازند و همین میشد که به مرور زمان انگیزه ی خود را از دست می داند.
دانشمندان علوم کامپیوتری از شکست زبانهای بیسیک و لوگو در سالیان گذشته درس گرفته و سعی نمودند پلتفرم هایی برای آموزش برنامه نویسی به کودکان ایجاد کنند که از یک سو محیط خشکی نداشته و از سوی دیگر اصول برنامه نویسی را در قالب گیم به کودکان بیاموزند و نتیجه این شد که نرمافزارها، سایتها و اپلیکیشن هایی که در ادامه معرفی می نماییم ابداع شدند:
kodable: اپلیکیشنی برای رنج سنی 4 تا 11 سال برای پلتفرم های آیپد، اندروید، مک و پی سی و تحت وب (برای آشنایی بیشتر با این پلتفرم آموزشی، به مقاله ی آموزش برنامه نویسی به کودکان ۵ الی ۸ ساله با اپلیکیشن Kodable مراجعه نمایید.)
Daisy The Dinosaur: برای گروه سنی ۶ تا ۱۰ سال برای پلتفرم آیپد.
movetheturtle: پلتفرمی برای آیپد و آیفون برای آموزش اصول کدنویسی به کودکان ۵ سال به بالا است.
playcodemonkey: یک محیط بازی آموزشی و سرگرم کننده که کودکان با استفاده از آن میتوانند کدنویسی را تجربه کنند.
thimble.mozilla.org: این سرویس یک ادیتور کد آنلاین است که فضایی برای کودکان علاقمند به طراحی سایت ایجاد میکند تا زبانهای اچ تی ام ال، سی اس اس و جاوا اسکریپت را در حین ساخت پروژه های شخصی بیاموزند.
Kodu: پلتفرم برای ویندوز و ایکس باکس برای ساخت بازی است که در سال ۲۰۰۹ به دنیا عرضه شد.
Turtle Academy: این سایت مجموعه آموزشهای کاربردی برای زبان Logo را برای علاقمندان فراهم آورده است.
code.org: این سایت در سال ۲۰۱۳ توسط برادران هادی و علی پرتوی شروع به کار کرد که جنبش آموزش برنامه نویس به کودکان در سراسر دنیا در قالب Hour of Code یا «زنگ کدنویسی» را به راه انداخته اند.
gethopscotch.com: برای گروه سنی ۹ تا ۱۱ سال برای آیپد و آیفون
gamesalad.com: برای سیستم عامل های مک و ویندوز برای ساخت بازیهای ساده
appinventor.org: نرمافزار تحت وب گوگل تحت رهبری دانشگاه MIT برای ساخت اپ های اندرویدی
kidsruby.com: برنامه یی برای یادگیری زبان روبی در پلتفرم های مک، ویندوز، لینوکس
tynker.com: پلفترمی برای آموزش اصول برنامه نویسی به کودکان است که در دسته بندی های ۷ سال به بالا، ۱۰ سال به بالا و ۱۲ سال به بالا طراحی شده است.
Scratch: زبان برنامه نویسی اسکرچ در ماه مه سال ۲۰۰۷ به دنیا عرضه شد که در حال حاضر هم غولهای فناوری دنیا همچون گوگل، اینتل، لگو، آمازون، گیت هاب و غیره از جمله حامیان اصلی این زبان برنامه نویسی هستند. اسکرچ در قالب محیطی کاملاً بصری و منطبق بر نیازهای کودکان طراحی شده است. این زبان برنامه نویسی با هدف آموزش به کودکان ۸ الی ۱۶ سال طراحی شده است اما این در حالی است که افراد خارج از این طیف سنی نیز میتوانند بنا به نیاز خود از آن استفاده نمایند. معنی لغوی اسکرچ یعنی سرهم بندی کردن به این شکل که کودکان می توانند بلوک های کد مختلف را سر هم بندی کرده و پروژه های مختلفی خلق کنند. کودکان با فراگیری اصول زبان برنامه نویس اسکرچ قادر خواهند گشت تا به ساخت انیمیشن، طراحی بازیهای کامپیوتری و حتی داستان سرایی بپردازند. از جمله مزایای زبان برنامه نویسی اسکرچ نسبت به سایر زبانها میتوان به موارد زیر اشاره کرد:
- پشتیبانی از بیش از ۴۰ زبان زنده دنیا از جمله زبان فارسی
- قابلیت استفاده در سیستم عامل های مختلف از ویندوز و لینوکس گرفته تا مکینتاش و حتی به صورت آنلاین
- برخورداری از جامعه ای از کودکان برنامه نویس به تعداد بیش از یک میلیون کودک برنامه نویس
- ایجاد بستری برای رشد خلاقیت کودکان
- امکان به اشتراک گذاری پروژه های کودکان به صورت آنلاین
- فراهم آوردن فرصتی برای کودکان به منظور رشد مهارت های میان فردی و …
- استفاده از این زبان در دانشگاههای هاروارد و برکلی به عنوان زبان برنامه نویسی مقدماتی
- گرفتن امکان اشتباه کردن کودک
یکی از پروژه هایی که توسط دختر 12 ساله ای در Scratch انجام شده بود، یک کارت کریسمس با تصاویر کارتونی بابانوئل و گوزن های شمالی او بود. هر گوزن یک آلت موسیقی داشت که موقع کلیک بر روی آن ها، هر کدام قسمتی از آهنگ «کریسمس مبارک» را می خواندند. این دختر جوان که با نام BlueSaturn در این سایت معروف است، برای تمام دوستانش لینکی از این پروژه را به عنوان هدیه روز کریسمس فرستاد.
هنگامی که BlueSaturn بر روی کارت کریسمس کار می کرد، متوجه شد که از خلق شخصیت های انیمیشنی لـ*ـذت می برد. بنابراین پروژه ای شامل یه سری از شخصیت های مختلف انیمیشنی از جمله دایناسور، اژدها، اسب پرنده و غیره ایجاد کرد. در یادداشت های مربوط به پروژه، BlueSaturn دیگران را به استفاده از این شخصیت ها تشویق کرد. او شخصیت های سفارشی را نیز مطابق درخواست کاربران ایجاد می کرد. در واقع، او یک سرویس مشاوره راه اندازی کرد که موسسین این سایت نیز هرگز تصور نمی کردند که وب سایت آن ها به این روش نیز بتواند مورد استفاده قرار گیرد.
یکی از اعضای سایت درخواست یک یوزپلنگ برای استفاده در پروژه خود در Scratch کرد، و BlueSaturn انیمیشنی از یک یوزپلنگ بر طبق ویدئویی که در سایت نشنال جئوگرافیک دیده بود، ایجاد کرد. برای یکی دیگر از اعضای سایت، او یک پرنده ایجاد کرد و آموزش مرحله به مرحله ایجاد آن را نیز نوشت.
BlueSaturn در سایت معروف شد و درخواست هایی برای پیوستن به تیم های ساخت انیمیشن های آنلاین دریافت کرد. در یکی از این تیم ها، BlueSaturn با چهار نفر دیگر از کشورهای مختلف برای ایجاد گیم ماجراجویی حرفه ای همکاری می کرد. BlueSaturn شخصیت های انیمیشنی را ایجاد می کرد در حالی که اعضای دیگر سناریوی گیم، موسیقی و افکت های صوتی، و طراحی پس زمینه را انجام می داند.
در فرآیند انجام این پروژه ها، BlueSaturn قطعاً مهارت های برنامه نویسی را یاد می گرفت ولی در کنار آن خیلی چیزهای دیگر را نیز یاد گرفت. او آموخت که چگونه یک مسئله پیچیده را به بخش های ساده تر تقسیم کند، چگونه طرح خود را بارها و بارها اصلاح کند، چگونه باگ ها را شناسایی و رفع کند، چگونه با دیگران همکاری و مشارکت کند، و چگونه در برابر چالش ها استقامت کند. از همه مهم تر هم این که یاد گرفت چگونه کار گروهی کند.
به طور کلی، اعضای فعال وب سایت Scratch یاد می گیرند درباره ی خودشان متفاوت فکر کنند. آن ها خود را به عنوان سازندگان و طراحان باور کردند که می توانند چیزهایی را ایجاد کنند و خودشان را از طریق رسانه ی دیجیتالی مطرح کنند، و نه این که فقط جستجو کنند، چت کنند، و گیم بازی کنند. در حالی که بسیاری از افراد می توانند رسانه دیجیتالی را بخوانند، افرادی که در Scratch فعالیت می کنند می توانند رسانه دیجیتالی را خلق کنند و در جامعه دیجیتالی امروز سهیم باشند.
آینده ی برنامه نویسی
بر اساس گزارشی که مایکروسافت در سال ۲۰۱۲ منتشر کرد، تا سال ۲۰۲۰ چیزی در حدود ۱۴۰۰۰۰۰ فرصت شغلی حوزه ی آی تی و برنامه نویسی در ایالات متحده ی آمریکا به وجود خواهد آمد که دانشگاهها صرفاً ۴۰۰۰۰۰ مورد آن را تأمین میکنند که در چنین شرایطی شاهد یک رشد بیش از ۲۰ درصدی بازار کار برنامه نویسی هستیم! اگرچه فضای آموزشی و کسب و کار ایران تا حدودی متفاوت از سایر کشورهای دنیا است، اما تا حدودی میتوان کمبود برنامه نویسان حرفه یی در سالهای پیش رو را در فضای کسب و کار ایران نیز پیشبینی کرد.
شبکه ی اجتماعی لینکدین که به صورت تخصصی در حوزه ی کسب و کار فعالیت می کند، هر ساله اقدام به انتشار آمار و ارقامی مرتبط با مشاغل مختلف میکند و جالب است بدانیم که در سال ۲۰۱۴، لیست منتشر شده توسط این شرکت که مرتبط با مهارت هایی بودند که اکثر شرکت های تراز اول به دنبال آنها هستند، نوید بخش آینده یی بسیار درخشان برای برنامه نویسان بود. به عبارت دیگر، از این لیست ۲۵ آیتمی، ۱۰ مورد اول مرتبط با برنامه نویسی، توسعه ی نرمافزار و سایر حوزه های وابسته بود.
بر اساس سرویس پرسش و پاسخ استک اورفلو در سال ۲۰۱۶، مشاغل مرتبط با برنامه نویسی همچون مدیر فنی، توسعهدهنده ی موبایل، توسعهدهنده ی وب و غیره در ایالات متحده سالانه چیزی مابین ۱۰۰ تا ۱۵۰ هزار دلار دریافتی دارد. از جمله دیگر کشورهایی که درآمد برنامه نویسان نسبت به میانگین جامعه بالا است، میتوان به کشورهای سوئیس، نروژ و دانمارک اشاره کرد. همین آمار و ارقام نیز حاکی از آنند که چیزی در حدود ۷۰ درصد از برنامه نویسان دنیا به صورت خودآموز اقدام به فراگیری برنامه نویسی کرده اند.
اگر شما هم جزو کسانی هستید که از حقوق اندک خود شاکی می باشید، جالب است بدانید که بر اساس تحقیقی که در ایالات متحده آمریکا انجام شده مشخص گردید که اکثر توسعه دهندگان یا بهتر بگوییم کسانی که از کدنویسی کسب درآمد میکنند از افرادی که به سایر مشاغل مشغولند خوشحال تر هستند و یکی از دلایل خوشحالی ایشان میزان درآمد نسبتاً بالای ایشان است. این تحقیق که توسط سایت SkilledUp رهبری شد حاکی از آن است که ۸۸ درصد از ۳۰۳ توسعهدهنده ای که مورد بررسی قرار گرفتند کاملاً از کار خود راضی بودند و ۱۱ درصد هم تاحدودی راضی بوده و تنها ۱ درصد از این گروه توسعه دهندگان از شغل خود ناراضی بودند. بیشتر این توسعه دهندگان خوشحال در زمینه طراحی اپ موبایل و طراحی واکنش گرا فعالیت می کردند.
این تنها تحقیقی نیست که حاکی از برتری درآمدی توسعه دهندگان نسبت به سایر مشاغل در سرتاسر دنیا بهخصوص ایالات متحده است بلکه تحقیق دیگری هم در سال ۲۰۱۵ توسط مؤسسه CreerBliss انجام شد که بر اساس نتایج این تحقیق، توسعه دهندگی وب جزو ۱۰ شغل خوشحال کننده است. با توجه به این که برنامه نویسان را اغلب میتوان پای یک لپ تاپ شخصی یافت و اکثر ایشان از تنوع در محیط کار، گشت زنی و … محروم هستند، این سؤال به ذهن خطور میکند که چه میشود تا یک برنامه نویس تا اینقدر از شغل خود راضی باشد؟
تعادل کار و زندگی، تنوع شغلی، محل کار و … جزو چیزهایی اند که منجر گردیده تا برنامه نویسان جزو پرسنل خوشحال جامعه کاری محسوب گردند. برخی شرکت کنندگان در این تحقیق اظهار داشتند که ایشان حتی این فرصت را داشتهاند تا از منزل به کار خود ادامه دهند بدون این که نیاز باشد تا سختی تردد مسیر منزل تا محل کار را متحمل شوند. نیاز به توضیح نیست که درآمد قابل توجه برنامه نویسان در کشورهای غربی در زمینه میزان خوشحالی برنامه نویسان مزید علت شده است. اکثر برنامه نویسان در این تحقیق حقوقی مابین ۵۰ هزار تا ۱۴۹ هزار دلار در سال داشتند که جالب است بدانیم ۸۲ درصد از ایشان اظهار داشتهاند که ظرف ۶ ماه آینده قرار است تا ترفیع شغلی هم بگیرند.
به گفته برخی از آن ها، کسانی که به زبانهای پایتون و روبی تسلط دارند شرکت های زیادی را خواهند یافت که به دنبال این دست برنامه نویسان می گردند. بر اساس این تحقیق، ۹۵ درصد از این گروه ۳۰۳ نفری گفتند که نیاز به مهارت های ایشان در بازار کار بسیار بالا است، ۹۰ درصد اظهار داشتند که شغل مورد نیاز آنها همواره موجود است و ۵۷ درصد گفتند که مرتبا فرصت های شغلی متنوعی به ایشان از طرف مدیران منابع انسانی شرکت های مختلف پیشنهاد می شود. ۶۲ درصد هم گفتند شرکتی که در آن مشغول به کار هستند به دنبال توسعه دهندگان بیشتری است.
با چیزهایی که در بالا به آنها اشاره شد، ممکن است وسوسه شده باشید که ای کاش میشد تا پای در دنیای برنامه نویسی می گذاشتید اما وقتی به این فکر میکنید که خب من که سواد آکادمیک در این زمینه ندارم مایوس می شوید! خبر خوشحال کننده این که اکثریت این گروه توسعه دهندگان اظهار داشتند که داشتن مدرک دانشگاهی برای اخذ چنین موقعیت شغلی اصلاً مورد نیاز نیست و ۵۶ درصد از ایشان هم اظهار داشتند که پیش از برنامه نویسی، ایشان در حرفه دیگری مشغول به کار بودهاند و پس از آن که وارد دنیای برنامه نویسی شدند، با دوره های در حین خدمت و دوره های آنلاین آموزش برنامه نویسی، مهارت های مورد نیاز را کسب کردند.
پس به عنوان والدین یک کودک، به این که فرزندتان می تواند با یک اسمارت فون یا تبلت کار کند راضی نباشید. امروزه این دیگر کافی نیست و کودکان برای موفقیت باید بیش از اینها بدانند و همان طور که بزرگتر می شوند بیشتر از گذشته خلق و ابداع کنند. کدنویسی یک مهارت ضروری است حتی قبل از مدرسه رفتن. در استونی -کشوری که اسکایپ را به دنیا معرفی کرد- دانش آموزان در مدارس کدنویسی را می آموزند و کدنویسی یک زنگ اجباری در مدارس است. در یک کلام، نگذارید فرزندانتان از دنیای تکنولوژی عقب بماند!
در پایان هم به این سخن از استیو جابز -اسطوره ی دنیای تکنولوژی- اکتفا میکنیم با این مضمون که
اگر میخواهید بچههای خود را خنگ بار بیاورید تلویزیون در اختیار آنها قرار دهید و اگر هم میخواهید آن را باهوش و خلاق بار بیاورید کامپیوتر در اختیار ایشان قرار دهید.
اگر فرزند شما علاقمند به یادگیری زبان برنامه نویسی اسکرچ است، با مراجعه به دوره ی آموزش زبان برنامه نویسی اسکرچ، می توانید از همین امروز او را به این مهارت ارزشمند تجهیز نمایید.
1 2
توانایی حل مسأله: برنامه نویسی یکی از راههایی است که از آن طریق میتوان تفکر ریاضیاتی را به بچهها آموزش داد. زمانی که کودکان یک برنامه را ساخته و یا مشکلات برنامه یی خراب را رفع می کنند، ایشان با مهارت های حل مسأله دست و پنجه نرم می کنند. با کدنویسی، بچهها به صورت ناخودآگاه به یادگیری ریاضیات می پردازند و با توجه به این که این کار از طریق گیم صورت می گیرد، ایشان اصلاً از این کار خسته نمی شوند.
توانایی تفکر انتقادی: همان طور که قبلاً اشاره شد، آموزش تکنیک های کدنویسی به کودکان کمک می کند تا مهارت های تفکر انتقادی و فرآیندهای حل مسئله را در خود افزایش دهند، مهارت هایی که نه فقط در علوم کامپیوتری بلکه در زندگی شخصی نیز حائز اهمیت اند. این مهارت به آن ها می آموزد که دامنه ی دیدشان را وسعت ببخشند و چالش های بزرگ را به مشکلات قابل حل تر و کوچک تر تقسیم کنند. در واقع، آن ها قادر خواهند بود تا میان مسائل مختلف روابط منطقی ایجاد کنند که به آن ها کمک می کند تا بیاموزند چطور شرایط مختلف را به درستی تحلیل کنند. داشتن این نوع از مهارت فقط مخصوص کسانی که می خواهند در آینده مهندس نرم افزار شوند نیست بلکه برای همه ی افراد ضروری است چرا که به آن ها کمک می کند تا به اهداف بزرگ و مهمی که در زندگی دارند دست یابند.
شگفتی های قصه گویی در حین کدنویسی: کدنویسی در حقیقت مانند نقل یک داستان است، این که بدانید چه طور بنویسید یا فاکتورهای گوناگون بر طبق کدام الگو به دنبال هم قرار بگیرند. بیشتر زبان های برنامه نویسی که برای کودکان طراحی شده اند معمولاً از بازی ها برای آموزش کدنویسی به بچه ها بهره می گیرند و نیازمند این است که بچه ها، یک خط داستانی را دنبال کنند یا حتی خودشان در حین بازی کردن و کدنویسی داستانی را روایت کنند.
رشد خلاقیت: خیلی از بچهها ایدههایی دارند که گاهی اوقات نمیتوانند آنها را از بالقوه به بالفعل درآورند و یا اگر هم بتوانند، نهایتاً در قالب یک فضای دو بعدی همچون نقاشی، آبرنگ و … نمود عینی پیدا خواهند کرد اما با یادگیری مهارت های کدنویسی میتوان این خلاقیت را به شکلی نوین شکوفا ساخت. در واقع، با بهره گیری از زبانهایی که برای کودکان طراحی شده اند، کودکان قادر خواهند بود تا در قالب گیم، انیمیشن، داستان سرایی و … ایدههای خود را از بالقوه بالفعل درآورند.
تقویت اعتماد به نفس: زمانی که کودک یک پروژه ی نرم افزاری هر چند کوچک مثل یک بازی ساده طراحی میکند و آن را با اعضای خانواده و هم سن و سالانش به اشتراک می گذارد، این مسأله منجر به رشد اعتماد به نفس وی خواهد شد چرا که توانسته دست به پیادهسازی کاری بزند که در محیط پیرامونش کمتر کسی توانایی انجام آن را دارد.
یادگیری سریعتر در سنین پایینتر: یادگیری کدنویسی همانند یادگیری یک زبان خارجه است به این شکل که هرچه در سنین پایینتر شروع شود، سریعتر فرا گرفته شده و بالتبع نهادینه تر خواهد شد.
بسیاری از کسانی که در زمینه علوم کامپیوتری صاحب نظر هستند بر این باورند که فراگیری یک زبان برنامه نویسی تا حد بسیار زیادی شبیه به یادگیری زبانی همچون زبانهای فارسی، عربی، انگلیسی و … است. تحقیقاتی که در زمینه فعالیت مغزی بشر از طریق ام آر آی صورت گرفته نیز شاهد این ادعا است که ارتباطی مابین یک زبان زنده دنیا و زبانهای برنامه نویسی وجود دارد چرا که وقتی فردی در دستگاه ام آر آی قرار گرفته و از وی خواسته شد تا کاری را انجام دهد، دانشمندان مشاهده کردند که بخشهایی از مغز وی اکسیژن بیشتری استفاده کردند که این مسأله نشانگر آن است که بخشهای فوق الذکر مرتبط با کاری هستند که فرد مورد آزمایش انجام داده بود. این تحقیق نشان داد که مغز بشر در ارتباط با زبانهای برنامه نویسی نیز عملکردی به همان شیوه ای خواهد داشت که در ارتباط با موسیقی، صحبت کردن، حل مسئله، حفظ کردن چیزی، تکرار کاری، استدلال کردن و … دارا است.
اتفاق جالبتر این که تحقیقات ثابت کردهاند همانطور که ما ماهیچه های خود را تمرین می دهیم، میتوانیم مغز خود را نیز تمرین دهیم. صحبت کردن و برنامه نویسی، هر دو بخش واحدی از مغز را درگیر میکنند لذا این احتمال وجود دارد که برنامه نویسی منجر به بهبود عملکرد افراد در صحبت کردن شود. با این تفاسیر، میتوان نتیجه گرفت که فراگیری برنامه نویسی میتواند منجر به بهبود سایر مهارت های فردی گردد.
یادگیری سایر علوم: فکر کردن به این موضوع که یادگیری یک زبان برنامه نویسی میتواند جایگزین یک زبان خارجی مثل فرانسه، انگلیسی و یا آلمانی باشد موضوع جالبی به نظر میرسد و جالبتر این که تحقیقات هم گواه این مسأله هستند. دانشمندان و محققین بهخصوص آنهایی که در زمینه فرایندهای مغزی تحقیق نموده اند به اثبات رسانده اند که فراگیری برنامه نویسی میتواند کمک به فراگیری سایر علوم و مهارت ها کند. زبانهای برنامه نویسی به منظور حل کردن مسائل مختلف، انجام یک کار و در کل برداشتن باری از روی دوش کاربران برنامههای مختلف ایجاد شده اند. بنابراین ما با یادگیری اصول کدنویسی، اگر هم علاقهای به برنامه نویس شدن نداشته باشیم، راه را برای یادگیری سایر مهارت ها باز خواهیم نمود.
تقویت قدرت استدلال: در تمامی برنامههای کامپیوتری -از برنامههای بزرگ گرفته تا کوچک- برنامه نویس نیازمند استدلال های دقیق است. کودکان در حین کدنویسی با مهارت هایی همچون منطق، تحلیل داده، تحلیل پروژه و شکستن آن به بخشهای کوچک قابل مدیریت و … آشنا می شوند. بسیاری از این مهارت ها منجر به تقویت قدرت استدلال کودک شده که علاوه بر برنامه نویسی، در حل کردن سایر مسائل همچون ریاضیات نیز کاربرد دارند.
تحقیقات حاکی از آنند زمانی که ما قصد نواختن یک قطعه موسیقی داریم، ناحیه ای تحت عنوان Brodmann`s Area 40 که کمی بالای گوش قرار گرفته است فعال می شود. ۱۰ سال پس از این آزمایش، محققین از هفده برنامه نویس خواستند تا مادامی که داخل دستگاه ام آر آی قرار دارند اقدام به تفسیر چند خط کد کنند و جالب است بدانید که نتایج از بسیاری جهات مشابه با نواختن موسیقی بود بهخصوص در ناحیه یی که در بالا بدان اشاره شد. فرایند حل مسأله کاری است که ما هر روزه با آن سر و کار داریم. از حساب کردن فاکتور خرید میوه گرفته تا محاسبه امور مالیاتی یک شرکت بزرگ و این همان چیزی که یادگیری کدنویسی به ما می آموزد.
کمک به درک مفاهیم انتزاعی: مفاهیم انتزاعی همچون ریاضیات برای بسیاری از بچهها به عنوان چالشی بزرگ است اما این در حالی است که با استفاده از برنامه نویسی، میتوان این مفاهیم را به شکلی بصری در معرض دید کودکان قرار داد و ریاضیات را از قالبی خشک، به فضایی توأم با بازی و سرگرمی برای کودکان مبدل ساخت.
نظر عموم بر این عقیده استوار است که برای موفقیت در کدنویسی، باید مهارت های ریاضیاتی را تقویت کرد؛ به عبارت دیگر، هر چه مهارت های ریاضیاتی شما بیشتر باشد، احتمال موفقیت شما در کدنویسی نیز بیشتر خواهد بود. واقعیت امر آن است که به این قضیه از بعدی دیگر نیز میشود نگاه کرد. به عبارت دیگر، دانش کدنویسی به کودکان کمک میکند تا درسهایی همچون ریاضیات را بهتر متوجه شوند. تحقیقات میدانی در مدرسههای ایالات متحده نشان داده کودکانی که برنامه نویسی بلد هستند، در درس ریاضیات نمرههای بهتری کسب می کنند.
یاد گرفتن کار گروهی: امروزه شرکت های تراز اول دنیا در فرایند استخدامی خود، علاوه بر مهارت های فنی، مهارت های تیمی و کار گروهی را نیز بسیار باارزش قلمداد میکنند و به جرأت میتوان گفت که یادگیری مهارت کار گروهی چیزی است که در تمامی عرصه های زندگی به درد کودکانمان خواهد خورد. در برنامه نویسی هم بدون کار گروهی هرگز نمیتوان به موفقیتهای بزرگی دست یافت. کودکان با یادگیری برنامه نویسی، به این مهارت تجهیز خواهند شد و در آینده خواه برنامه نویس شوند و خواه به شغل دیگری مشغول شوند، این مهارت زندگی کاری ایشان را بسیار اثربخش تر خواهد ساخت.
سخت گوشی: بدون هر گونه تعارفی، برنامه نویسی کار نسبتاً دشواری است و اگر کسی بتواند در ابتدای راه فراگیری این مهارت انگیزه ی خود را از دست ندهد، به طور حتم از عهده ی یکی از مهارت های دشوار اما در عین حال لـ*ـذت بخش بازار کار کنونی دنیا برآمده است. پس از شروع برنامه نویسی، به دلیل چالش هایی که این مهارت به همراه دارد، به صورت ناخودآگاه کودکان سخت کوش میشوند و یاد میگیرند که با برخورد به اولین مانع، نمی بایست دست از کوشش و فعالیت خود بکشند.
تاریخچه ی آموزش برنامه نویسی به کودکان
بعضی از افراد پیشنهاد می کنند تا هنگامی که علاقمند به برنامه نویسی شدید بلافاصله باید وارد عمل شده و با استفاده از زبان برنامه نویسی مد نظر خود، آن ایده را به واقعیت تبدیل کنید. در طرف دیگر پیشنهاد می شود که از یک رویکرد جزء به کل استفاده کرده، ابتدا مفاهیم اصلی برنامه نویسی را یاد گرفته و گام به گام و با گذشت زمان شروع به ساختن برنامه یا اپلیکیشن مد نظر نمایید. Semmy Purewal یک برنامه نویس در Netflix که سابقا یک مدرس برنامه نویسی بوده درباره تفاوت بین این دو روش این گونه توضیح میدهد که:
روش جزء به کل حاکی از آن است که بهتر است یادگیرنده با یک اپلیکیشن یا فریم ورک سطح متوسط کار کند تا تشویق شود که اطلاعات خود را بین بخش های مختلف برنامه تقسیم کند. تعداد زیادی از کتابها و منابع آنلاین هستند که کاملا از یک روش جزء به کل در منابع خود استفاده می کنند که اغلب آموزش خود را با معرفی متغیرها و دستورات شرطی و ... آغاز می کنند. رویکرد جزء به کل از مباحث پایه ای برنامه نویسی شروع می کند و سپس آهسته آهسته اطلاعات شما را تکمیل می کند. این روش، در مقابل روش کل به جزء، این امکان را برای کاربر ایجاد می کند تا چیزهایی که نامفهوم باشند را برای شما به حداقل برساند.
این برنامه نویس به همه تازه کارها پیشنهاد می کند تا از روش جزء به کل در یادگیری یک زبان برنامه نویسی جدید استفاده کنند، چرا که شما را از پایه قوی بالا می آورد. بعد از یادگیری کامل مقدمات برای شما راحت تر و طبیعی تر خواهد بود تا نسبت به ساختن نرم افزارهای پیچیده تر اقدام نمایید.
برای روشن تر شدن این مسئله می توان نوشتن نگـاه دانلـود را مد نظر قرار داد. به طور مثال اگر شما بخواهید نگـاه دانلـود به زبان آلمانی بنویسید، ابتدا باید با الفبا و دستور زبان آلمانی آشنا شده و پس از تقویت خود از بعد دامنه لغات و سایر مسائل مربوطه، خواهید توانست شروع به نوشتن رمان مد نظر خود به زبان آلمانی کنید.
باز هم همچون سایر حوزه ها، ایالات متحده در این زمینه پیشتاز بوده به طوری که در دهه ی ۱۹۸۰، برخی مدارس ایالات متحده با استفاده از زبانهای بیسیک و لوگو، اقدام به آموزش اصول برنامه نویسی به کودکان کردند اما بخش قابل توجهی از این دوره های آموزشی با شکست مواجه شدند چرا که محیط های برنامه نویسی که در آن زمان برای آموزش برنامه نویسی به کودکان استفاده می شدند خیلی خشک و بدون روح بودند و کودکان تحت هیچ عنوان نمیتوانستند آموخته های خود را با دنیای واقعی مرتبط سازند و همین میشد که به مرور زمان انگیزه ی خود را از دست می داند.
دانشمندان علوم کامپیوتری از شکست زبانهای بیسیک و لوگو در سالیان گذشته درس گرفته و سعی نمودند پلتفرم هایی برای آموزش برنامه نویسی به کودکان ایجاد کنند که از یک سو محیط خشکی نداشته و از سوی دیگر اصول برنامه نویسی را در قالب گیم به کودکان بیاموزند و نتیجه این شد که نرمافزارها، سایتها و اپلیکیشن هایی که در ادامه معرفی می نماییم ابداع شدند:
kodable: اپلیکیشنی برای رنج سنی 4 تا 11 سال برای پلتفرم های آیپد، اندروید، مک و پی سی و تحت وب (برای آشنایی بیشتر با این پلتفرم آموزشی، به مقاله ی آموزش برنامه نویسی به کودکان ۵ الی ۸ ساله با اپلیکیشن Kodable مراجعه نمایید.)
Daisy The Dinosaur: برای گروه سنی ۶ تا ۱۰ سال برای پلتفرم آیپد.
movetheturtle: پلتفرمی برای آیپد و آیفون برای آموزش اصول کدنویسی به کودکان ۵ سال به بالا است.
playcodemonkey: یک محیط بازی آموزشی و سرگرم کننده که کودکان با استفاده از آن میتوانند کدنویسی را تجربه کنند.
thimble.mozilla.org: این سرویس یک ادیتور کد آنلاین است که فضایی برای کودکان علاقمند به طراحی سایت ایجاد میکند تا زبانهای اچ تی ام ال، سی اس اس و جاوا اسکریپت را در حین ساخت پروژه های شخصی بیاموزند.
Kodu: پلتفرم برای ویندوز و ایکس باکس برای ساخت بازی است که در سال ۲۰۰۹ به دنیا عرضه شد.
Turtle Academy: این سایت مجموعه آموزشهای کاربردی برای زبان Logo را برای علاقمندان فراهم آورده است.
code.org: این سایت در سال ۲۰۱۳ توسط برادران هادی و علی پرتوی شروع به کار کرد که جنبش آموزش برنامه نویس به کودکان در سراسر دنیا در قالب Hour of Code یا «زنگ کدنویسی» را به راه انداخته اند.
gethopscotch.com: برای گروه سنی ۹ تا ۱۱ سال برای آیپد و آیفون
gamesalad.com: برای سیستم عامل های مک و ویندوز برای ساخت بازیهای ساده
appinventor.org: نرمافزار تحت وب گوگل تحت رهبری دانشگاه MIT برای ساخت اپ های اندرویدی
kidsruby.com: برنامه یی برای یادگیری زبان روبی در پلتفرم های مک، ویندوز، لینوکس
tynker.com: پلفترمی برای آموزش اصول برنامه نویسی به کودکان است که در دسته بندی های ۷ سال به بالا، ۱۰ سال به بالا و ۱۲ سال به بالا طراحی شده است.
Scratch: زبان برنامه نویسی اسکرچ در ماه مه سال ۲۰۰۷ به دنیا عرضه شد که در حال حاضر هم غولهای فناوری دنیا همچون گوگل، اینتل، لگو، آمازون، گیت هاب و غیره از جمله حامیان اصلی این زبان برنامه نویسی هستند. اسکرچ در قالب محیطی کاملاً بصری و منطبق بر نیازهای کودکان طراحی شده است. این زبان برنامه نویسی با هدف آموزش به کودکان ۸ الی ۱۶ سال طراحی شده است اما این در حالی است که افراد خارج از این طیف سنی نیز میتوانند بنا به نیاز خود از آن استفاده نمایند. معنی لغوی اسکرچ یعنی سرهم بندی کردن به این شکل که کودکان می توانند بلوک های کد مختلف را سر هم بندی کرده و پروژه های مختلفی خلق کنند. کودکان با فراگیری اصول زبان برنامه نویس اسکرچ قادر خواهند گشت تا به ساخت انیمیشن، طراحی بازیهای کامپیوتری و حتی داستان سرایی بپردازند. از جمله مزایای زبان برنامه نویسی اسکرچ نسبت به سایر زبانها میتوان به موارد زیر اشاره کرد:
- پشتیبانی از بیش از ۴۰ زبان زنده دنیا از جمله زبان فارسی
- قابلیت استفاده در سیستم عامل های مختلف از ویندوز و لینوکس گرفته تا مکینتاش و حتی به صورت آنلاین
- برخورداری از جامعه ای از کودکان برنامه نویس به تعداد بیش از یک میلیون کودک برنامه نویس
- ایجاد بستری برای رشد خلاقیت کودکان
- امکان به اشتراک گذاری پروژه های کودکان به صورت آنلاین
- فراهم آوردن فرصتی برای کودکان به منظور رشد مهارت های میان فردی و …
- استفاده از این زبان در دانشگاههای هاروارد و برکلی به عنوان زبان برنامه نویسی مقدماتی
- گرفتن امکان اشتباه کردن کودک
یکی از پروژه هایی که توسط دختر 12 ساله ای در Scratch انجام شده بود، یک کارت کریسمس با تصاویر کارتونی بابانوئل و گوزن های شمالی او بود. هر گوزن یک آلت موسیقی داشت که موقع کلیک بر روی آن ها، هر کدام قسمتی از آهنگ «کریسمس مبارک» را می خواندند. این دختر جوان که با نام BlueSaturn در این سایت معروف است، برای تمام دوستانش لینکی از این پروژه را به عنوان هدیه روز کریسمس فرستاد.
هنگامی که BlueSaturn بر روی کارت کریسمس کار می کرد، متوجه شد که از خلق شخصیت های انیمیشنی لـ*ـذت می برد. بنابراین پروژه ای شامل یه سری از شخصیت های مختلف انیمیشنی از جمله دایناسور، اژدها، اسب پرنده و غیره ایجاد کرد. در یادداشت های مربوط به پروژه، BlueSaturn دیگران را به استفاده از این شخصیت ها تشویق کرد. او شخصیت های سفارشی را نیز مطابق درخواست کاربران ایجاد می کرد. در واقع، او یک سرویس مشاوره راه اندازی کرد که موسسین این سایت نیز هرگز تصور نمی کردند که وب سایت آن ها به این روش نیز بتواند مورد استفاده قرار گیرد.
یکی از اعضای سایت درخواست یک یوزپلنگ برای استفاده در پروژه خود در Scratch کرد، و BlueSaturn انیمیشنی از یک یوزپلنگ بر طبق ویدئویی که در سایت نشنال جئوگرافیک دیده بود، ایجاد کرد. برای یکی دیگر از اعضای سایت، او یک پرنده ایجاد کرد و آموزش مرحله به مرحله ایجاد آن را نیز نوشت.
BlueSaturn در سایت معروف شد و درخواست هایی برای پیوستن به تیم های ساخت انیمیشن های آنلاین دریافت کرد. در یکی از این تیم ها، BlueSaturn با چهار نفر دیگر از کشورهای مختلف برای ایجاد گیم ماجراجویی حرفه ای همکاری می کرد. BlueSaturn شخصیت های انیمیشنی را ایجاد می کرد در حالی که اعضای دیگر سناریوی گیم، موسیقی و افکت های صوتی، و طراحی پس زمینه را انجام می داند.
در فرآیند انجام این پروژه ها، BlueSaturn قطعاً مهارت های برنامه نویسی را یاد می گرفت ولی در کنار آن خیلی چیزهای دیگر را نیز یاد گرفت. او آموخت که چگونه یک مسئله پیچیده را به بخش های ساده تر تقسیم کند، چگونه طرح خود را بارها و بارها اصلاح کند، چگونه باگ ها را شناسایی و رفع کند، چگونه با دیگران همکاری و مشارکت کند، و چگونه در برابر چالش ها استقامت کند. از همه مهم تر هم این که یاد گرفت چگونه کار گروهی کند.
به طور کلی، اعضای فعال وب سایت Scratch یاد می گیرند درباره ی خودشان متفاوت فکر کنند. آن ها خود را به عنوان سازندگان و طراحان باور کردند که می توانند چیزهایی را ایجاد کنند و خودشان را از طریق رسانه ی دیجیتالی مطرح کنند، و نه این که فقط جستجو کنند، چت کنند، و گیم بازی کنند. در حالی که بسیاری از افراد می توانند رسانه دیجیتالی را بخوانند، افرادی که در Scratch فعالیت می کنند می توانند رسانه دیجیتالی را خلق کنند و در جامعه دیجیتالی امروز سهیم باشند.
آینده ی برنامه نویسی
بر اساس گزارشی که مایکروسافت در سال ۲۰۱۲ منتشر کرد، تا سال ۲۰۲۰ چیزی در حدود ۱۴۰۰۰۰۰ فرصت شغلی حوزه ی آی تی و برنامه نویسی در ایالات متحده ی آمریکا به وجود خواهد آمد که دانشگاهها صرفاً ۴۰۰۰۰۰ مورد آن را تأمین میکنند که در چنین شرایطی شاهد یک رشد بیش از ۲۰ درصدی بازار کار برنامه نویسی هستیم! اگرچه فضای آموزشی و کسب و کار ایران تا حدودی متفاوت از سایر کشورهای دنیا است، اما تا حدودی میتوان کمبود برنامه نویسان حرفه یی در سالهای پیش رو را در فضای کسب و کار ایران نیز پیشبینی کرد.
شبکه ی اجتماعی لینکدین که به صورت تخصصی در حوزه ی کسب و کار فعالیت می کند، هر ساله اقدام به انتشار آمار و ارقامی مرتبط با مشاغل مختلف میکند و جالب است بدانیم که در سال ۲۰۱۴، لیست منتشر شده توسط این شرکت که مرتبط با مهارت هایی بودند که اکثر شرکت های تراز اول به دنبال آنها هستند، نوید بخش آینده یی بسیار درخشان برای برنامه نویسان بود. به عبارت دیگر، از این لیست ۲۵ آیتمی، ۱۰ مورد اول مرتبط با برنامه نویسی، توسعه ی نرمافزار و سایر حوزه های وابسته بود.
بر اساس سرویس پرسش و پاسخ استک اورفلو در سال ۲۰۱۶، مشاغل مرتبط با برنامه نویسی همچون مدیر فنی، توسعهدهنده ی موبایل، توسعهدهنده ی وب و غیره در ایالات متحده سالانه چیزی مابین ۱۰۰ تا ۱۵۰ هزار دلار دریافتی دارد. از جمله دیگر کشورهایی که درآمد برنامه نویسان نسبت به میانگین جامعه بالا است، میتوان به کشورهای سوئیس، نروژ و دانمارک اشاره کرد. همین آمار و ارقام نیز حاکی از آنند که چیزی در حدود ۷۰ درصد از برنامه نویسان دنیا به صورت خودآموز اقدام به فراگیری برنامه نویسی کرده اند.
اگر شما هم جزو کسانی هستید که از حقوق اندک خود شاکی می باشید، جالب است بدانید که بر اساس تحقیقی که در ایالات متحده آمریکا انجام شده مشخص گردید که اکثر توسعه دهندگان یا بهتر بگوییم کسانی که از کدنویسی کسب درآمد میکنند از افرادی که به سایر مشاغل مشغولند خوشحال تر هستند و یکی از دلایل خوشحالی ایشان میزان درآمد نسبتاً بالای ایشان است. این تحقیق که توسط سایت SkilledUp رهبری شد حاکی از آن است که ۸۸ درصد از ۳۰۳ توسعهدهنده ای که مورد بررسی قرار گرفتند کاملاً از کار خود راضی بودند و ۱۱ درصد هم تاحدودی راضی بوده و تنها ۱ درصد از این گروه توسعه دهندگان از شغل خود ناراضی بودند. بیشتر این توسعه دهندگان خوشحال در زمینه طراحی اپ موبایل و طراحی واکنش گرا فعالیت می کردند.
این تنها تحقیقی نیست که حاکی از برتری درآمدی توسعه دهندگان نسبت به سایر مشاغل در سرتاسر دنیا بهخصوص ایالات متحده است بلکه تحقیق دیگری هم در سال ۲۰۱۵ توسط مؤسسه CreerBliss انجام شد که بر اساس نتایج این تحقیق، توسعه دهندگی وب جزو ۱۰ شغل خوشحال کننده است. با توجه به این که برنامه نویسان را اغلب میتوان پای یک لپ تاپ شخصی یافت و اکثر ایشان از تنوع در محیط کار، گشت زنی و … محروم هستند، این سؤال به ذهن خطور میکند که چه میشود تا یک برنامه نویس تا اینقدر از شغل خود راضی باشد؟
تعادل کار و زندگی، تنوع شغلی، محل کار و … جزو چیزهایی اند که منجر گردیده تا برنامه نویسان جزو پرسنل خوشحال جامعه کاری محسوب گردند. برخی شرکت کنندگان در این تحقیق اظهار داشتند که ایشان حتی این فرصت را داشتهاند تا از منزل به کار خود ادامه دهند بدون این که نیاز باشد تا سختی تردد مسیر منزل تا محل کار را متحمل شوند. نیاز به توضیح نیست که درآمد قابل توجه برنامه نویسان در کشورهای غربی در زمینه میزان خوشحالی برنامه نویسان مزید علت شده است. اکثر برنامه نویسان در این تحقیق حقوقی مابین ۵۰ هزار تا ۱۴۹ هزار دلار در سال داشتند که جالب است بدانیم ۸۲ درصد از ایشان اظهار داشتهاند که ظرف ۶ ماه آینده قرار است تا ترفیع شغلی هم بگیرند.
به گفته برخی از آن ها، کسانی که به زبانهای پایتون و روبی تسلط دارند شرکت های زیادی را خواهند یافت که به دنبال این دست برنامه نویسان می گردند. بر اساس این تحقیق، ۹۵ درصد از این گروه ۳۰۳ نفری گفتند که نیاز به مهارت های ایشان در بازار کار بسیار بالا است، ۹۰ درصد اظهار داشتند که شغل مورد نیاز آنها همواره موجود است و ۵۷ درصد گفتند که مرتبا فرصت های شغلی متنوعی به ایشان از طرف مدیران منابع انسانی شرکت های مختلف پیشنهاد می شود. ۶۲ درصد هم گفتند شرکتی که در آن مشغول به کار هستند به دنبال توسعه دهندگان بیشتری است.
با چیزهایی که در بالا به آنها اشاره شد، ممکن است وسوسه شده باشید که ای کاش میشد تا پای در دنیای برنامه نویسی می گذاشتید اما وقتی به این فکر میکنید که خب من که سواد آکادمیک در این زمینه ندارم مایوس می شوید! خبر خوشحال کننده این که اکثریت این گروه توسعه دهندگان اظهار داشتند که داشتن مدرک دانشگاهی برای اخذ چنین موقعیت شغلی اصلاً مورد نیاز نیست و ۵۶ درصد از ایشان هم اظهار داشتند که پیش از برنامه نویسی، ایشان در حرفه دیگری مشغول به کار بودهاند و پس از آن که وارد دنیای برنامه نویسی شدند، با دوره های در حین خدمت و دوره های آنلاین آموزش برنامه نویسی، مهارت های مورد نیاز را کسب کردند.
پس به عنوان والدین یک کودک، به این که فرزندتان می تواند با یک اسمارت فون یا تبلت کار کند راضی نباشید. امروزه این دیگر کافی نیست و کودکان برای موفقیت باید بیش از اینها بدانند و همان طور که بزرگتر می شوند بیشتر از گذشته خلق و ابداع کنند. کدنویسی یک مهارت ضروری است حتی قبل از مدرسه رفتن. در استونی -کشوری که اسکایپ را به دنیا معرفی کرد- دانش آموزان در مدارس کدنویسی را می آموزند و کدنویسی یک زنگ اجباری در مدارس است. در یک کلام، نگذارید فرزندانتان از دنیای تکنولوژی عقب بماند!
در پایان هم به این سخن از استیو جابز -اسطوره ی دنیای تکنولوژی- اکتفا میکنیم با این مضمون که
اگر میخواهید بچههای خود را خنگ بار بیاورید تلویزیون در اختیار آنها قرار دهید و اگر هم میخواهید آن را باهوش و خلاق بار بیاورید کامپیوتر در اختیار ایشان قرار دهید.
اگر فرزند شما علاقمند به یادگیری زبان برنامه نویسی اسکرچ است، با مراجعه به دوره ی آموزش زبان برنامه نویسی اسکرچ، می توانید از همین امروز او را به این مهارت ارزشمند تجهیز نمایید.
1 2
سایت دانلود رمان نگاه دانلود