دانشجویان زیادی وجود دارند که یادگیری برنامه نویسی را با انرژی و شور زیادی شروع میکنند اما متاسفانه در حین یادگیری انرژی خود را از دست میدهند.
بیشتر دانشجویان با موانع مشابهی دست و پنجه گرم میکنند، اما به محض اینکه یاد بگیرند چطور به این موانع غلبه کنند منافع زیادی بدست میآورند:
- از فرایند یادگیری خیلی بیشتر لذت میبرند.
- سریعتر پیشرفت میکنند.
- پشتکار بیشتری دارند و راحت دست نمیکشند.
- در زمان کدنویسی بیشتر خودکفا میشوند.
خب این موانعی که از آنها صحبت کردیم چه نوع موانعی هستند و چطور میتوانیم به آنها غلبه کنیم؟
1. شما برای دلایل درستی آن را انجام نمیدهید
قبل از اینکه به سراغ موانع برویم، میخواهم به اهمیت زیاد انگیزه در فرایند یادگیری تاکید کنم.
برنامه نویسی را فقط برای اینکه از کسی شنیدید که باحال است یا درآمد خوبی دارد یاد نگیرید!
آن رایادبگیرید چون میخواهید مشکلات خود را حل کنید، زندگی خود را خودکار کنید یا ارتقا دهید، نرمافزاری بسازید که به مردم کمک کنید.
اگر صرفا بخاطر علاقه به برنامه نویسی و بدست آوردن شغل آن رایاد بگیرید در راه یادگیری آن ممکن است با انگیزه شدیدی برای دست کشیدن روبرو شوید.
این موضوع زمانی اتفاق میافتد که مسائل خیلی سخت و تجربه یادگیری دردناک میشود. در این زمان احتمالا شما با خود خواهید گفت که برنامه نویسی را دیگر دوست ندارید، برنامه نویسی مناسب شما نیست، یا شما برای اینکار زاده نشدهاید.
بخاطر همین است که شما باید برای تمام کردن یک پروژه یا حل کردن یک مسئله هدف گذاری کنید. اگر شما پروژهای یا مسئلهای در ذهن دارید میتوانید به خود بگویید:
“این شاید الان یک تجربه لذت بخش نباشد ، اما من واقعا میخواهم که این مسئله را حل کنم، پس قراره که به خودم فشار بیارم و به این مشکل غلبه کنم."
2.شما نمیدانید با کدام تکنولوژی شروع کنید
خیلی از مردم میپرسند که :”اول کدام زبان برنامه نویسی را باید یاد بگیرم؟". این مشکل بخاطر این است که آنها نمیدانند که اصلا چرا میخواهند برنامه نویسی را یادبگیرند. وقتی شما یک پروژه در ذهنتان داشته باشید راحت است که تصمیم بگیرین با کدام زبان و تکنولوژی باید شروع کنید:
- اگر میخواهید برنامههای iOS درست کنید با Swift و Objective C شروع کنید.
- اگر میخواهید برنامههای اندرویدی درست کنید با Java شروع کنید.
- اگر میخواهید وبسایت درست کنید با JavaScript شروع کنید.
این روزها تقریبا شما میتوانید با استفاده از JavaScript هرنوع پروژهای از برنامههای وب و موبایل ساده گرفته تا پروژههای پیشرفته را پیاده سازی کنید. از این زبان در بیشتر صنعتها و زمینهها استفاده میشود پس یادگیری آن برتری خوبی به شما میدهد.
اگر هنوزم در انتخاب زبان شک دارید میتوانید از توصیههای یک برنامه نویس کمک بگیرید. برنامه نویسان میتوانند با توجه به پروژه مورد نظر شما تکنولوژیها و زبانهای مورد نیازتان را پیشنهاد دهند.
بخاطر داشته باشید که دانشی که در یک زبان برنامه نویسی بدست میآورید در اکثر مواقع قابل انتقال به زبان دیگر هستند پس ریسک زیادی در این مرحله نمیکنید.
3. شما نمیتوانید تئوریهایی که یاد گرفتید را اعمال کنید و خود را سرزنش خواهید کرد
زمانی که تکنولوژی ای را برای یادگیری انتخاب می کنید راحت است که مباحث تئوری آن را سریع یاد بگیرید. هزاران دوره آموزشی رایگان و غیر رایگان براییادگیری وجود دارد.
اکثر دانشجویان به راحتی میتوانند مباحث تئوری را درک کرده و عملکرد قطعه کدی را به راحتی توضیح دهند. مباحث تئوری فقط یکسری مفاهیم هستند که هرکس که بخواهد میتواند آن را در طی چند روز حفظ کند. پس مشکل از کجاست؟
بزرگترین مشکلی که دانشجویان دارند استفاده واقعی از این مفاهیم و نوشتن کد با آنهاست. این به این معنی است که برنامه نویسی در واقع یک مهارت است! تا به آب نزنی شناگر نشوی. شما ممکن است بتوانید مفاهیم تئوری را خوب درک کرده و حتی مانند یک استاد حرفهای به کسی آموزش دهید اما بالاخره باید وارد آب شوید تا شناکردن را یاد بگیرید! مهارت کدنویسی با ساعتها تمرین کدنویسی و درگیری با مشکلات و باگها بدست خواهد آمد.
چطور مهارت کدنویسی خود را افزایش دهید؟
- یک پروژه پیشرفته برای خود تعریف کنید. چیزی که شما را هیجان زده میکند.
- آن را به قسمتهای کوچک تقسیم کنید.برای مثال تسکی مانند: "پیاده سازی صفحه ورود"یک تسک خیلی بزرگ است. قسمتهایی که تعیین میکنید نباید برای پیاده سازی نیاز به بیشتر از 20 خط کد داشته باشد.در پایین نکاتی است که شما را در این فرایند کمک خواهد کرد:
- اگر نمیتوانید تسک را انجام دهید میتوانید حتی آن را به تسکهای کوچکتر تبدیل کنید.
- یک تسک نباید به یکباره شامل تعداد زیادی از مفاهیم تئوری شود.
- بجای انجام دادن تسکها بهصورت همزمان در هر لحظه فقط بر روی یک تسک متمرکز شوید .تا زمانی که تسک را کامل انجام ندادهاید و از درست بودن آن اطمینان حاصل نکرده اید سراغ تسک بعدی نروید.
- مطمئن شوید که قبل از شروع کار بر روی تسکها تمام مفاهیم لازم را فرا گرفته باشید. ممکن است در بعضی از مواقع ندانید چه مفهومی را باید بلد باشید که امری طبیعی است. در این مواقع میتوانید از دوستان برنامه نویس خود یا انجمنهای برنامه نویسی مانند StackOverflow کمک بگیرید.
5.در نهایت تسکها را کامل کرده و پروژه را به اتمام برسانید.
4.سریع به سراغ کدنویسی میروید بدون آنکه به نتیجه کدخود فکرکنید
در بهترین سناریو ممکن کدشما کار میکند و به سراغ تسک بعدی میروید اما یکی از بهترین فرصتهای یادگیری را ازدست میدهید.
من شمارا دعوت میکنم که خود را به چالش کشیده و کارهای زیر را انجام دهید:
- با خود فکرکنید که موقعیتهایی هستند که باعث عدم کارکردن کد من بشوند؟ آیا کد من در همه شرایط درست کار میکند؟
- از خود بپرسید که آیا کد شما به اندازه کافی تمیز است؟ اگر دولوپر دیگری یا خود شما بعدا بخواهد آن را توسعه دهد با مشکل مواجه نمیشود؟ آیا فهم و تغییر آن راحت است؟
- آیا راهحل من بهترین راهحل ممکن است؟ چه راهحلهای دیگری وجود دارد؟مزایا و معایب هر راهحل چیست؟ آیا ارزش دارد آن را از راه دیگری حل کنید؟
- ارتباط ماژولها باهم چگونه است؟ آیا روی عملکرد بقیه ماژولها تاثیر منفی میگذارد؟
5. نمیدانید که چگونه یک تسک را پیاده سازی کنید
نمیدانید که از کجا شروع کنید؟ممکن است که وسوسه شوید کدهای آماده را بدون درک کردن آنها کپی کنید. اما این روش کمکی به شما نمیکند چون اگر بعدا با مشکل مشابهی روبرو شوید دوباره بلد نیستید که چگونه آن را حل کنید.
برای حل کردن تسک ابتدا باید بدانید که به چه دلیلی در آن مشکل گیر کردهاید.در اینجا بعضی از دلایل ممکن این مشکل را ذکر کردهایم:
- شما تئوری را خوب درک نکردهاید
- تسک خیلی بزرگ است و نیاز است آن را به قسمتها کوچکتری تقسیم کنید
- دقت نکردهاید که تسک در واقع از شما چه چیزی میخواهد و سرسری از آن گذشتهاید
- سینتکس زبان را خوب یاد نگرفتهاید
- نمیدانید که چطور یک کتابخانه، کلاس، یا متد یا Api کار میکند
- پارادایمهای برنامه نویسی را خوب درک نکردهاید
- نمیدانید که سیستم چگونه کار میکند.
6.میدانید که چگونه یک تسک را حل کنید اما راهحل شما کار نمیکند
این رایج ترین مشکل در برنامه نویسی است.حتی دولوپرهای باتجربه هم با این مشکل دست وپنجه گرم میکنند. متاسفانه بسیاری از برنامهنویسان در این مرحله انگیزه خود را از دست میدهند. دلیل این مشکل وجود باگ در کد شما است. چطور این مشکل را حل کنید؟ با فرایند دیباگ کردن کد. این یکی از مهمترین مهارتهایی است که به عنوان برنامه نویس باید کسب کنید. اینطوری نیست که همینطوری تصادفی وشانسی دیباگ کنید چندین قدم و روش مشخص برای این کار وجود دارد و تعدادی کتاب هم در این مورد نوشته شده که میتوانید بخوانید. شما باید یادبگیرید که چگونه عاشق دیباگ کردن کدها شوید. خیلی از برنامه نویسان نگران هستند که این فرایند وقت زیادی از آنها میگیرد.این کاملا طبیعی است و دیباگ کردن جزو جداناپذیر برنامه نویسی است.با دیباگ کردن میتوانید مهارتهای برنامه نویسی و حل مشکلات خود را افزایش دهید.
خیلی خوب است اگر باگها و روشی که آنها را حل کردید در جایی بنویسید. این روش باعث میشود که رد مشکلات خود را دنبال کنید و تجربههای خود را فراموش نکنید.
7.نمیدانید که چگونه کمک بگیرید
در زمانیادگیری برنامه نویسان، دورهها، کتابها و انجمنهای زیادی وجود دارند که در زمینه کدنویسی و دیباگ کردن از آنها کمک بگیرید.
مشکل این موضوع این است که شما خود را مجبور نمیکنید که به حل مشکل فکر کنید و با پرسیدن سوال و جواب گرفتن سریع و اعمال آن راهحل مشکلات خودرا حل میکنید. شما باید به این فکرکنید که آنها چگونه به این جواب رسیدهاند و شما چگونه میتوانید مانند آنها فکرکنید و مشکل را خودتان حل کنید؟ به این فکرکنید که چه چیزی را اشتباه انجام دادید و چه کاری را میتوانستید بهتر انجام دهید؟
8.شما نمیتوانید تئوریهایی که یاد گرفتید را اعمال کنید
"دوباره این موضوع؟" من فقط میخواهم به این نکته اشاره کنم که این مقاله هم صرفا فقط یک تئوری است و تا زمانی که آن را به دفعات تکرار و به روتین تبدیل نکنید قرار نیست که به شما کمکی کند. موفقیت در برنامه نویسی فقط شکل دادن یکسری عادات درست است .
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید