برنامه نویسی

برای یادگیری برنامه نویسی از کجا شروع کنیم؟ چقدر زمان لازم است؟

اساطیر زبان

اگر به دنبال یادگیری برنامه نویسی هستید اما اعتماد به نفس لازم را ندارید؛ احتمالا وارد شدن و شروع به کار در این دنیای بسیار بزرگ ترسناک به نظر برسد. اینجا یک راز بزرگ وجود دارد: منابع رایگان و ارزان زیادی وجود دارد که به شما کمک می کنند، تکنیک های جدید را آموزش می دهند و همچنین روند یادگیری را برایتان سرگرم کننده و هیجان انگیز می کنند – حداقل به اندازه ای که کدنویسی می تونه هیجان انگیز باشد.

تمام چیزی که برای شروع برنامه نویسی نیاز دارید تنها یک کامپیوتر و دسترسی به اینترنت است؛ بنابراین فرقی نمی کنه که چه انگیزه ای برای یادگیری برنامه نویسی دارید، اینکه آیا به دنبال تحول در صنعت فناوری هستید یا دانشجویی به دنبال یادگیری جدیدترین زبان ها و یا اینکه تنها علاقه مند به درک نحوه کار نرم افزار و سرویس ها باشید. در اینجا بهترین نکات و منابع برای یک شروع خوب و درست آورده شده است.

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

icon_lesson_plan-min   آموزش ۱۲ برنامه ضروری برای یادگیری در اینجا

از خودتان بپرسید: چرا می خواهید برنامه نویسی یاد بگیرید؟

چند دقیقه یا حتی یک روز وقت بگذارید تا درباره دلایل خود – دلایل واقعی- فکر کنید که چرا می خواهید یک زبان برنامه نویسی یاد بگیرید. با خودتان روراست و صادق باشید. آیا برای به دست آوردن حداقل نمره در یک ارتقا شغلی تلاش می کنید؟ آیا به دنبال ایجاد یک تغییر شغلی بزرگ هستید؟ آیا می خواهید بزرگترین نرم افزار بعدی را شما بنویسید؟ آیا می خواهید با برنامه نویسی دستگاه های هوشمند و اجرای یک کار جالب روی آنها، هم اتاقی خود را هیجان زده کنید؟

پاسخ شما تعیین می کند که باید به دنبال یادگیری و تسلط روی کدام زبان (یا زبان های) برنامه نویسی باشید و همچنین براساس اینکه هدفتان چه نیازی ممکنه داشته باشد، زمان و پول خود را برنامه ریزی کنید. به عنوان مثال اگر رویای شما نوشتن سیستم عامل بزرگ بعدی و یا ساخت یک جایگزین موفق برای برنامه فتوشاپ است باید از یک آموزش رسمی علوم کامپیوتر که زبان C++ آموزش می دهد، شروع کنید و مباحث پیچیده تر مانند ساختار داده، الگوریتم ها و تخصیص حافظه را یاد بگیرید.

از طرف دیگر اگر یک متخصص نیمه حرفه ای به دنبال تحول در کارتان هستید، یک دوره آموزشی فشرده و کوتاه برنامه نویسی منطقی به نظر می رسد و یا اگر علاقه مند به ایده های نو و ساخت وب سایت های جدید هستید، ترکیبی از آموزش های تعاملی و دوره های آنلاین رایگان برای پیشبرد کارتان کافی می باشد.

زبان برنامه نویسی مناسب را انتخاب کنید

وقتی مشخص کنید که هدفتان از کدنویسی چیه، تعیین زبان برنامه نویسی برای یادگیری خیلی آسان تر است. با وجود اینکه کلمه “بهترین” زبان برنامه نویسی برای یادگیری وجود ندارد بعضی از زبان ها نسبت به بقیه بیشتر مورد توجه کاربران می باشند. اچ تی ام ال (HTML) و سی اس اس (CSS) آسان ترین زبان ها برای ورود به دنیای کدنویسی محسوب می شوند اما آنها فقط برای طراحی و توسعه ظاهر وب سایت ها مفید هستند.

برای ساخت وب سایت های تعاملی تر شامل سیستم های پرداخت بانکی و یا ارتباط با پایگاه داده حتما باید با زبان های جاوا اسکریپت (Javascript)، پی اچ پی (PHP)، اس کیو ال (SQL) و پایتون (Python) آشنا باشید. سازندگان اپلیکیشن های موبایل برای برنامه های اندروید از زبان های سویف (Swift) یا سی (C) برای ساختن برنامه های iOS و Java یا Kotlin استفاده می کنند. توسعه دهندگان بازی های ویدیویی به زبان های یونیتی (Unity) و یا سی شارپ (C#) روی می آورند تا بتونند ایده های بازی خود را محقق کنند.

هنوز هم نمی توانید درباره زبان برنامه نویسی برای شروع تصمیم بگیرید؟ اکثر متخصصان، یادگیری پایتون، سی شارپ یا جاوا اسکریپت را توصیه می کنند زیرا این زبان ها دارای ابزار های گسترده و همچنین انعطاف شغلی هستند.

دوره های آنلاین را امتحان کنید

اگر می خواهید کنترل بیشتری روی برنامه یادگیری خود داشته باشید (و یا نمی خواهید تنها با برنامه خودتان شروع کنید)، یک دوره برنامه نویسی آنلاین ممکنه گزینه بهتری نسبت به یک آموزش برنامه نویسی حضوری باشد. البته برای آموزش یک زبان برنامه نویسی خاص، کلاس های مختلف آنلاین زیادی وجود دارد و تشخیص اینکه کدامیک واقعاً ارزش وقت و پول شما را دارد، خیلی سخت است.

سایت The Odin Project را امتحان کنید، سایتی رایگان که تعدادی از بهترین کدها را جمع آوری کرده و گزینه خوبی برای تبدیل یک کدنویس مبتدی به یک برنامه نویس است.

آیا به دنبال یک دوره آماده سازی شغلی و یا دریافت اطلاعات بیشتر بدون گذراندن کل دوره می باشید؟ سعی کنید در دوره هایی ثبت نام کنید که بتوانید از یک راهنما کمک بگیرید و در سؤالات و اشتباهات خودتان سردرگم نشوید.

مهم نیست چند دوره را تمام می کنید چرا که برای بسیاری از مبتدیان هنوز هم استفاده از دانش تئوری و پایه تقریبا سخت به نظر می رسد. به همین دلیل دوره های عملی پروژه محور را توصیه می کنیک که در آن ها آموزش ها حول یک پروژه خاص می چرخند و می توانید به طور پیوسته آن را دنبال می کنید.

روی یادگیری حل مسئله به روش کامپیوتر تمرکز کنید

به جای تمرکز بیش از حد روی یادگیری یک زبان برنامه نویسی خاص باید یاد بگیرید که چگونه یک مسئله را به شیوه قابل درک برای کامپیوتر حل کنید. به عبارت دیگر مهارت های خود را در مفاهیمی مانند شناخت الگو، الگوریتم ها و مفاهیم انتزاعی تقویت دهید. علاوه بر اینها مفاهیمی وجود دارد که تقریبا در هر زبانی استفاده می شوند؛ مانند شرط ها، حلقه ها و …. در نتیجه اگر اصول برنامه نویسی را بهتر درک کنید، یادگیری هر زبانی آسان است و همچنین محصولات یا پروژه های بهتر و اصولی تری را طراحی خواهید کرد.

word image 1

باید از دنیای وب تشکر کنیم چونکه برای یادگیری اصول علوم کامپیوتر لازم نیست در یک دوره دانشگاهی چهار ساله ثبت نام کنیم. بعضی از کلاس های آنلاین رایگان (یا با هزینه کم) قابل دسترس در نت، در سطح کلاس های دانشگاهی آموزش می دهند.

می توانید در دوره های آموزشی آنلاین رایگان (مانند دوره های edX) به صورت آزاد حضور پیدا کرده و حتی با انجام تکالیف، گواهی پایان دوره کسب کنید یا اینکه درس های ارسال شده روی یوتیوب را تماشا کنید. با انتخاب پانزده دوره برنامه نویسی آنلاین می توانید برنامه ای در سطح علوم کامپیوتر دانشگاه برای خود بسازید.

کتاب بخوانید

شاید بهترین راه برای یادگیری کدنویسی برای شما استفاده از نسخه چاپی باشد، جایی که می توانید از نزدیک کدها را بینید. یک کتاب واقعی از ابتدا تا انتها شما را همراهی می کند. اغلب کتاب ها نسبت به آموزش های اینترنتی معرفی کامل تری از موضوع ارائه می دهند تا اینکه از یک موضوع به موضوع دیگر پرش کنند.

احتمالا برای هر زبان یا فریمورکی که می خواهید یاد بگیرید، در گیت هاب (GitHub) یک کتاب پیدا خواهید کرد. بسیاری از توسعه دهندگان اعتقاد دارند که سری کتاب های رنگی جان داکت (Jon Duckett) در مورد همه چیز از فرانت اند گرفته تا بک اند (front- to back-end ) توسعه وب را توضیح می دهد.

به عنوان یک برنامه نویس خودآموز می توانید از کتاب هایی که توصیه های کلی تری درباره برنامه نویسی ارائه می دهند نیز استفاده کنید. باید تفکرات و عادت های برنامه نویسی تان را تقویت کنید و همچنین ویژگی ها و نکاتی که در همه زبان ها کاربرد دارند را بهبود دهید. کتابCode Complete: A Practical Handbook of Software Construction از استیو مک کانل (Steve McConnell) یک راهنمای کامل و شامل صدها نمونه کد است، در این کتاب همه نکات را از مرحله طراحی پروژه تا اشکال زدایی کد بیان می کند.

نویسنده در کتابClean Code: A Handbook of Agile Software Craftsmanship نوشته “عمو باب” رابرت مارتین (Robert C. Martin) معتقد است که کد باید خیلی خوب و بهینه نوشته شود تا از نظر تست و مقیاس پذیری آسان باشد و این ویژگی برای بسیاری از تیم های توسعه دهنده مدرن اهمیت زیادی دارد.

از آنجا که برنامه نویسی در واقع شیوه حل مسئله است در کتاب Programming Pearls (2nd Edition) نوشته جان بنتلی (Jon Bentley) روش های تفکر و راه حل های “کلی” به اشتراک گذاشته شده است. در پایان هر فصل نیز چندین مسئله آورده شده که اغلب در مصاحبه های فنی شغلی استفاده می شوند، بنابراین می توانید این کتاب را به عنوان بخشی از آماده سازی شغلی خود در نظر بگیرید.

آموزش های تعاملی و یا بازی های کدنویسی را امتحان کنید

صادقانه بگیم: خواندن خطوط کد روی صفحه نمایش یا کتاب می تواند نامفهوم و گیج کننده باشد اما وقتی نمونه عملی کد را می بینید ناگهان آن مفهوم انتزاعی کاملا معنی دار می شود. این زیبایی آموزش های تعاملی کدنویسی می باشد که می توانید در همه جای وب آن ها را پیدا کنید.

به عنوان مثال، سایت FreeCodeCamp با تفکیک مفاهیم برنامه نویسی به بخش های کوچکتر، آن ها را مرحله بندی کرده است. بدین صورت که برای هر مفهوم یک تمرین مرتبط قرار داده که فقط با حل این تمرین می توانید مبحث بعدی را شروع کنید. این روش تنها یک بازی سرگرم کننده نیست؛ در واقع سایت شما را مجبور می کند تا کد خود را اشکال زدایی و تکمیل کنید.

word image 2

برای شروع و آشنایی با برنامه نویسی، بازی های کدنویسی نیز یک روش جالب به حساب می آیند. اگر در روز یک ساعت آزاد پیدا کردید، بازی ساده Hour of Code را امتحان کنید. علاوه بر این در حال حاضر در بسیاری از مدارس دنیا با استفاده از بازی Minecraft: Educational Edition به بچه ها اصول برنامه نویسی را با بلوک های کدنویسی و حتی جاوا اسکریپت آموزش می دهند.

آیا به دنبال بازی پیچیده تری برای قرار دادن در رزومه کاری تان هستید؟ اگر در طول روز احساس خستگی نمی کنید، بازی CodinGame برای سنین بالاتر مناسب تر است.

ویدئوهای مرتبط با کد نویسی را تماشا کنید

گاهی اوقات تماشای فیلم هایی که به شما نشان می دهند چه اتفاقی داره میفته، ساده تر است. در حال حاضر می توانید انواع فیلم های آموزشی را تقریبا در همه موضوعات مربوط به کد نویسی پیدا کنید:ex-Googlers جواب سوالات کدنویسی در مصاحبه ها را به اشتراک می گذارد، یوتیوبرها کدهای طولانی خودشان را در یوتیوب قرار می دهند و حتی بسیاری از افراد باسابقه و حرفه ای در برنامه نویسی شیوه رفع بسیاری از خطاها در همه زبان ها را به اشتراک می گذارند.

توصیه می کنم کانال های CS Dojo، TheNetNinja و Harvard’s CS50 را در یوتیوب دنبال کنید. اگر زمان لازم برای جستجوی یک فیلم یا کانال کدنویسی کامل را ندارید، برای به دست آوردن آموزش های معتبر و حرفه ای در زمینه موضوع موردنظرتان می توانید کتابخانه ویدیویی گسترده LinkedIn Learning را جستجو کنید. در اینجا می توانید مفاهیم و محتوای مرتبط به یک موضوع را به صورت ویدئوهای دنباله دار و پشت سر هم تماشا کنید. ساختار LinkedIn Learning از بسیاری کلاس های آنلاین دیگر، بهتر است.

مهارت های خود را به کار ببرید

بدون اعمال مهارت های کدنویسی خود روی پروژه های مختلف نمی توانید یک برنامه نویس حرفه ای شوید. بنابراین طراحی و تمرین را شروع کنید.

مهم نیست که چند گواهینامه و یا کارگاه برنامه نویسی را گذرانده اید و یا حتی چند زبان برنامه نویسی یاد گرفته اید، اثبات مهارت های کدنویسی تان در پروژه های برنامه نویسی شما مشخص است. لازم نیست در نوشتن پروژه تان بلند پرواز باشید مثلا بخواهید Google Maps پیشرفته تری را بنویسید اما باید چیزی باشه که بخواهید به طور مداوم روی آن کار کنید تا دامنه مهارت های خودتان را گسترده تر کنید.

با پروژه های کوچک شروع کنید اما بزرگ فکر کنید. در نوشتن پروژه باید مهارت های خود را به کار ببرید و البته باید برای یادگیری ویژگی ها و مهارت های بعدی مورد نیاز خود برنامه داشته باشید تا تصویر ذهنی تان به واقعیت تبدیل شود. بدون استفاده از مهارت های برنامه نویسی خود در پروژه های مختلف نمیوانید یک برنامه نویسی حرفه ای شوید.

موفقیت های کوچک را جشن بگیرید

برنامه نویسی همه در جزئیات است و به همین دلیل برنامه نویسان حرفه ای معتقدند که باید “موفقیت های کوچک را جشن بگیرید”. در نوشتن کد دقت کنید که هر عنصر خودش به تنهایی کار کند و همچنین خط به خط کد را تست کنید تا مطمین شوید که هر خط کد با بقیه قسمت های کد بدون خطا کار می کند. اگر به این صورت کار نکنید، در هنگام اشکال زدایی کد روی یه چیز به ظاهر جزیی و یک خطای گرامری ساده گیر خواهید کرد (مانند ننوشتن یک تگ بسته در HTML) و نمی توانید کدنویسی برنامه تان را ادامه دهید.

باید صبور باشید. توقع نداشته باشید بعد از چند ماه مطالعه یا گذراندن چند دوره آموزشی بتوانید برنامه های بزرگی کدنویسی کنید. برای یک مبتدی، کدنویسی یک فرم بدون خطا در سایت یا ساخت یک بازی ساده اما درست میتونه یک دستاورد بزرگ باشد. اگر جایی گیر کردید، تسلیم نشوید بلکه باید از هر جایی که می تونید کمک بگیرید اما این را هم بدانید که چه زمانی موقع استراحت است تا دچار خستگی مفرط نشوید. و بعد سعی کنید و دوباره سعی کنید.

پیام های خطا را در گوگل جستجو کنید

این بهترین توصیه ما برای کد نویسی است: اگر نمی توانید بفهمید کدی که نوشته اید چه مشکلی داره، تقریبا همیشه می توانید راه حل را در اینترنت پیدا کنید. شما اولین کسی نیستید که با خطای کد مواجه می شوید، به احتمال زیاد یکی در اینترنت راه حلی برای مسئله شما به اشتراک گذاشته است. فقط کافیه پیام خطای را در گوگل (یا موتور جستجوی موردعلاقه خود) کپی کنید، برای اینکه کلمات کلیدی جستجو نشوند، علامت نقل قول را به ابتدا و انتهاب پیام خود اضافه کنید. امیدواربم با این ترفند کوچک بتوانید راه حل درست را پیدا کنید.

اگر مشکلتون حل نشد می توناید سؤال خود را در انجمن های برنامه نویسی مانند Stack Overflow ، Reddit و یا GitHub ارسال کنید. هیچوقت ارتباط گرفتن با یک دوست و یا حتی یک فرد غریبه در اینترنت ضرری ندارد.

کد افراد دیگر را بررسی کنید

با بررسی کدهای دیگران و تست خط به خط آن ها می فهمید که کد چگونه کار می کند و درک بهتری پیدا خواهید کرد. کدهای رایگان خیلی زیادی وجود دارد که می تونید با بررسی هر کدوم چیزهای خوبی یاد بگیرید. فقط به خاطر داشته باشید اگر توانستید کدی روی آن کار کردید را بهبود دهید و یا ایده ای به نظرتان رسید، آن ها را به اشتراک گذارید.

از یک راهنما کمک بگیرید

دنیای برنامه نویسی پر از افرادی است که دوست دارند به علاقه مندان برنامه نویسی کمک کنند. گیت هاب، پاتوق آنلاین برنامه نویسانی است که از آن برای مدیریت پروژه های برنامه نویسی شان استفاده می کنند، این سایت برای کمک و همکاری آنلاین طراحی شده است. برنامه نویسان نه تنها پروژه های خود را با بقیه اشتراک می گذارند بلکه بازخورد کد و توصیه های کلی را نیز به بقیه ارائه می دهند.

word image 3

می توانید از طریق گیت هاب با بعضی از راهنماهای خوب آشنا شوید یا برای ملاقات برنامه نویسان حرفه ای باید در رویدادهای برنامه نویسی مانند هکاتون حضور پیدا کنید. پس از کسب تجربه می توانید به سؤالات دیگران پاسخ دهید و یا حتی چیزهای جدیدی که یاد گرفتید را آموزش دهید – این یک آزمایش عالی برای اینکه بفهمید آیا واقعاً کدهای خودتان را می شناسید.

در یک دروه برنامه نویسی شرکت کنید

دوره های برنامه نویسی بحث برانگیز هستند: مهارت های زیادی را در یک دوره کوتاه به شما معرفی می کنند اما ممکنه نتونید شغلی در دنیای تجارت پیدا کنید.

اگر می خواهید حرفه ای شوید و به یک برنامه نویس تمام عیار تبدیل شوید احتمالا یک دوره برنامه نویسی متمرکز و حضوری به شما کمک می کند، به خصوص اگر در مواجه با محیط و افرادی قرار بگیرید که به شما انگیزه دهند. با این حال بیشتر این نوع دوره ها گران و از نظر زمانی فشرده هستند.

جزئیات دوره های آنلاین و حضوری، مثل مربیان، دانش آموخته ها و … را به دقت بررسی کنید. این به شما کمک می کند تا دوره برنامه نویسی مود نظر و نزدیک هدفتان را پیدا کنید.

icon_lesson_plan-min   آموزش ۱۲ برنامه ضروری برای یادگیری در اینجا

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست