
مقدمه
در پست معرفی سی پلاس پلاس به معرفی کامل سی پلاس پلاس و کاربردهای آن پرداختیم. اما خیلی از دوستان علاقمند هستند بدونند از کجا باید به یادگیری سی پلاس پلاس ورود کنند و چطور باید پیش بروند تا به اهداف خود در برنامه نویسی برسند.
برای یادگیری سی پلاس پلاس در ابتدای کار به دلیل پایهای بودن آموزشها نیاز نیست حوزه خاصی را مد نظر قرار دهید و میتوانید آموزش خود را با پایه سی پلاس پلاس شروع کنید.
اگر شما از قبل با برنامه نویسی آشنا نیستید میتوانید از مبانی کامپیوتر شروع به یادگیری کنید و سپس با درک و تسلط به مفاهیم الگوریتم و برنامه نویسی و روشهای حل مسئله به سمت یادگیری مقدمات سی پلاس پلاس بروید.
راهنمایی دوستان
اگر از دوستان برنامهنویس سی پلاس پلاس سوال بپرسید که از کدام کتاب و منبع برای شروع یادگیری برنامه نویسی با سی پلاس پلاس شروع کنم قطعا جوابهای متفاوتی دریافت خواهید کرد که در این بین بعضی به کتابها و مراجع زبان اصلی و بعضی به منابع داخلی و دورههای ویدئویی اشاره میکنند دلیل این مسئله این است که به قول رضا مارمولک به تعداد آدمهای روی زمین راه هست برای رسیدن و در نتیجه هرکس با توجه به مسیری که خود طی کرده شما را راهنمایی میکند برای مثال فردی که خود را موفق میپندارد روش خود را به شما توضیه میکند و شخصی که خود را ناموفق میداند روشی بجز روش خود که فکر میکند ممکن است برای شروع بهتر باشد را به شما معرفی خواهد کرد.
نقشه راه
از نظر من برای آموزش برنامهنویسی باید یک سری مراحل را طی کنید و با توجه به انتخابهای شما در مراحل مختلف مسیر شما متفاوت خواهد بود.
- انتخاب زبان مکالمه برای شروع
- انتخاب نوع منبع آموزشی
- پیدا کردن منبع آموزشی
- پیدا کردن جامعه کاربری همجهت
- شروع یادگیری
- مطالعه و ایجاد انگیزه
- انجام پروژههای کوچک
- مشارکت در جامعه کاربری
- پیدا کردن جرات انتشار پروژه
- شروع کار به صورت جدی
- مطالعه و پیشرفت
- دنبال کردن ایدهها
- خلق دنیایی بزرگ
انتخاب زبان مکالمه برای شروع
شما میتوانید آموزش خود را با زبان فارسی یا انگلیسی شروع کنید و بر خلاف عقیده و گفته خیلی از دوستان که تاکید بر استفاده از منابع انگلیسی دارند شما میتوانید با زبان فارسی شروع به یادگیری برنامهنویسی با زبان سی پلاس پلاس کنید و تا حد خوبی نیز پیش بروید و در کنار پیشرفت در سی پلاس پلاس به بهبود زبان انگلیسی خود در راستای کار بپردازید.
انتخاب نوع منبع آموزشی
منابع آموزشی انواع زیر هستند :
- کتاب
- دورههای ویدئویی
- پادکست صوتی
- مستندات
- کلاس آموزشی
- انجام پروژه
- خواندن کد دیگر پروژهها
پیدا کردن منبع آموزشی
کتاب
کتابهای بسیاری برای آموزش مبانی برنامهنویسی به هر دو زبان فارسی و انگلیسی وجود دارند که به راحتی میتوانید با جستجو آنها را بیابید مانند کتابهای Bjarne Stroustrup و یا کتاب فارسی آموزش مباني كامپيوتر و برنامه نويسي به زبان سی پلاس پلاس از انتشارات ناقوس نوشته علی دهقان، ناصر قاسم آقائي و مهدي جابر زاده انصاري، که بنده نیز با این کتاب شروع به یادگیری برنامه نویسی کردم.
دورههای ویدئویی
دوره های آموزشی بسیاری به زبان فارسی و انگلیسی برای آموزش برنامه نویسی به زبان سی پلاس پلاس وجود دارند و شما میتوانید از سایتهای آموزش ویدئویی به دورههای مختلف دسترسی داشته باشید و پیشنمایش آنها را مشاهده کنید و در صورتی که دوره برای شما مناسب بود آن را تهیه کنید.
از سایتهای به زبان انگلیسی میتوان به موارد زیر اشاره کرد:
و از سایتهای فارسی نیز میتوان به موارد زیر اشاره کرد:
پادکست صوتی
ممکن است این مورد عجیب ترین مورد این لیست باشد اما درست است. پادکست از افراد حرفهای در حوزههای مختلف میتواند به روشن شدن مسیر حرکت شما کمک کند حتی اگر به صورت مستقیم به شما آموزش ندهد. یکی از سایتهای جالب برای پادکست مخصوص سی پلاس پلاس سایت سی پی پی کست است.
مستندات
اگر به دنبال آموزش موردی هستید برای مثال میخواهید یک مثال کوچک از نحوه استفاده یا کارکرد یک کلاس یا تابع ببینید و یا میخواهید توضیحات فنی و دقیق در مورد کلاسها و توابع مختلف را مطالعه کنید بهترین روش مستندات است و یکی از بهترین سایتهای مستندات نیز cppreference است که شامل توضیح کارکرد و لیست توابع و در بسیاری از موارد مثالهایی برای درک بهتر است.
کلاس آموزشی
کماکان یکی از بهترین روشهای آموزش برنامهنویسی کلاسآموزشی و ارتباط مستقیم با یک مدرس است که در واقع یک ارتباط مستقیم با فردی که راه مناسب برای یادگیری و منابع مختلف را میشناسد و میتواند شما را تا رسیدن به مقصد راهنمایی کرده و یا شما را در ابتدای مسیر همراهی کرده و مسیر ادامه را نیز به شما نشان دهد. البته این موضوع ارتباط مستقیمی به میزان دانش فرد آموزش دهنده دارد. در صورتی که به دنبال یک دوره آموزشی هستید میتوانید با یک جستجو به انبوهی از کلاسهای آموزشی حضوری و آنلاین دسترسی پیدا کنید که توسط اساتید مختلفی ارائه شده اند.
انجام پروژه
هم در زمان شروع یادگیری و هم بعد از گذراندن مقدمات اصلی ترین کار که باید به همراه هر روشی دنبال کنید کد زدن و انجام پروژه است و حتما سعی کنید برای این که روند پیشرفت خود را ببینید و بتوانید کارهای گذشته خود را بهبود ببخشید. از طرفی اشتن یک حساب در یکی از سایتهای اشتراک سورسکد تاثیر بسزایی در روند کاریابی شما خواهد داشت.
خواندن کد دیگر پروژهها
یکی از اصلی ترین روشهای یادگیری برنامهنویسی و ارتقاع سطح برنامهنویسی خواندن سورسکد افراد حرفهای تر و شرکتهای بزرگ است شما میتوانید با این کار تواناییهای برنامهنویسی خود را بهبود ببخشید و با موضوعات مختلف و راهکارهای مختلف برای حل مسائل آشنا شوید و در صورت برخورد با آن مسائل از روشهای اصولی و استاندارد استفاده کنید. برای شروع سعی کنید سورس کدهای کوچک را مطالعه کنید یا حتی سورس کدهایی که در پروژههای مثال در دیگر سایت های منتشر میشود و بعد از این که کمی حرفهای تر شدید به مطالعه و تغییر در سورسکدهای پروژههای اوپن سورس بزرگ بپردازید.
پیدا کردن جامعه کاربری همجهت
جوامع کاربری مختلفی برای زبانهای برنامه نویسی مختلف وجود دارد اما یک سری اصول اساسی وجود دارد که با انجام آنها میتوانید در این جوامع پیشرفت کنید.
اصل اول : سوال نکنید، در صورتی که مبتدی هستید و هنوز آموزش ندیدهاید سعی کنید سوال نپرسید چون سوالات شما بسیار ساده و بدیهی خواهد بود و مشخص میکند که شما هنوز آموزش ندیدهاید و قوره نشده میخواهید مویز شوید پس بهتر است تا جای ممکن در ابتدای راه از سوال کردن بپرهیزید و بجای آن مطالعه کنید و یا اگر مشکلی دارید جستجو کنید و از پاسخهای موجود در اینترنت استفاده کنید تا هم سریع تر به جواب برسید و هم خود را از چشم افراد حاضر در جامعه نمیاندازید. از طرفی سعی نکنید با جامعه کاربری بجنگید مخصوصا اگر در ابتدای راه هستید برای مثال شما نمیتوانید در یک جامعه کاربری که عقیده دارند باید برای آموزش برنامهنویسی به زبان انگلیسی مسلط باشید مدام به دنبال منابع یا راه حلها یا توضیحات فارسی باشید. پس به اصل همجهت بودن در جامعه کاربری دقت کنید مخصوصا در ابتدای مسیر که هنوز تسلط و شناختی از جزئیات کار ندارید.
شروع یادگیری
شاید به نظر شما همین که به سراغ این مقاله آمدید به معنی شروع یادگیری برنامهنویسی باشد اما حقیقت این است که شما نیاز دارید بعد از طی مراحلی که گفتم شروع به یادگیر ی کنید به این معنی که به صورت جدی یکی از روشها را انتخاب کنید و یادگیری را شروع کنید چون خیلی از ما تا مراحل قبل یادگیری را انجام میدهیم و حتی منابع خوبی را جمعآوری کرده و منتظر یک فرصت مناسب مینشینیم ولی حقیقت این است که همین الان بهترین فرصت برای شروع یادگیریست و بهتر است بعد از خواندن این مقاله منابع خود را بیابید و حداقل یک فصل از یادگیری را پیش ببرید.
مطالعه و ایجاد انگیزه
بعد از شروع یادگیری شما نیاز به انگیزه دارید چون ممکن است شروع خوبی داشته باشید ولی بعد از متوقف کردن یادگیری انگیزه قوی برای ادامه یادگیری نداشته باشید مثلا در فرصت بعدی که پیدا میکنید دو گزینه ادامه یادگیری و انجام بازی را در پیش رو دارید و در حالت عادی قطعا بازی انتخاب برگزیده خواهد بود و به همین ترتیب بعد از مدتی یادگیری را بیخیال میشوید. برای این که برای ادامه انگیزه پیدا کنید روشهای مختلفی وجود دارد برای مثال میتوانید هدف کوتاه مدت خود را جذاب تعیین کنید برای مثال ساخت بازی یا مواردی که به آنها علاقه دارید و یا میتوانید از یک سیستم پاداش استفاده کنید برای مثال میتوانید بعد از یادگیری به سایت codecademy مراجعه کنید و آموختههای خود را بسنجید و یا با رفتن به سایت codingame به سادگی کدهای مورد نیاز برای انجام بازی آماده شده را بزنید و خروجی کدهای خود را در قالب اجرای بازی ببینید.
ان شاء الله در قسمت بعدی آموزش به توضیح موارد باقی مانده از نقشه مسیر میپردازیم.