تمرین برنامه نویسی یکی از مهمترین گامها در یادگیری برنامه نویسی به حساب میآید. در واقع بهترین راه برای تقویت مهارت برنامه نویسی و حرفهای شدن در این حوزه، تمرین زیاد و انجام پروژههای عملی است. در اکثر منابع توصیه شده است که پس از یادگیری مباحث مقدماتی، باید بلافاصله تمرین برنامه نویسی را آغاز کرد. در حقیقت یادگیری واقعی در حین تمرین اتفاق میافتد. بنابراین در این مقاله سعی شده است تا به طور جامع به این سوال پاسخ داده شود که چگونه تمرین برنامه نویسی کنیم ؟
چرا تمرین برنامه نویسی بسیار مهم است؟
میتوان گفت که خبره شدن در برنامه نویسی مانند نواختن یک ساز موسیقی، فقط با تمرین مداوم امکانپذیر است. بدون تمرین برنامه نویسی و فقط به وسیله خواندن و یادگیری آن، خبره و حرفهای شدن در این زمینه امکانپذیر نخواهد بود. روشهای بسیاری برای تمرین برنامه نویسی وجود دارند، برای مثال میتوان جهت تمرین برنامه نویسی از تمرینهای موجود در وب سایتهای اینترنتی استفاده کرد و تمرینهای چالش برانگیزی را برای افزایش دانش برنامه نویسی با استفاده از پروژهها و دورههای آنلاین انجام داد. همچنین برای تقویت مهارت برنامه نویسی در دنیای واقعی، میتوان روی پروژههای برنامه نویسی کار کرد.
ممکن است در برخی حرفههای دیگر، افزایش دانش و یادگیری بحثهای نظری بیشتر باعث خبره شدن افراد شود. اما در برنامه نویسی با افزایش دانش این اتفاق نمیافتد. برنامه نویسی مهارتی است که در آن تمرین بسیار اهمیت دارد و تنها یادگیری مفهومهای نظری کافی نیست. به صورت حدودی میتوان گفت که بهتر است حدود ۸۰ درصد زمان در نظر گرفته شده برای یادگیری برنامه نویسی به انجام تمرین اختصاص داده شود. فقط ۲۰ درصد برای یادگیری و خواندن مباحث تئوری کافی است. بحثهای نظری به میزان قابل قبولی رسید، میتوان میزان آن را از ۲۰ درصد هم کمتر کرد. اگر شخصی قصد پیدا کردن شغلی را به عنوان برنامه نویس تازه کار داشته باشد یا بخواهد پروژه سادهای را برای خود پیادهسازی کند، به حدود ۱۰۰ ساعت تمرین برنامه نویسی نیاز خواهد داشت.
میتوان گفت این مسیر آسانی نیست، مخصوصاً برای افرادی که پیش از این هیچ مهارت منطقی را تمرین نکردهاند. به همین دلیل، برای یادگیری و تمرین برنامه نویسی، داشتن کمی مهارت در ریاضیات حائز اهمیت است. مفهومهای ریاضی که برای برنامه نویسی مورد نیاز هستند، مباحث بسیار پیچیدهای نیستند اما فرا گرفتن آنها توانایی برنامه نویسی را تا حد زیادی افزایش میدهد. البته داشتن آشنایی با ریاضیات در همه حوزههای برنامه نویسی ضروری نیست و مثلاً در برنامه نویسی وب فرانتاند چندان نیازی به یادگیری ریاضی وجود ندارد.
ضرورت یادگیری برنامه نویسی
امروزه برنامه نویسی یکی از زمینههای مهم در کسب و کار به حساب میآید. گاهی برخی از افراد در یادگیری یک مهارت به دلیل مبهم بودن و نداشتن بخش فیزیکی مشخص، از آن دوری میکنند و به دنبال یادگیری آن نمیروند. از این رو، کسی که به دنبال یادگیری برنامه نویسی است، بهتر است ابتدا آینده خود را در این حوزه تصور کند و اگر با هدف مورد نظرش تطابق داشت، برنامه نویسی و تمرین آن را آغاز کند. در ادامه چند عامل انگیزشی برای شروع یادگیری برنامه نویسی ارائه شده است:
- به دست آوردن فرصت شغلی بهتر
- شادتر بودن
- تبدیل شدن به فردی که برای دیگران مهم و مورد احترام است.
- تبدیل شدن به یک فرد تأثیرگذار
- به دست آوردن ثروت بیشتر
- داشتن امنیت شغلی و مالی
- یافتن سرگرمی و علایق جدید
هر چه دلیل و پاسخ فرد برای یادگیری برنامه نویسی قطعیتر و مهمتر باشد، انگیزه آن برای یادگیری برنامه نویسی یا هر مهارت دیگری افزایش پیدا میکند. در ادامه به این مبحث پرداخته میشود که چطور میتوان زمان را برای تمرین برنامه نویسی مدیریت کرد. مدیریت زمان برای رسیدن به پاسخ این سوال که چگونه برنامه نویسی تمرین کنیم ، مسئله مهمی به حساب میآید.
چگونه می توان زمان را برای تمرین برنامه نویسی مدیریت کرد؟
اگر قصد تمرین برنامه نویسی در ۱۰۰ ساعت وجود داشته باشد، باید این ساعتها را تقسیم کرد. این تقسیم بستگی به موقعیت و زمان آزاد هر فرد دارد. اگر فردی در تمام روز وقت آزاد داشته باشد، میتواند با تمرین روزانه در یک ماه مهارت خوبی در برنامه نویسی به دست بیاورد. اما اکثر افراد دارای مسئولیتهای دیگری نیز در زندگی هستند و نمیتوانند به صورت فشرده و هر روز برای تمرین برنامه نویسی زمان بگذارند. پیشنهاد میشود برای تمرین مهارتهای دیگر، روزانه حداقل ۱۵ دقیقه به صورت متمرکز زمان در نظر گرفته شود. اما برنامه نویسی به این صورت نیست و به تمرین بیشتری نیاز دارد.
برای برنامه نویسی حدود ۳۰ دقیقه تمرین در روز، زمان مناسبی است که این میزان، معادل ۳.۵ ساعت در هفته و ۱۴ ساعت در ماه میشود. در نتیجه برای کسب مهارت در برنامه نویسی و ۱۰۰ ساعت تمرین، حدود ۷ ماه زمان نیاز است. اگر شخصی برای یادگیری برنامه نویسی زمان زیادی داشته باشد، یادگیری آن به صورت ۵۰ ساعت تمرین برنامه نویسی در هفته (تمرین ۱۰۰ ساعت برنامه نویسی در دو هفته) اصلاً پیشنهاد نمیشود. حتی اگر فردی توان یادگیری و پشتکار زیادی داشته باشد، باز هم این روش فشرده پیشنهاد نخواهد شد؛ زیرا مغز اطلاعات دریافتی زیادی را در یک بازه کوتاه، نمیتواند به راحتی و با سرعت بالا پردازش کند.
دریافت بیش از حد اطلاعات در یک بازه زمانی کوتاه باعث ایجاد توهم داشتن مهارت بالا میشود. زمانی که اطلاعات در مغز انسان به تازگی دریافت شدهاند، همه چیز ساده به نظر میرسد. اما اگر حتی یک ماه تمرین مداوم وجود نداشته باشد، طبق جدول فراموشی اطلاعات انسان، ۶۰ درصد از اطلاعات دریافتی مغز فراموش خواهند شد. روش طلایی برای رخ ندادن این اتفاق، یادگیری و تکرار با فاصله زمانی مناسب است. یادگیری به صورت فشرده و در ساعات طولانی اصلاً مناسب نیست.
در این حالت، زمانی برای پردازش مفهومها دریافتی جدید به مغز داده میشود و همچنین، باید تمرینهای مختلفی را پیرامون آنچه انجام داد که فرا گرفته شده است. برای مثال، زمانی که فرد مبحثی را یاد گرفت، بهتر است که بعد از ۲۴ ساعت، ۷ روز و یک ماه مجدداً تمرینهایی را در خصوص آن مفهومها انجام دهد. در ادامه پاسخ به این سوال مهم که چگونه برنامه نویسی تمرین کنیم ، به این موضوع پرداخته شده است که چه زمانی برای تمرین برنامه نویسی بهتر است؟
در چه زمانی بهتر است تمرین برنامه نویسی انجام شود؟
کسی که قصد دارد در مهارت برنامه نویسی خبره شود، بهتر است هر روز تمرین کدنویسی را انجام دهد. هر چه فرد بیشتر به تمرین برنامه نویسی یا هر مهارت دیگری عادت کند، حال تمرینها سادهتر خواهد شد و میتوان هر تمرین را سریعتر انجام داد. در نتیجه، امکان انجام تمرینهای بیشتر فراهم میشود. تمرکز در تمرین کدنویسی یکی از بخشهای اصلی یادگیری آن است و تمرین در برنامه نویسی بدون تمرکز کافی فایدهای ندارد. از آنجایی که برنامه نویسی یک مهارت ذهنی پیچیده به حساب میآید، زمانی که تمرین کدنویسی آغاز میشود، باید ذهن از همه نظر آماده باشد و چیزی تمرکز فرد را از بین نبرد.
اکثر برنامه نویسان اظهار دارند که شبها تمرکز بهتری دارند و بهتر میتوانند روی برنامه نویسی تمرکز کنند. اما این در حالی است که تحقیقات نشان دادهاند، ذهن انسان بلافاصله بعد از بیدار شدن از خواب، عملکرد هوشیارانهتر و بهتری دارد. اگر شخصی زمان مناسب برای هوشیاری و تمرین مهارت خود را نمیداند، میتواند در زمانهای گوناگون تمرین برنامه نویسی را انجام دهد تا به زمان مناسب خود پی ببرد؛ چون این موضوع برای هر فرد متفاوت است. برای مثال، برخی از برنامه نویسان کار خود را صبح اول وقت و زمانی شروع میکنند که هنوز اطرافیانشان از خواب بیدار نشدهاند؛ چرا که در این زمان هوشیارتر هستند و همچنین سکوت و آرامش بیشتری در این ساعات حکمفرما است. در این زمان حواسپرتی به حداقل خود میرسد.
با توجه به اینکه انجام تمرین برنامه نویسی بلافاصله بعد از خواب روزانه از زمانهای دیگر بهتر است، همچنان احتمال دارد در آغاز این کار دشوار باشد. اما نباید زود تسلیم شد. عادت کردن به کارهای جدید حداقل دو هفته زمان میبرد و در طول این مدت باید تمرین را به صورت مداوم ادامه داد و تسلیم نشد. اگر باز هم این زمان مناسب نبود، میتوان زمانهای دیگری را بررسی و انتخاب کرد که باعث حواسپرتی نمیشوند. تنها محیطی که ممکن است دارای سکوت نباشد ولی برای تمرین کدنویسی و برنامه نویسی مناسب باشد، محیط کار گروهی است. اتفاقاً تمرین به صورت گروهی یکی از بهترین روشهای تمرین کدنویسی به حساب میآید. در ادامه مقاله «چگونه تمرین برنامه نویسی کنیم» به بررسی محل مناسب برای تمرین کدنویسی پرداخته شده است.
بهترین محل برای تمرین برنامه نویسی کجا است؟
محیط، بیشتر از آن چیزی که افراد در تصور خود دارند، روی یادگیری و تمرین یک مهارت تأثیر میگذارد. برای مثال، میتوان زمانی را به خاطر آورد که دانش آموزان برای امتحان خود آمادگی کامل را دارند. اما هنگامی که در محیط کلاس برای امتحان قرار میگیرند، بسیاری از پاسخهای سوالات امتحانی را به یاد نمیآورند و نمیتوانند آزمون را به خوبی پشت سر بگذارند. همه این مسائل به عوامل محیطی وابسته هستند. این مسئله به این دلیل اتفاق میافتد که مغز با محیطی ارتباط برقرار میکند که در آن آموزش میبیند. بسیاری از مردم این موضوع را نمیدانند، اما این مورد مسئلهای مهم درباره یادگیری هر مهارتی به حساب میآید. در ادامه برخی از عواملی فهرست شدهاند که برای انتخاب مناسبترین محل تمرین برنامه نویسی بهتر است در نظر گرفته شوند:
- انتخاب محل فیزیکی مناسب برای تمرین کدنویسی مهم است.
- دمای محل مورد نظر باید مناسب باشد.
- میزان حواسپرتی در کمترین حالت ممکن باشد.
- موسیقی و سروصداهای اضافی در آن محل وجود نداشته باشد.
- راحتی و آسایش برای فرد وجود داشته باشد.
- افرادی که در آن مکان وجود دارند.
- وسایلی که در مکان مورد نظر استفاده میشود.
- وضعیت ذهنی فرد از جمله استرس داشتن، آشفته بودن، عصبی بودن، هیجانزده بودن، خستگی، علاقهمندی و سایر موارد باید مورد بررسی قرار بگیرد.
- لباسی که فرد پوشیده است.
- غذاها و نوشیدنیهایی که برای خوردن و نوشیدن وجود دارند.
زمانی که افراد شروع به تمرین برنامه نویسی یا هر مهارتی در یک محیط میکنند، مغز از محیط اطراف تصاویری در ذهن خود نگه میدارد. هر چه حواس فرد بیشتر تحریک شوند و تصاویر بیشتری بهوجود بیایند، ارتباط با محیط قویتر خواهد بود. اما این موضوع زیاد خوب نیست، زیرا ممکن است عملکرد فرد در آن محیط بسیار عالی باشد ولی خارج از آن، رویکردی ضعیفتر از خود نشان دهد.
بنابراین، میتوان در نهایت به این نتیجه رسید که تمرین برنامه نویسی در یک محیط یکسان اصلاً کار مناسبی نیست و برای افزایش توانایی و مهارت در همه موقعیتها، بهتر است که این کار در محیطهای گوناگون انجام شود تا ذهن فرد به برنامه نویسی در همه مکانها کند. در بخش بعدی از مبحث چگونه برنامه نویسی تمرین کنیم، پس از معرفی مجموعه دورههای آموزش برنامه نویسی، به بررسی ۱۳ اصل مهم برای رسیدن به جواب چگونه برنامه نویسی تمرین کنیم ، پرداخته شده است.
معرفی فیلم های آموزش برنامه نویسی تم آف
دورههای آموزشی تم آف بر اساس موضوع در این وب سایت به صورت مجموعههای آموزشی مختلفی دستهبندی شدهاند. یکی از این مجموعههای جامع، مربوط به دورههای آموزش انواع زبانهای برنامه نویسی مختلف است. علاقهمندان میتوانند از این مجموعه آموزشی برای یادگیری و تمرین بیشتر برنامه نویسی استفاده کنند. در زمان تدوین این مقاله، مجموعه دورههای برنامه نویسی تم آف حاوی بیش از ۴۸۹ ساعت محتوای ویدیویی و حدود ۵۸ عنوان آموزشی مختلف است. در ادامه این بخش، برخی از دورههای این مجموعه به طور خلاصه معرفی شدهاند:
- فیلم آموزش برنامه نویسی پایتون Python – مقدماتی (طول مدت: ۱۹ ساعت و ۵۳ دقیقه، مدرس: پژمان اقبالی شمس آبادی): در این دوره آموزشی تم آف، زبان پایتون از پایهایترین مباحث مانند انواع دادههای آن آموزش داده میشود و سعی شده است که همه مباحث مقدماتی مورد نیاز آن ارائه شوند. برای مشاهده فیلم آموزش برنامه نویسی پایتون Python – مقدماتی + کلیک کنید.
- فیلم آموزش برنامه نویسی C++ سی پلاس پلاس (طول مدت: ۲۰ ساعت و ۱۴ دقیقه، مدرس: دکتر فرشید شیرافکن): در این تم آف، زبان برنامه نویسیC++ در دو بخش و از مفاهیم پایه آموزش داده شده است. برای مشاهده فیلم آموزش برنامه نویسی C++ سی پلاس پلاس + کلیک کنید.
- فیلم آموزش برنامه نویسی جاوا Java (طول مدت: 19 ساعت و 19 دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): این تم آف به دانشجویان و علاقهمندانی پیشنهاد میشوند که قصد یادگیری زبان برنامه نویسی جاوا را به صورت جامع دارند. برای مشاهده فیلم آموزش برنامه نویسی جاوا Java + کلیک کنید.
- فیلم آموزش برنامه نویسی C (طول مدت: ۱۳ ساعت و ۳۰ دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): در این دوره آموزشی، زبان برنامه نویسی C همراه با مفاهیم کاربردی آن و مثالهای عملی آموزش داده شده است. برای مشاهده فیلم آموزش برنامه نویسی C + کلیک کنید.
- فیلم آموزش کاربردی برنامه نویسی سی شارپ #C (طول مدت: ۱۳ ساعت و ۵۸ دقیقه، مدرس: مهندس رشید شجاعی): در این تم آف، دانشجویان و علاقهمندان به صورت کاربردی با زبان سی شارپ و محیطهای Visual Studio و داتنت آشنا میشوند. برای مشاهده فیلم آموزش کاربردی برنامه نویسی سی شارپ #C + کلیک کنید.
- فیلم آموزش برنامه نویسی تایپ اسکریپت TypeScript (طول مدت: ۸ ساعت و ۴۵ دقیقه، مدرس: پوریا کهریزی): این دوره آموزشی به دانشجویانی پیشنهاد شده است که قصد یادگیری زبان برنامه نویسی تایپ اسکریپت را از پایه دارند. تایپ اسکریپت دارای شباهتهای بسیاری با زبانهای #C و جاوا اسکریپت است. برای مشاهده فیلم آموزش برنامه نویسی تایپ اسکریپت TypeScript + کلیک کنید.
حال پس از معرفی مجموعه دورههای آموزش برنامه نویسی تم آف و شرح مختصر برخی از دورههای این مجموعه، در بخش بعدی مقاله «چگونه تمرین برنامه نویسی کنیم» به بررسی ۱۳ اصل مهم برای رسیدن به جواب چگونه برنامه نویسی تمرین کنیم ، پرداخته میشود.
۱۳ اصل مهم برای رسیدن به جواب چگونه برنامه نویسی تمرین کنیم ؟
گاهی اوقات در فرهنگ مبتنی بر بهرهوری، تمرین کنار گذاشته شده و از آن به عنوان اتلاف وقت نام برده میشود. مخصوصاً برای افرادی که دارای سالها تجربه باشند، این مسئله بیشتر اتفاق میافتد. اما در صورتی که برنامه نویسی حرفه اصلی یک فرد باشد، تمرین برنامه نویسی یکی از اصول اولیه و بسیار مهم در این حوزه به حساب میآید. روشهای گوناگونی برای تمرین برنامه نویسی وجود دارند که در ادامه این بخش از پاسخ سوال چگونه برنامه نویسی تمرین کنیم به طور جامع به آنها پرداخته شده است. ابتدا در بخش بعدی به روش کمک گرفتن از افراد مسلط پرداخته میشود.
۱. کمک گرفتن از افراد مسلط به برنامه نویسی
یکی از حوزههایی که تأثیر تمرین در آن بسیار مشهود است، ورزش به حساب میآید. در زمینههای گوناگون ورزشی، افراد حتی اگر به سطح بالایی از توانایی خود برسند، باز هم به تمرین ادامه میدهند و از مربیهای خود موارد جدیدی میآموزند. در برنامه نویسی نیز باید هر روز تمرین انجام شود تا فرد به سطح مورد نظر خود برسد. حتی زمانی که فرد در برنامه نویسی به تسلط خوبی رسید، بهتر است که باز هم به تمرین ادامه دهد و از دیگران موارد جدیدی بیاموزد. در ادامه به شرح موضوع انجام برنامه نویسی برای تمرین پرداخته شده است.
۲. انجام برنامه نویسی به عنوان تمرین
انجام تمرین برای همه برنامه نویسان به یک اندازه اهمیت دارد. این موضوع اصلا مهم نیست که برای مثال شخصی همین دیروز شروع به یادگیری «پایتون» (Python) کرده است یا یک توسعه دهنده «فولاستک» (Full-Stack) ۱۰ ساله به حساب میآید. همه برنامه نویسان و توسعه دهندگان باید تمرین برنامه نویسی را در برنامههای روزانه خود بگنجانند. «ساختمان دادهها» (Data Structure)، الگوریتمهای پایه، فرآیندهای نصب، تنظیمات محیط برنامه نویسی، طراحی برنامه و بسیاری رویکردهای دیگر، مواردی هستند که در زمینه برنامه نویسی نیاز به تمرین دارند و کسب مهارت در آنها با تمرین برنامه نویسی حاصل میشود. در ادامه این بخش از مقاله به شرح چالشهای کدنویسی برای تمرین برنامه نویسی پرداخته شده است.
- مقاله پیشنهادی: برنامه نویس فرانت اند ، بک اند و فول استک دولوپر — وظایف، مهارت ها و درآمد
۳. چالش های کدنویسی
چالشهایی که هنگام برنامه نویسی برای افراد به وجود میآیند و روش حل و مقابله با آنها یک راه بسیار مناسب برای تمرین برنامه نویسی و افزایش مهارت در این حوزه به حساب میآید. چالشها میتوانند سرگرمکننده نیز باشند. در سطوح گوناگون برنامه نویسی یعنی از پایهترین سطح گرفته تا سطحهای پیشرفته، انواع چالش وجود دارند که برای برنامه نویسان در هر سطح کدنویسی مناسب هستند. در بخشهای بعدی مطلب، پلتفرمهایی معرفی شدهاند که میتوان در آنها چالشهای برنامه نویسی را تمرین کرد.
تکرار در تمرین برنامه نویسی بسیار اهمیت دارد. اگر قبلاً چالشی بررسی شده باشد، بررسی مجدد آن همراه با رویکردهای جدید حل چالش، روش خوبی برای تمرین برنامه نویسی به حساب میآید. در ادامه این بخش برای یافتن سوال چگونه برنامه نویسی تمرین کنیم به موضوع یاد گرفتن یک زبان برنامه نویسی جدید پرداخته شده است.
۴. یادگیری زبان برنامه نویسی جدید
اگر شخصی در حال حاضر به یک زبان برنامه نویسی تسلط دارد، میتواند به عنوان تمرین برنامه نویسی شروع به یادگیری زبان جدیدی کند. ممکن است در روند یادگیری زبان برنامه نویسی جدید، فرد با فرآیندها و نکتههای تازه روبهرو شود و مهارتهای بیشتری را بیاموزد. در هر زبان برنامه نویسی معمولاً رویکرد متفاوتی برای رفع مسئلهها و مشکلها وجود دارد. زبانهای برنامه نویسی «ساختار نحوی» (Syntax) و زمینه کاری مخصوص به خود را دارند و الگوهای گوناگونی را برای حل مسائل برنامه نویسی ارائه میدهند. این کار دقیقاً شبیه به یادگیری یک زبان (طبیعی) خارجی است که میتوان در کنار یادگیری آن، فرهنگ، طرز فکر افراد محلی آن زبان و نحوه بیان احساسات را با استفاده از آن آموخت. در بخش بعدی مطلب «چگونه برنامه نویسی تمرین کنیم» به بررسی تستهای عملکردی پرداخته شده است.
۵. تست های عملکردی
برای بررسی عملکرد بخشهای مختلف یک برنامه، مانند بررسی عملکرد «کتابخانهها» (Library) یا بررسی اینکه کدام «فریمورک» (Framework) عملکرد سیستم و برنامه را بهبود میبخشد، تستهای عملکردی وجود دارند که به عنوان تمرین برنامه نویسی میتوان از آنها استفاده کرد. در این تستها میتوان به بررسی جایگزینهای بهتر برای بهبود کدها یا استفاده از الگوریتمهای دیگر در برنامه نیز پرداخت. همچنین، تستهای دیگری برای درک بهتر روش عملکرد «پیچیدگی زمانی» (Time Complexity) و «پیچیدگی فضایی» (Space Complexity) در برنامه وجود دارند. در بخش بعدی به رویکرد دیگری برای تمرین برنامه نویسی، یعنی «خطایابی» (Debug) کدها پرداخته شده است.
۶. خطایابی کدها
خطایابی یا همان اشکالزدایی کدها میتواند روشی برای تمرین برنامه نویسی به حساب بیاید. همچنین، اگر این کار با ابزارهای اشکالزدایی کد انجام شود، تأثیر بهتری روی تمرین برنامه نویسی افراد خواهد گذاشت. اکثر زبانهای برنامه نویسی اصلی دارای ابزارهای اشکالزدایی کد هستند. در اشکالیزدایی کدها، متغیرهای هر حلقه، «اندازه» (Size) برنامه در حین پیادهسازی آن، اینکه آیا همه خطهای برنامه اجرا شدهاند و سایر موارد، مورد بررسی قرار میگیرند. در بخش بعدی به شرح تمرین در برنامه نویسی با استفاده تغییرات در کدهای برنامه پرداخته شده است.
۷. تغییرات در کدهای برنامه
برای تمرین برنامه نویسی میتوان تغییراتی را در پروژه خود ایجاد و بررسی کرد که این تغییرات چگونه روی یک برنامه تأثیر میگذارند و هر تغییری کدام بخش از برنامه را تحت تأثیر خود قرار میدهد. میتوان بررسی کرد که آیا این تغییرات کارایی و خوانایی کدها را افزایش میدهند یا تأثیری روی برنامه نداشتهاند؟ همچنین با استفاده از این روش بررسی میشود که درجه اهمیت هر بخش از کدها در چه حدی است و کدام بخش کار میکند و کدام بخش تأثیر چندانی روی برنامه ندارد.
حتی اگر تغییرات بسیار کوچک باشند، باید تأثیری که روی کدهای برنامه میگذارد به طور جامع بررسی و مشخص شود. این رویکرد یکی از روشهای تمرین برنامه نویسی به حساب میآید. در بخش بعدی برای ادامه پاسخ به سوال مهم چگونه برنامه نویسی تمرین کنیم و برای انجام این کار به بررسی خواندن کدهای دیگران پرداخته شده است.
۸. خواندن کدهای نوشته شده توسط دیگران
دنبال کردن، خواندن و بررسی کدهایی که توسط برنامه نویسان با سابقه و خبره نوشته شدهاند یکی از راههای تمرین برنامه نویسی به حساب میآید و به افراد میآموزد که چطور کدهای ساده همراه با کارایی بالا بنویسند. همچنین این روش میتواند ایدههایی را درباره فریمورکها، کتابخانهها، ابزارهای گوناگون و بهترین روشها جهت نوشتن برنامهها به افراد بدهد. در ادامه این بخش به بررسی روش تمرین برنامه نویسی از طریق شرکت در دورههای آنلاین برنامه نویسی پرداخته شده است.
۹. شرکت در دوره های آنلاین برنامه نویسی
امروزه هزاران استاد و مدرس خبره و سایتهای برنامه نویسی گوناگون وجود دارند که اطلاعات و آموزشهای خود را به صورت رایگان و غیر رایگان در اینترنت و در اختیار همه قرار میدهند. اگر اطلاعات مورد نیاز از شغل یا کلاسهای حضوری رایج دریافت نمیشود، میتوان با استفاده از کلاسهای رایگان یا با هزینه پایین که توسط وب سایتهایی از جمله تم آف و دیگر وبسایتهای آموزش آنلاین ارائه شدهاند به یادگیری و تمرین برنامه نویسی با روش مورد نظر پرداخت.
همچنین سایت یوتیوب هم بهترین منبع رایگان برای یادگیری و تمرین برنامه نویسی به حساب میآید و فیلمهای آموزشی بسیار زیادی در یوتیوب به صورت کاملاً رایگان و البته اکثراً به زبان انگلیسی در دسترس هستند. این دورههای آنلاین با عنوان «دوره آزاد انبوه برخط» (Massive Open Online Course | MOOC) شناخته میشوند. در بخش بعدی به بررسی استفاده از منابع و نرم افزارهای «متن باز» (Open Source) پرداخته شده است.
۱۰. استفاده از منابع متن باز
میتوان با استفاده از پروژههایی که برنامه نویسان دیگر به اتمام رساندهاند و بررسی آنها، تمرین برنامه نویسی انجام داد. در نرم افزارهای متن باز هر چیزی که نیاز است را میتوان به برنامه اضافه کرد. همچنین میتوان درگیر تست یا بررسی نرم افزار نیز بود و همه این عملیات به صورت رایگان انجام میشوند. اگر قصد تمرین برنامه نویسی با استفاده از نرم افزارهای متن باز وجود داشته باشد، بهتر است که یک حساب کاربری «گیتهاب» (GitHub) برای ورود به گروههای برنامه نویسی متن باز ایجاد و مشکلات، خطاها و سوالات خود را در وب سایت «Stack Overflow» جستجو کرد. در بخش بعدی به بررسی روش تمرین برنامه نویسی با استفاده از ورود به یک تیم برنامه نویسی پرداخته میشود.
۱۱. ورود به یک گروه برنامه نویسی
در گروهها و تیمهای برنامه نویسی کمک و همکاری با یکدیگر در اولیوت قرار میگیرد. همه اعضای تیم هم در شکستها و هم در موفقیتها با یکدیگر شریک هستند. میتوان برای تمرین کدنویسی وارد یک گروه شد و همراه با آنها و انجام وظایفی از پروژه به تمرین برنامه نویسی پرداخت. در بخش بعدی مبحث «چگونه برنامه نویسی تمرین کنیم» به شرح روش تمرین برنامه نویسی از طریق طراحی و انجام پروژه نرم افزاری پرداخته شده است.
۱۲. طراحی یک پروژه نرم افزاری
برای تمرین برنامه نویسی میتوان یک مسئله برنامه نویسی قابل حل را در نظر گرفت و راه حلی برای آن پیدا کرد. سپس با استفاده از تقسیمبندی راه حل به بخشهای کوچکتر، آنها را به ترتیب حل و در کنار یگدیگر قرار داد. نیاز است که روی هر کدام از بخشهای پاسخ این برنامه تمرکز کرد و برای حل هر بخش زمان مشخصی را در نظر گرفت. اگر حل یک بخش بیشتر از زمان معمول طول بکشد، میتوان از برنامه نویسان درخواست کمک کرد تا بتوان مشکل این اتلاف وقت را متوجه شد. بخش بعدی از روشهای تمرین برنامه نویسی به بررسی اشتباهات به وجود آمده در حین نوشتن یک برنامه اختصاص دارد.
۱۳. بررسی اشتباهات به وجود آمده در حین نوشتن یک برنامه
برای یادگیری بیشتر برنامه نویسی و تمرین آن، باید تا جایی که ممکن است اشتباهات ایجاد شده کدنویسی هنگام کار روی پروژههای برنامه نویسی به طور جامع مورد بررسی قرار بگیرند. همچنین باید بررسی شود که چرا این اشتباهات رخ دادهاند و برای جلوگیری از اشتباهات مشابه در برنامههای بعدی چه کاری باید انجام شود. اگر اشتباهی در کدهای نوشته شده رخ دهد و نتوان به راحتی دلیل آن را یافت، گزینههای مختلفی برای پی بردن به دلیل این اشتباه از جمله پرسیدن آن از برنامه نویسان دیگر، خواندن کتاب درباره آن موضوع یا جستجو درباره آن مشکل وجود دارند.
به این ترتیب با استفاده از تمرین برنامه نویسی از این طریق، مهارتها و مدلهای جدیدی فرا گرفته خواهند شد و در کار استفاده میشوند تا از اشتباهات مشابه در برنامههای بعدی جلوگیری شود. در بخش بعدی از مقاله «چگونه برنامه نویسی تمرین کنیم» به بررسی برخی از پروژههای محبوب و ساده برای تمرین برنامه نویسی پرداخته شده است.
چند پروژه ساده برای تمرین برنامه نویسی
همانطور که در بخشهای قبل مورد بررسی قرار گرفت، یکی از روشهای تمرین برنامه نویسی تعریف و ایجاد پروژههای ساده کدنویسی است. برای ایجاد این پروژههای ساده، قبل از شروع کدنویسی، ابتدا مراحل زیر باید بررسی و ایجاد شوند:
- اعلان متغیرهای برنامه
- جمعآوری ورودیهای کاربران
- ذخیره اطلاعات
- بررسی عملیاتی که از طریق حلقهها تکرار و انجام میشوند.
- نوشتن «توابع» (Function) برای جلوگیری از تکرار بلوکهای کدها
- مقالههای پیشنهادی:
- متغیر در برنامه نویسی چیست و چه کاربردی دارد؟ — Variable به زبان ساده
- ورودی و خروجی در پایتون — به زبان ساده
- حلقه while و do…while در ++C — راهنمای کاربردی
- آموزش حلقه for در پایتون | + range در پایتون | به زبان ساده
البته هر زبان برنامه نویسی موارد خاص مخصوص به خودش را دارد که باید برای آن تعریف شوند و در بالا تنها مواردی فهرست شدهاند که در اکثر زبانهای برنامه نویسی مشترک هستند و مورد استفاده قرار میگیرند. در ادامه به روش چگونگی استفاده از پروژههای برنامه نویسی پرداخته شده است.
نحوه استفاده از پروژه های برنامه نویسی چگونه است؟
برای استفاده از پروژههای برنامه نویسی به عنوان تمرین برنامه نویسی و تکمیل کردن پاسخ سوال «چگونه برنامه نویسی تمرین کنیم» باید مراحل زیر بررسی شوند:
- ابتدا باید همه دستورالعملهایی را به دقت مطالعه کرد که قرار است در برنامه پیادهسازی شوند. همچنین، از فهمیدن دقیق صورت سوال اطمینان حاصل شود. همچنین میتوان پروژه را با زبان خود تعریف کرد تا ادامه کار سادهتر باشد.
- باید تلاش کرد تا با اطلاعات خود و بدون استفاده از وب سایتهایی مانند یوتوب و مثالهای وب سایت گیتهاب به راه حل پروژه دست یافت. ممکن است در ابتدا این کار سخت به نظر برسد، اما این مورد هم تمرین خوبی برای برنامه نویسی و هم یک تمرین «روانشناسی رفتاری» (Behavioral Psychology) به حساب میآید.
- در صورتی که حل مسئله بدون کمک گرفتن در مرحله قبلی بسیار دشوار باشد و پیشرفتی حاصل نشود، میتوان از آموزشهای وب سایت یوتوب و بررسی نمونه کدهای شبیه به پروژه استفاده کرد.در واقع یکی از کارهایی که به دفعات در برنامه نویسی انجام میشود، جستجو در اینترنت برای رفع مشکل است. در این راستا معمولاً از وبسایتهای پرسش و پاسخ به ویژه Stack Overflow استفاده میشود و معمولاً ویدیوهای آموزشی یوتیوب هم بسیار مفید هستند.
- بعد از انجام این مراحل و درک جامع پروژه، تلاش برای «نوشتن کدهای برنامه» بدون نگاه کردن به آموزشهای پیشین آغاز میشود. در این بخش نیز باید حداکثر تلاش خود را انجام داد و سعی کرد تا جایی که امکان دارد بدون استفاده از هیچ راهنمایی، برنامه نویسی انجام شود. این بخش نیز به جز تمرین برنامه نویسی، یک تمرین روانشناسی رفتاری به حساب میآید.
- هر کاری برای رسیدن به حل پروژه به جز استفاده کورکورانه، بدون بررسی لازم و کپی کردن پاسخ از وب سایتها خوب است. اگر این کار انجام شود، کاری به جز پشت کردن به یادگیری خود نیست. با استفاده از این روش پروژه با سرعت زیادی حل میشود ولی آموزنده چیزی یاد نمیگیرد.
- با این حال، اگر بعد از تلاشهای بسیار، فرد احساس کرد که کاملاً احساس کرد که به هیچ وجه نمیتواند به تنهایی و بدون کمک پروژه را پیش ببرد، باید مدتی را استراحت کند. در زمانی که فرد در حال استراحت است طبق تحقیقات علوم مغز و اعصاب، ذهن به یادگیری خود ادامه میدهد. این موضوع به این دلیل است که ذهن از حالت متمرکز به حالت پراکنده تغییر وضعیت خواهد داد.
- زمانی که مسئلهای حل شد، آموزنده باید این موقعیت را جشن بگیرد و خوشحال باشد. زیرا افراد در یادگیری خود به روحیه مثبت نیاز دارند. در آینده زمانی که فرد حس کند مسئلهای را نمیتواند انجام دهد، ذهنش با ارجاع به گذشته و یادآوری قابلیت توانستن آن، انگیزهای برای حل مسئله به فرد میدهد. چون قبلاً نیز توانسته است مسائل دیگری را حل کند.
- در نهایت باید این رویکرد در پروژههای بسیاری برای تمرین برنامه نویسی تکرار شود تا نتیجه قابل قبولی را به وجود بیاورد.
میتوان مراحل فوق را برای هر زبان برنامه نویسی و پروژهای به کار برد. حال در ادامه به بررسی چند پروژه ساده برای تمرین برنامه نویسی پرداخته شده است. ابتدا به بررسی روش ساخت برنامه بازی شطرنج با برنامه نویسی پرداخته میشود.
پروژه بازی شطرنج برای تمرین برنامه نویسی
ساخت بازی شطرنج چون یک بازی کلاسیک به حساب میآید و اکثر افراد از قبل آن را میشناسند، روش خوبی برای ایجاد یک پروژه برنامه نویسی است. اگر توسعه دهندهای برای تمرین برنامه نویسی و تقویت پایه اطلاعات خود به دنبال تعریف کردن پروژهای حرفهای و اساسی باشد، میتواند از ساخت بازی شطرنج استفاده کند. در ساخت این برنامه، ابتدا خانههای گوناگون شطرنج و مهرههای آن طراحی میشوند. سپس حرکات هر کدام از مهرهها برای آنها تعریف خواهند شد. در ادامه به بررسی ساخت یک پروژه برای موبایل پرداخته شده است.
- مقالههای پیشنهادی:
- الگوریتم بازی مار و پله همراه با کد — به زبان ساده
- آموزش ساخت بازی مار با پایتون — ساده و رایگان + نمونه کد
ساخت یک برنامه موبایل گرافیکی برای تمرین برنامه نویسی
در طراحی برنامههای موبایل یکی از مهمترین مسائلی که به آن تأکید میشود، ساخت رابط گرافیکی کاربر جذاب در طراحی برنامهها است. طرحبندی و قالب، میتوان از زبانهای HTML و CSS برای ایجاد یک طرحبندی بسیار زیبا استفاده کرد که در سیستم عاملهای اندروید و «آی او اس» (IOS) کابرد دارد. تمرینهای برنامه نویسی پایهای این مبحث در کنار آموزش کدنویسی منطقی برنامه موبایل به ایجاد اینترفیس نیز میپردازد. در بخش بعدی به بررسی روش ایجاد یک ماشین حساب پرداخته شده است.
ایجاد یک ماشین حساب برای تمرین برنامه نویسی
ساخت یک ماشین حساب ساده یکی از بهترین پروژههای مهندسی نرم افزار به حساب میآید که برای تمرین برنامه نویسی بسیار مناسب است. در این پروژه امکان تمرین مواردی درباره ساخت قالب و واسط گرافیکی، استفاده از کدهای منطقی برای خواندن اعداد، ایجاد نمادهای طرحبندی و استفاده از کدهای منطقی برای اطلاعات در راستای به دست آوردن نتایج ماشین حساب، برای فراگیران برنامه نویسی فراهم شده است.
پروژههای کوچکی مانند ساخت ماشین حساب برای تمرین برنامه نویسی به اندازه کافی چالش برانگیز هستند. چنین پروژههایی باعث میشوند که ذهن به چالش کشیده شود و فرد برای ایجاد بخشهای گوناگون ماشین حساب تلاش کند. برای مثال میتوان جهت ایجاد این برنامه از زبان برنامه نویسی «جاوا اسکریپت» (JavaScript) استفاده کرد، این زبان را میتوان در کنار HTML و CSS برای ساخت کاربردهای تحت وب قرار داد. در ادامه به معرفی و بررسی ایجاد یک برنامه «فهرست وظایف» (To-Do List) پرداخته شده است.
- مقالههای پیشنهادی:
- آموزش ساخت ماشین حساب با پایتون + کد کامل پروژه
- ساخت یک ماشین حساب ساده در جاوا — از صفر تا صد
- ساخت اپلیکیشن ماشین حساب با فلاتر — از صفر تا صد
ساخت برنامه To-Do برای تمرین برنامه نویسی
ساخت یک برنامه لیست To-Do یا همان فهرست وظایف، یک برنامه جذاب و سرگرم کننده برای تمرین و تست مهارت افراد در برنامه نویسی به حساب میآید. این برنامه شامل اکثر مواردی از جمله کلیدها، انیمیشنها، تعاملات کاربر و رویدادها میشود که برای ایجاد یک «رابط کاربری» (User Interface | UI) ساده مورد نیاز است. بخش بعدی به شرح پروژه برنامه نویسی ابزار تبدیل وزن اختصاص داده میشود.
- مقالههای پیشنهادی:
- ساخت اپلیکیشن ToDo با Django و React — از صفر تا صد
- ساخت اپلیکیشن ToDo با مجموعه MEVN (بخش اول) — از صفر تا صد
ابزار تبدیل وزن برای تمرین برنامه نویسی
ابزار تبدیل وزن یکی دیگر از پروژههای ساده مهندسی نرم افزار به حساب میآید که برای تمرین برنامه نویسی مورد استفاده قرار میگیرد. این برنامه نیز مانند پروژه قبلی یعنی برنامه لیست وظایف در چالشهای ایجاد قالب و رابط کاربری استفاده میشود و اطلاعات و بخشهایی برای دریافت ورودی کاربر ایجاد میکند. در ادامه به معرفی برنامه بازی سنگ، کاغذ، قیچی برای تمرین کدنویسی پرداخته شده است.
کدنویسی بازی سنگ، کاغذ، قیچی برای تمرین برنامه نویسی
سنگ، کاغذ، قیچی یک بازی کلاسیک است که اکثر افراد روش بازی آن را میدانند و به همین دلیل به راحتی میتوان این بازی را به یک پروژه علوم کامپیوتر برای توسعه دهندگانی تبدیل کرد که قصد تمرین برنامه نویسی دارند. کدنویسی این برنامه در دو بخش دریافت اطلاعات ورودی از کاربر و استفاده از عناصر تصادفی انجام میشود. برنامه نویس برای نوشتن این پروژه برنامه نویسی هم از اطلاعات روش بازی و هم از منطق برنامه نویسی استفاده میکند. پروژههای برنامه نویسی جذاب مانند این برنامه، یک محصول تعاملی به حساب میآیند که میتوان بازی مورد نظر را در آنها انجام داد. در ادامه به معرفی بازی «Tic Tac Toe» برای کدنویسی و تمرین برنامه نویسی پرداخته شده است.
- مقالههای پیشنهادی:
- ساخت بازی سنگ کاغذ قیچی در پایتون — راهنمای کاربردی
- ساخت بازی سنگ، کاغذ، قیچی در جاوا اسکریپت — راهنمای کاربردی
ساخت بازی دوز برای تمرین برنامه نویسی
بازی Tic Tac Toe یا همان دوز یک بازی بسیار ساده کودکانه به حساب میآید که قوانین بسیار سادهای دارد. با این حال ساخت این بازی مقداری چالش برانگیزتر از چیزی است که به نظر میرسد. ایجاد طرحبندی و ظاهر این بازی بسیار ساده است، اما کدنویسی آن باعث ایجاد چالش در برنامه نویسی این پروژه میشود. برنامه نویسی پروژههایی که قرار است در آنها زمان پایان بازی تعریف شود، یکی از بهترین روشهایی است که برای تمرین برنامه نویسی و به چالش کشیدن ذهن وجود دارند. در ادامه این بخش، به معرفی برنامه ایجاد یک «خزنده وب» (Web Scraper) پرداخته شده است.
- مقالههای پیشنهادی:
- پیاده سازی بازی دوز در ++C — از صفر تا صد
- ساخت بازی دوز با جاوا اسکریپت — از صفر تا صد
ایجاد یک خزنده وب برای تمرین برنامه نویسی
برنامه نویسی یک خزنده وب یا Web Scraper را میتوان به روشهای مختلفی انجام داد. برای مثال، برنامهای میتوان طراحی کرد که دادهها را به یک فایل CSV وارد میکند تا بتوان از برنامهای مانند اکسل برای ایجاد نمودارها، گرافها، چارتها و سایر موارد استفاده کرد. در تمرین برنامه نویسی و ایجاد پروژههایی مانند این موضوع، ممکن است نیاز باشد برنامهها و کتابخانههای دیگری نیز دانلود شوند.
برای مثال اگر قصد طراحی این برنامه با زبان پایتون وجود داشته باشد، نیاز است که «توزیع پایتون آناکوندا» (Anaconda Python Distribution) برای آن نصب شود. این ابزار، یک کتابخانه بزرگ به حساب میآید که ابزارهای داخلی گوناگونی برای پایتون را در خود جای داده است. در ادامه این بخش به معرفی ساخت یک وب سایت ساده پرداخته میشود.
- مقالههای پیشنهادی:
- چگونه یک «خزنده وب» (Web Crawler) بسیار ابتدایی بسازیم؟
- ساخت خزنده وب (Web Crawler) با فریمورک Scrapy — از صفر تا صد
- ساخت وب اسکرپر (Web Scraper) با جاوا اسکریپت — راهنمای کاربردی
ساخت یک وب سایت ساده برای تمرین برنامه نویسی
پروژه طراحی یک وب سایت ساده، ترکیبی از اصول طراحی، فایلهای لینک شده، میزبانی وب و کدنویسی منطقی است. این برنامه یکی دیگر از پروژههای برنامه نویسی جذابی به حساب میآید که میتوان از آن به عنوان تمرین برنامه نویسی استفاده کرد. مخصوصاً اگر تمرین کدنویسی در راستای تبدیل شدن فرد به یک توسعه دهنده وب باشد، ساخت یک وب سایت ساده برای پیشرفت آن بسیار سودمند خواهد بود. هر چه برنامه نویس اصول بیشتری از طراحی وب سایت را یاد بگیرد و تمرین بیشتری داشته باشد، وب سایتی پیچیدهتر میتواند طراحی کند. در بخش بعدی به معرفی پروژه ورق زدن تصاویر پرداخته شده است.
- مقاله پیشنهادی: طراحی یک وب سایت ساده با PHP — از صفر تا صد
انجام پروژه ورق زدن تصاویر برای تمرین برنامه نویسی
توسعه دهندگان در زمینه علوم کامپیوتر، معمولاً در دورهای از زندگی کاری خود با تصاویر دیجیتال کار میکنند. یادگیری نحوه جایگزینی و تغییر تصویر، تغییر اندازه و ورق زدن آنها به تواناییهای برنامه نویسان قابلیتهای بسیاری میافزاید. با اکثر زبانهای برنامه نویسی میتوان این کارها را انجام داد ولی در این حوزه بیشتر از زبانهای جاوا اسکریپت، CSS و HTML استفاده میشود. در ادامه و برای پاسخ به سوال چگونه برنامه نویسی تمرین کنیم ؟ به معرفی بهترین پلتفرمها برای یافتن پروژههای متن باز جهت تمرین برنامه نویسی پرداخته شده است.
پروژه های متن باز ، یکی از بهترین راه های تمرین برنامه نویسی
اکثر کلاسها و دورههای آموزشی که فراگیران هنگام یادگیری توسعه نرم افزار میگذرانند، نمونه پروژههایی برای تمرین برنامه نویسی دارند. با این حال، هر کدام از این پروژهها را فقط چند بار میتوان تمرین کرد و پس از آن باید به دنبال پروژههای جدیدتری برای تمرین کدنویسی بود. روش دیگری که میتوان پروژههایی برای تمرین برنامه نویسی و کار روی آنها یافت، استفاده از پروژههای متن باز به حساب میآید. پروژههای متن باز پروژههای متنباز برای افراد مایل به برنامه نویسی در پروژهها، فرصت مشارکت را فراهم میکنند.
برای استفاده از این پروژهها، ابتدا باید قوانین و توضیحات آنها مطالعه شوند. سپس باید از این موضوع اطمینان حاصل کرد که کدام بخش از پروژه را میتوان و کدام بخش را نمیتوان انجام داد. استفاده از نرم افزارهای متن باز یکی از بهترین روشها برای تمرین برنامه نویسی به حساب میآید که در ادامه به دلایل این موضوع پرداخته شده است:
- با استفاده از پروژههای متن باز مسائل دنیای واقعی را میتوان حل کرد.
- میتوان به وسیله پروژههای متن باز با زبانهای گوناگون دنیا آشنا شد.
- در پروژههای متن باز میتوان روش مقابله توسعه دهندگان با مشکلات برنامه را مشاهده کرد.
- در پروژههای متن باز اگر کاری به بهترین شکل انجام شود، مورد توجه قرار میگیرد.
بهترین پلتفرم ها برای پیدا کردن پروژه های متن باز جهت تمرین برنامه نویسی
در ادامه این بخش سه وب سایت محبوب و پرطرفدار بین برنامه نویسان برای دریافت پروژههای متن باز و تمرین برنامه نویسی ارائه شدهاند. ابتدا به بررسی و معرفی وب سایت گیتهاب پرداخته شده است.
وب سایت GitHub برای تمرین برنامه نویسی
وب سایت گیتهاب یکی از وب سایتهایی است که تقریباً همه توسعهدهندگان و برنامه نویسان دنیا با آن آشنا هستند. این وب سایت مکانی برای ارائه پروژههای مشکوک و وادار کردن برنامه نویسان به انجام کار برای دیگران نیست و از امنیت بالایی برخوردار است. در این وب سایت میتوان برخی از قابل توجهترین پروژههای متن باز امروزی را یافت. تصویر زیر صفحه اول وب سایت گیتهاب را نشان میدهد.
اگر کاری روی پروژههای متن باز گیتهاب انجام شود، بیتوجه نمیماند و اگر در حل مسائل پروژه به نتایج خوبی رسید، ممکن است مورد توجه برنامه نویسان بزرگ قرار گیرد. یعنی میتوان در وب سایت گیت هاب با انجام پروژههای متن باز مهارتهای خود را تقویت کرد و همچنین در معرض توجه برنامه نویسان دیگر قرار گرفت. در ادامه این بخش، وب سایت «Code Triage» برای تمرین برنامه نویسی مورد بررسی قرار گرفته است.
وب سایت Code Triage برای تمرین برنامه نویسی
پیدا کردن پروژه متن بازی که مناسب سطح برنامه نویسی هر شخص باشد، یکی از بزرگترین چالشها برای زمانی است که قصد تمرین برنامه نویسی و در عین حال مشارکت در یک پروژه متن باز وجود داشته باشد. برای یافتن این نوع از پروژهها وب سایت Code Triage یک گزینه مناسب به حساب میآید. در حال حاضر، این وب سایت دارای تقریباً ۶۵۰۰ پروژه متن باز همراه با ۶۰۰۰۰ توسعه دهندهای است که روی آنها کار میکنند. تصویر زیر صفحه اول وب سایت Code Triage را نشان میدهد. همچنین، پروژههای گیتهاب بسیاری در این صفحه مشاهده میشوند.
وب سایت Code Triage نه تنها پروژههای متن باز را در اختیار برنامه نویسان برای تمرین برنامه نویسی قرار میدهد؛ بلکه، افراد را وارد جامعه برنامه نویسان و توسعه دهندگان از سطحهای مبتدی تا پیشرفته میکند. این موضوع برای هر برنامه نویس مشتاقی ضروری است. تعداد بالای گزینههای موجود برای تمرین برنامه نویسی در این وب سایت به این معنی است که به احتمال زیاد در هر زمینهای پروژهای برای تمرین یافت خواهد شد. در ادامه این بخش به معرفی و شرح وب سایت «Open Source Friday» پرداخته شده است.
وب سایت Open Source Friday برای تمرین برنامه نویسی
وب سایت Open Source Friday با اکثر پلتفرمهای متن باز دیگر تفاوت دارد. ابتدا باید برای ورود به این وب سایت یک حساب کاربری به صورت رایگان ایجاد کرد. میتوان با حساب کاربری وب سایت گیتهاب نیز وارد این پلتفرم شد. وب سایت Open Source Friday سعی میکند فرد را در پروژهای قرار دهد که برای آن معنی دارد. در ابتدا میزان اشتیاق برنامه نویسان را هنگام مشارکت افزایش میدهد. اشتیاق برای انجام یک پروژه یکی از جنبههای حیاتی توسعه نرم افزار به حساب میآید. زمانی که برنامه نویسی در این وب سایت حساب کاربری میسازد و وارد آن میشود، وب سایت به آن نحوه مشارکت در پروژههای متن باز را میآموزد.
این موضوع همان مسئلهای است که وب سایت Open Source Friday را از دیگر وب سایتها متمایز میکند. به دلیل اینکه ممکن است برای کسی که به تازگی یادگیری برنامه نویسی را دنبال میکند، با نحوه مشارکت در یک پروژه متن باز آشنا نباشد، این قابلیت وب سایت Open Source Friday یک ویژگی مهم و کاربردی برای افراد تازه کار به حساب میآید. در ادامه به بررسی بهترین پلتفرمها برای تمرین برنامه نویسی افراد تازه کار پرداخته شده است.
بهترین پلتفرم ها برای تمرین برنامه نویسی افراد تازه کار
باید به این نکته در مسیر انجام پروژهها توجه کرد که مکانهایی بسیار عالی برای تمرین برنامه نویسی آنلاین وجود دارند. یکی از روشهای تمرین برنامه نویسی، حل مشکلات برنامه نویسان در پروژههای شرکتهای دنیای واقعی است. برطرف کردن این چالشهای کوچکی که برای برنامه نویسان تازه کار تا پیشرفته به وجود میآیند، یکی از بهترین شیوههایی است که میتوان با استفاده از آنها، پاسخ سوال چگونه برنامه نویسی تمرین کنیم را به دست آورد.
در این بخش سه وب سایتی ارائه شدهاند که امکان این نوع تمرین برنامه نویسی و توسعه مهارتها را برای برنامه نویسان به وجود میآورند. توصیه میشود که به طور دائم چالشهای برنامه نویسی این وب سایتها مورد استفاده قرار بگیرند زیرا بالاترین سطح توسعه دهندگان نیز علاقه زیادی به انجام چالشهایی دارند که این وب سایتها ایجاد میکنند. در ادامه ابتدا به معرفی وب سایت «Geeks for Geeks» پرداخته شده است.
وب سایت Geeks for Geeks
در صفحه اول وب سایت Geeks for Geeks بخشی به نام «تمرین کدنویسی» (Practice Coding) وجود دارد که برای تمرین برنامه نویسی باید روی آن کلیک شود. بعد از ورود به این صفحه، فهرستی از مسائلی مشاهده میشود که توسط شرکتهای بزرگ از جمله «مایکروسافت» (Microsoft)، گوگل، «ادوبی» (Adobe) و «سامسونگ» (Samsung) ارائه شدهاند. میتوان برای انتخاب پروژه مورد نظر، آن را با گزینههایی از جمله سطح دشواری، حل مسائل مبتنی بر تابع یا تابعمحور و سایر موارد فیلتر کرد. استفاده از این بخش وب سایت Geeks for Geeks میتواند افراد را با مشکلات دنیای واقعی برنامه نویسی روبهرو کند. این نوع از مسائل پیشرفت قابل توجهی برای برنامه نویسان به وجود میآورد. در ادامه تصویری از صفحه تمرین کدنویسی این وب سایت نمایش داده شده است.
اگر این وب سایت به طور کامل بررسی شود، وجود امکانات بسیار بیشتری توجه بازدید کننده آن را جلب خواهد کرد. برای مثال هر روز در سمت چپ بالای صفحه چیزی به عنوان «مسئله روز» (Problem Of The Day) ارائه شده است. بعد از ورود به این بخش، مسئلهای مشاهده میشود که زمان مشخصی برای حل دارد و باید در آن زمان مشخص، پاسخ مسئله به دست بیاید. همچنین تعداد افرادی که در حل این مسئله موفق بودهاند در وب سایت مشاهده میشوند. این رویکرد یکی از بهترین روشها برای تمرین برنامه نویسی به حساب میآید. ادامه این بخش به معرفی وب سایت «StackOverflow» اختصاص دارد.
وب سایت StackOverflow
این وب سایت دارای هیچ بخشی به نام تمرین برنامه نویسی یا کدنویسی نیست و پلتفرمی برای پرسش و پاسخ سوالهای برنامه نویسی به حساب میآید. اما زمانی که با دقت بیشتری در آن جستجو میشود، محتوای بسیار سودمند آن توجه خواننده را به خود جلب خواهد کرد. در این وب سایت بخشی به نام «سؤالات» (Questions) وجود دارد. در این بخش افراد سؤالات خود را درباره مشکل خود میپرسند و توسعه دهندگان با تجربه به آنها پاسخ میدهند. میتوان برای یادگیری، تمرین و برطرف کردن مشکلات برنامه نویسی این سوال و جوابها را مطالعه کرد.
زمانی که در حل پروژهای مشکلی پیش میآید، در اکثر مواقع میتوان با جستجو در این وب سایت به پاسخ سؤال خود رسید. وب سایت StackOverflow نیز مانند وب سایت معرفی شده قبلی، با پروژههای دنیای واقعی ارتباط دارد و این ارتباط یکی از بهترین روشها برای تمرین مهارتهای برنامه نویسی و کدنویسی است. در ادامه تصویری از صفحه اصلی این وب سایت مشاهده میشود.
در بخش بعدی مطلب «چگونه برنامه نویسی تمرین کنیم» به بررسی و معرفی وب سایت «Codewars» به عنوان مکانی مناسب برای تمرین مهارت کدنویسی پرداخته شده است.
وب سایت Codewars
در حال حاضر برای ورود به وب سایت Codewars باید ثابت شود که فرد تا حدودی حداقل با یک زبان برنامه نویسی آشنا است. این وب سایت برای دستیابی به این هدف در ابتدای ورود شخص، سؤالاتی در حوزه زبان برنامه نویسی انتخابی آن، از شخص میپرسد و در صورت اینکه به سؤالات پاسخ داده شود، امکان ورود به وب سایت برای آن فراهم میشود. همین روش ورود به وب سایت، رویکردی چالش برانگیز برای تمرین برنامه نویسی به حساب میآید. صفحه اول این وب سایت و مکان انتخاب زبان برنامه نویسی مورد نظر در تصویر زیر مشاهده میشود.
بعد از ورود به وب سایت Codewars میتوان از برنامههایی استفاده کرد که به طور خاص برای زبان انتخابی کاربر ارائه شدند. به وسیله این برنامهها میتوان زبان برنامه نویسی خود را تقویت کرد. با استفاده از این وب سایت یادگیری زبانها و سیستمهای دشوار نیز سادهتر میشوند و مهارتهای خود را میتوان در زمینههای گوناگون گسترش داد.
جمعبندی
تمرین برنامه نویسی یکی از گامهای بسیار مهم در فرآیند یادگیری و کسب تخصص در برنامه نویسی به حساب میآید. برای تمرین برنامه نویسی منابع و سایتهای زیادی وجود دارند و میتوان تمرین کدنویسی را با توجه به حوزهای از برنامه نویسی که فرد قصد فعالیت در آن را دارد انجام داد. مثلاً افرادی که قصد فعالیت در زمینه بازیسازی را دارند، میتوانند تمرین برنامه نویسی را با ساخت بازیهای ساده و کوچک آغاز کنند. در تمرین کدنویسی فرد باید سعی کند در درجه اول خودش هر طور شده مشکل را حل و تمرین را انجام دهد. در گام بعدی هم میتوان از وبسایتهای پرسش و پاسخ و منابع آموزشی مختلف موجود در اینترنت کمک گرفت.
در این مقاله سعی شد به طور جامع به این سوال پاسخ داده شود که چگونه تمرین برنامه نویسی کنیم. همچنین در راستای بررسی جامع این مبحث، در این نوشتار به اکثر سوالهای رایج پیرامون اینکه چگونه برنامه نویسی تمرین کنیم پرداخته شد. در این مطلب جامع، هر یک از روشهای گوناگون تمرین برنامه نویسی در بخشهای جداگانه مورد بررسی قرار گرفتند. در بخشهای میانی این مقاله به بررسی و معرفی برخی از پروژههای ساده و چالش برانگیز برای تمرین کدنویسی پرداخته شد.
در بخشهای پایانی به معرفی برخی از وب سایتهایی پرداخته شد که میتوان با پروژههای موجود در آنها، برنامه نویسی را تمرین کرد و همچنین وب سایتهایی بررسی شدند که محلی مناسب برای تمرین برنامه نویسی هستند. برخی از دورههای آموزشی برنامه نویسی تم آف نیز در این مقاله برای تمرین مهارت کدنویسی بیشتر به علاقهمندان و دانشجویان معرفی شدند.