فهرست عنوانها
در سال 2021 و البته همیشه کدنویسی جزء مهارتهای پر تقاضا بین نیروی کار است. در فهرست شغلهای پرطرفدار Glassdoor، از هر 25 سمت شغلی، 8 مورد مربوط به حوزه فناوری هستند. در یک گزارش دیگر هم اعلام شده که حجم تقاضا برای کدنویسی نسبت به سایر مشاغل 12 درصد بیشتر رشد میکند.
با توجه به این نکات اگر شما هم جویای کار هستید، برنامه نویسی میتواند انتخاب خوبی برای شما باشد اما این مهارت جزء مهارتهایی است که خیلی از افراد از آن ترس و واهمه دارند چون در جریان نیستند که باید کار را از کجا شروع کنند.
بنابراین در این مطلب نگاهی به دو روش آموزش کدنویسی خواهیم داشت یعنی کدنویسی بالا به پایین و پایین به بالا. همچنین فهرستی از منابع قابل استفاده برای یادگیری هر دو نوع برنامه نویسی را به شما معرفی میکنیم.
اگر برای شروع برنامه نویسی به دنبال انتخاب یک لپ تاپ مناسب هستید، میتوانید به این مطلب سر بزنید.
انتخاب نوع برنامه نویسی: بالا به پایین یا پایین به بالا
در حوزه توسعه نرمافزار دو روش کلی وجود دارد: بالا به پایین و پایین به بالا.
طرفداران روش بالا به پایین آموزش را از اصول پایه شروع کرده و به تدریج این اصول را برای حل مسائل پیشرفته تر استفاده میکنند و هر چه جلوتر میروند، سطح دشواری را افزایش میدهند. اما در روش پایین به بالا، برنامه نویس از همان ابتدا بدون پرداختن به مسائل انتزاعی سعی به حل مسائل میکند.
در ادامه نگاهی به مزایا و معایب هر دو روش خواهیم داشت.
1. روش بالا به پایین: ساخت اپلیکیشن از همان روز اول
در این استراتژی، کارآموزان از همان روز اول شروع به حل مسائل پیچیده میکنند.
گرچه در این روش کارآموز یک درک کامل و قوی از اصول تئوری که پشت مفاهیم برنامه نویسی قرار دارند کسب نمیکند اما این روش به شما نشان میدهد که با یادگیری علوم کامپیوتر چه کارهایی میتوانید انجام دهید و یک دستاورد ملموس در اختیار برنامه نویسان قرار میدهد یعنی تولید برنامه از پایه.
مزایای آموزش بالا به پایین عبارتند از:
- جذابیت آموزش
- کارآموزان از همان روز اول نمونه کار و پروژه به دست میآورند
- کارآموزان آموزش میبینند که چطور ایدههای انتزاعی را به برنامه نویسی تبدیل کنند
معایب آموزش بالا به پایین عبارتند از:
- اتکا به دستورالعملهای ذکر شده در مطالب آموزشی
- نداشتن درک کامل از اصول پایه
- مشکل در تکرار کدهایی که توسط مربی نوشته شده اند
2. روش پایین به بالا: شروع از پایه
یادگیری توسعه نرمافزار با شروع از مفاهیم سطح پایین (مثل رشتهها، متغیرها، حلقهها و توابع) و سپس افزایش تدریجی سطح دشواری یکی دیگر از استراتژیهای آموزشی پرطرفدار در بیشتر طرحهای آموزش کدنویسی است.
در این روش به جای اینکه برنامه نویس سعی به بررسی و یادگیری یک زبان داشته باشد، آموزش دهنده مفاهیم کلی برنامه نویسی که در خیلی از این زبانها وجود دارند را به وی آموزش میدهد (مثل تابع یا OOP).
مزایای آموزش پایین به بالا، عبارتند از:
- دستیابی به یک دانش کلی از مفاهیم پایه
- راحتی برنامه ریزی دوره آموزشی
- با پیشرفت برنامه نویس، یادگیری آسان تر و قابل مدیریت تر میشود.
معایب آموزش پایین به بالا عبارتند از:
- ماهها طول میکشد تا مهارت لازم برای نوشتن برنامه از پایه را پیدا کنید.
- ممکن است خیلی زود خسته کننده شود.
اگر از ابزارهای درست و مناسب استفاده کنید، هر دو روش برای آموزش برنامه نویسی جذاب و جالب هستند. بنابراین حالا که با مفهوم و تعریف کلی برنامه نویسی پایین به بالا و بالا به پایین آشنا شدید، به معرفی چند منبع در این زمینه میپردازیم.
بهترین منابع برای آموزش بالا به پایین
در ادامه شما را با منابعی آشنا میکنیم که کاربردهای واقعی کدنویسی را آموزش داده و در عین حال یک درک کلی از اصول پایه برای کدنویسها فراهم میکنند. این بخش به چهار قسمت تقسیم شده: توسعه نرمافزار بک اند، توسعه نرمافزار فرانت اند، توسعه اپلیکیشنهای موبایل و علوم داده.
توسعه فرانت اند
1. CodeGym Java Tutorial
Codegym.cc یک دوره آموزش جاوای عملی است. 80 درصد از آموزشهای این دوره شامل کارهای برنامه نویسی هستند که در شرایط واقعی مورد استفاده قرار میگیرند و 20 درصد باقیمانده هم به مفاهیم نظری اختصاص دارد.
فرایند آموزش با Codegym.cc بسیار جذاب است و کوئیزهای مختلفی دارد که مفاهیم پایه (نحوه نوشتن دستورات، برنامه نویسی چند ریسمانی، OOP) و پیشرفته (JDBC، سرولتها، JSP) را به کارآموزان آموزش میدهد.
2. Derek Banas
Derek Banas یکی از بهترین و جذاب ترین کانالهای یوتیوب برای آموزش برنامه نویسی است.
ویدیوهای این کانال نحوه ساختن پروژههای جاوااسکریپت، اپلیکیشنهای موبایلی، استایل شیت و انواع پروژههای دیگر را به کارآموزان آموزش میدهند.
دنبال کردن آموزشهای Derek خیلی زمان نمیبرد. تنها با مشاهده 5 ویدیو میتوانید بازی تتریس را بسازید.
3. CS Dojo
YK Sugi سازنده این کانال و مهندس نرمافزار گوگل دائماً فیلم آموزشهایی گام به گام و کامل را در کانال خودش منتشر میکند که به برنامه نویسها امکان میدهد مهارتهای برنامه نویسی خودشان را ارتقاء دهند.
مثلاً در این ویدیو، نحوه ساختن بازی اسنیک (مار) به زبان پایتون آموزش داده شده است.
منابع مفید برای طراحی فرانت اند نرمافزار
4. David Walsh
Mr. Walsh که قبلاً یکی از توسعه دهندگان موزیلا بوده، تجربیات زیادی دارد که با برنامه نویسان تازه کار به اشتراک میگذارد.
در این سایت در رابطه با جاوا اسکریپت، Node.js، React.js صحبت شده و نکاتی درباره برنامه نویسی فرانت اند آموزش داده میشود.
برای حوزه علوم داده
5. Towards Data Science
در این جامعه آنلاین بیش از 600 هزار کارشناس حوزه علوم داده و علاقمندان این حوزه به بیان دیدگاهها و مطالعاتشان در این زمینه میپردازند.
در این سایت میتوانید روشهایی برای استفاده از مفاهیم نظری جهت حل مسائل واقعی و پیدا کردن پاسخ سوالات مهم پیدا کنید.
6. Elite Data Science
اولویت اصلی این منبع آموزش بالا به پایین است و اینکه کارشناسان حوزه علوم داده هیچ وقت تصویر کلی و کامل تر را گم نکنند.
با این سایت، کارآموزان میتوانند به جای طی کردن آموزشهای طولانی با استفاده از ترفندهای برنامه نویسی و منابع مختلف، کدنویسی را به راحتی آموزش ببینند.
برای طراحی اپلیکیشنهای موبایلی
7. انجمنهای برنامه نویسی اندروید
اگر طرفداران یادگیری ریشه دار در کاربردهای واقعی هستید، میتوانید در انجمنهای برنامه نویسی اندروید مشارکت کنید.
در این انجمنها کارآموزان برنامه نویسی میتوانند از تجربیات سایر برنامه نویسها استفاده کرده و راههایی برای حل چالشهایی که در طراحی اپلیکیشن با آنها روبرو میشوند، پیدا کنند.
8. Try Git
اگر طرفدار آموزش در قالب متون ساده هستید، میتوانید کار را از طریق یکسری تمرین و چالش تعاملی یاد بگیرید.
وبسایت Git به کارآموزان برنامه نویسی امکان میدهد برنامه نویسی را از طریق فراخوانی فرمانها در پنجره مرورگر امتحان کنند، حالتهای مختلف اجرای دستورات از پیش ساخته را بررسی کنند و اپلیکیشن Git-it را دانلود کنند. این اپلیکیشن اصول برنامه نویسی را از طریق یک ترمینال برنامه نویسی آموزش میدهد.
بهترین منابع برای آموزش برنامه نویسی پایین به بالا
برای توسعه نرمافزار بک اند
1. خودآموز برنامه نویسی حرفه ای
Cory Althoff نویسنده این کتاب مهندسی است که خودش اصول مهندسی را یاد گرفته و بعداً برای کار در شرکت ایبیام استخدام شده است.
مهم تر اینکه “خودآموز برنامه نویسی” او یک راهنمای عمومی و ساده است که میتوان برای فناوریهای مختلف از آن استفاده کرد. این کتاب برنامه نویسی شی گرا، اصول معماری و الگوریتمها را آموزش داده و بهترین روشهای کدنویسی را در اختیار برنامه نویسان قرار میدهد.
2. برنامه نویسی با Mosh
Mosh Hamedani با آپلود هر مطلب به هزاران دانشجوی برنامه نویسی در سطح جهان کمک میکند.
او تا سال 2021 مطالب مختلفی را منتشر کرده که مباحث مختلف از اصول برنامه نویسی بک اند تا فرانت اند را پوشش میدهد.
پس از مشاهده ویدیوهای یک ساعته او، درک خوبی از نحوه نوشتن دستورالعملهای پایتون، جاوا و MySQL کسب میکنید.
3. MIT OpenCourseware
MIT هم برای اشخاصی که موفق به حضور در آموزشهای برنامه نویسی خودش نشده اند، یک دوره خاص برگزار کرده که همه اصول برنامه نویسی شی گرا و پایتون را به آنها آموزش میدهد. آموزش مهندسی پایگاه داده، هوش مصنوعی و مطالب دیگر هم در این دورهها وجود دارد. با مطالعه مطالب این دوره میتوانید یک دانش کلی از علوم کامپیوتر کسب کنید.
برای توسعه فرانت اند
4. شبکه توسعه دهندگان موزیلا
اگر به دنبال اطلاعات کامل درباره برنامه نویسی جاوااسکریپت و CSS هستید، شبکه توسعه دهندگان موزیلا قادر است نیاز شما را رفع کند. این پلتفرم با ارائه مجموعه ای از آموزشهای مبتدی تا پیشرفته، پایه و اساس کامل برای تبدیل شدن به یک برنامه نویس فرانت اند کامل را در اختیار شما قرار میدهد.
5. JavaScript For Cats
اگر به دنبال راهی جذاب و سرگروم کننده برای یادگیری اصول پایه جاوااسکریپت هستید، توصیه ما به شما همین منبع است.
JS for cats آموزش را با استفاده از مثالهای جذاب و کاربردهای واقعی انجام میدهد و به همین دلیل کار با آن جذابیت زیادی دارد و کارآموز را خسته نمیکند.
برای هوش مصنوعی و علوم داده
6. Practical Statistics for Data Scientists
این کتاب حاوی مجموعه ای کامل از اصول مورد استفاده دانشمندان علوم داده است.
از آنجایی که تعداد خیلی کمی از علاقمندان به علوم داده آموزش رسمی و علمی میبینند، وجود چنین منابعی برای پر کردن این خلأ ضروری است.
خوشبختانه Practical Statistics For Data Scientists فراتر از یک کتاب آمار ساده است و هر مفهوم را با مثالهایی واقعی تشریح میکند.
برای کنترل نسخهها
7. Git Immersion
Git Immersion کتابخانه ای متشکل از داکیومنتهای مختلف است که به برنامه نویسها در زمینه اصول کار با مخازن، ساختن پروژه، ایجاد تغییر، کامیت کردن و مرحله بندی پروژهها آموزش میدهد.
این دوره آموزشی انعطاف پذیری بسیار زیادی دارد و میتوانید آن را متناسب با پروژه مورد نظرتان تغییر دهید.
نتیجه گیری
بسته به اینکه از کدام روش برای یادگیری برنامه نویسی استفاده میکنید، داشتن یک مجموعه ابزار برای انجام این کار بسیار مفید است.
می توانید با استفاده از وبلاگها، پلتفرمها و کانالهای یوتیوب معرفی شده در این مطلب یک برنامه آموزشی جذاب برای خودتان طراحی کرده و در زمینه برنامه نویسی جاوا، پایتون و هوش مصنوعی مهارت کسب کنید.
صرف نظر از زبان انتخابی دقت داشته باشید که آنچه باعث تکمیل مهارتهای شما میشود، تمرین است پس به تمرین و تلاش سخت ادامه دهید تا خیلی زود تبدیل به یک کدنویس حرفه ای شوید.