هر برنامهنویسی در کنار یادگیری موضوعات پایهای یک زبان برنامهنویسی نیاز دارد که حتما برای یادگیری بهتر برنامه نویسی با پروژههای واقعی دست و پنجه نرم بکند. بسیاری از اوقات و مخصوصا در اوایل شما نمیتوانید پروژههای واقعی از مشتریان حقیقی پیدا کنید و در نتیجه نیاز پیدا خواهید کرد که پروژههایی را برای خود تعریف کرده و صرفا جهت یادگیری آن را توسعه دهید.
اما ایده برای پروژه نویسی نیز خود بخشی از داستان است. چه ایدههایی برای ساخت یک پروژه وجود دارد و به چه شکلی باید این ایدهها را گسترش داد؟
ما در این مطلب اختصاصی از وبسایت راکت قصد داریم شما را با پروژههایی آشنا کنیم که به عنوان یک برنامه نویس مبتدی میتوانید آنها را ایجاد کنید و در مسیر ساختن آن با چالشهای بسیار آموزنده همراه باشید.
نکته: در این مطلب برای ایجاد پروژهها ما به هیچ زبان برنامه نویسی و یا تکنولوژی خاص اشاره نکردهایم و به گونهای پروژهها را قرار دادهایم که سازگاری تمام و کمال را با تمام زبانهای برنامه نویسی داشته باشد. در نتیجه مخاطب این مطلب برنامه نویسان یک زبان برنامه نویسی خاص نبوده و قابل استفاده برای همگان است.
به یاد داشته باشید: بعد از ایجاد این پروژهها بهتر است با ایده و خلاقیت شخصی آنها را بیشتر توسعه دهید و براساس تکنیکهای کدنویسی تمیز، کدها را مرتبتر نوشته و آنها را روی مخازن گیتهاب قرار دهید. تک تک این پروژهها را بعدا میتوانید به عنوان نمونه کار به کارفرما خود نشان داده و بهتر مسیر استخدام را پیش بگیرید.
پروژه اول: ماشین حساب گرافیکی
همه ما با ابزار ماشین حساب آشنایی داریم و در نتیجه از نظر معماری ساخت در جهت آشنایی با پروژه مشکلی نخواهیم داشت. اگر از زبانهای برنامهنویسی که قابلیت توسعه رابط کاربری گرافیکی را به شما میدهند استفاده میکنید سعی کنید یک ماشین حساب گرافیکی را ایجاد کنید. این ماشین حساب میتواند جدای از چهار عمل اصلی، گزینههای دیگری نیز داشته باشد. برای مثال توان، جذر، توابع از پیش آماده و... . اگر از زبانی مانند جاوا اسکریپت استفاده میکنید میتوانید برای پیادهسازی محیط گرافیکی، آن را در مرورگر توسعه داده و این کار با استفاده از HTML/CSS انجام دهید.
اغلب زبانهای امروزی از یک یا چند کتابخانه برای توسعه رابط کاربری گرافیکی پشتیبانی میکنند اما به یاد داشته باشید که در این پروژه هدف ساختار و الگوریتم کدهای شماست و رابط گرافیکی در اولویت نیست. بنابراین اگر هیچ راهی برای توسعه رابط گرافیکی ندارید میتوانید یک ابزار مبتنی بر خط فرمان را توسعه دهید.
پروژه دوم: تکست ادیتور
هر برنامه نویسی به یک تکست ادیتور یا ویرایشگر متن نیاز دارد. مطمئنا توسعه یک مورد جدید برای کارهای شخصیتان کار چندان عاقلانهای نیست اما به عنوان نمونه کار و پروژهای که بخواهید با چالشهای برنامه نویسی آشنا شوید مطمئنا پروژه خوبی خواهد بود.
برای پیادهسازی اپلیکیشن خود میتوانید ویژگیهای یک ویرایشگر متن ساده مانند Notepad را در نظر بگیرید. قابلیت جستجو در متن، جایگزین کردن متن، قابلیت ذخیره سازی متن، باز کردن فایلهای متنی و مواردی از این دست میتوانند بخشی از اپلیکیشن شما باشند.
پروژه سوم: بازی مار
هیچ پروژهای فانتر و لذتبخشتر از ایجاد بازی نیست. در واقع با یادگیری توسعه بازی شما تجربیات بسیار جدید و نابی در زمینه برنامه نویسی کسب خواهید کرد. بازی مار یکی از کلاسیکترین و همگانیترین بازیهایی است که میتوان آن را مشاهده کرد.
با در نظر گرفتن ویژگیهای مختلف این بازی شما میتوانید به صورت حرفهای آن را پیادهسازی کرده و هر روز که پشت سیستمتان مینشینید ویژگی جدیدی را به این بازی اضافه بکنید.
مطمئنا بازی سازی تجربه جدید و چالش برانگیزی خواهد بود که در پس آن موضوعات آموزشی بسیار زیادی نهفته است.
پروژه چهارم: ایجاد یک وبلاگ
تقریبا در بیشتر زبانهای برنامه نویسی امروز قابلیت توسعه اپلیکیشنهای سمت سرور وجود دارد. اگر با پایتون کار میکنید Flask، اگر با جاوا اسکریپت کار میکنید: ExpressJS، اگر مایکروسافتی هستید: .NET Core و... . در نتیجه برای این پروژه با محدودیت چندانی روبرو نخواهید بود.
توسعه یک اپلیکیشن مبتنی بر وب شما را با لایههای جدیدی از برنامه نویسی آشنا میکند. با در نظر گرفتن این موضوع شما میتوانید با انجام این پروژه سراغ پروژه های بزرگتر مبتنی بر وب نیز بروید.
توسعه یک اپلیکیشن وبلاگی ساختار پیچیدهای نداشته و به سادگی میتوان درون مایهی آن را درک کرد. شما در وبلاگتان یکسری مطلب دارید که هر کدام از این مطالب مربوط به دستهبندی خاص میشود. همچنین برای قسمت مدیریت شما نیاز به یک فرایند احراز هویت خواهید داشت. در نتیجه مدیریت کاربران یکی دیگر از ویژگیهاییست که باید آن را پیادهسازی کنید.
پروژه پنجم: وبسایت نمونه کار
اگر یک توسعهدهنده وب هستید ایجاد کردن یک وبسایت نمونه کار به شما این امکان را میدهد تا هم با چالشهای جدید دنیای توسعه وب روبرو شوید و هم بتوانید نمونه کارهایتان را با دنیا به اشتراک بگذارید.
برای انجام چنین کاری بهتر است سراغ زبان های مربوط به طراحی وبسایت بروید. منظور HTML/CSS/JS است که به عنوان یک توسعه دهنده وب نمیتوانید از آنها گریزی داشته باشید.
پروژه ششم: اپلیکیشنهای مدیریتی
به مکانهای متفاوت اداری و تجاری فکر کنید. هر کدام از این مکانها برای مدیریت نیروی انسانی و کارهایی که انجام میدهند به یک اپلیکیشن مدیریتی نیاز دارند.
برای مثال یک بانک نیاز به ابزاری دارد که بتواند حسابها را مدیریت بکند، انتقال و افزایش موجودی را کنترل نماید، کاربران جدیدی را ثبت نام کرده و به هر کدام شماره حساب مخصوصی بدهد و... .
سعی کنید با استفاده از زبان برنامه نویسی که با آن کار میکنید و یک دیتابیس رابطهای، یک اپلیکیشن مدیریتی برای هر یک از ارگانهایی که با ساز و کار آن آشنایی دارید ایجاد کنید.
پروژه هفتم: اپلیکیشن هواشناسی
توسعه یک اپلیکیشن هواشناسی کار بسیار سادهای است اما برای انجام این کار باید روش استفاده کردن از APIهای یک وبسایت هواشناسی را بدانید.
در نتیجه در پروژه هفتم شما با ساخت یک اپلیکیشن هواشناسی یاد خواهید گرفت که به چه صورتی با یک REST API ارتباط برقرار کرده و از دیتاهای دریافتی در اپلیکیشنتان چگونه استفاده بکنید.
این اپلیکیشن میتواند مبتنی بر خط فرمان باشد، رابط گرافیکی داشته باشد و یا با مرورگر اجرا شود. تمام این موارد به اختیار خودتان بوده و تنها هدف این پروژه یادگیری چگونگی استفاده از REST API است.
پروژه هشتم: To-Do list و Note
اگر قصد ایجاد کردن یک اپلیکیشن خفن و جالب هم برای خود و هم برای دیگران را دارید ایجاد یک اپلیکیشن یادداشت برداری که قابلیت ایجاد لیست To-Do را نیز داشته باشد بسیار ایده خوبی است.
اگر قصد دارید این اپلیکیشن را برای سیستم عامل توسعه بدهید کارتان ساده خواهد بود اما اگر قصد داشته باشید که در محیط وبسایت آن را ایجاد کنید باید مرحلهای برای احراز هویت آن نیز در نظر بگیرید.
اما به صورت کلی بعنوان یک تجربه شخصی از این پروژه، بسیار ساده و لذت بخش بود.
در پایان
ساخت پروژه به شما کمک میکند که شیوه استفاده از ابزارهای برنامه نویسی را یاد بگیرید و تنها در قدمهای اولیه که برای مثال میتوانید از یک حلقه استفاده کنید و یا اینکه یک تابع را تعریف کنید بگذرید و به سوی موضوعات پیشرفتهتر گام نهید. برنامهنویسی درست مانند یک پازل است که شما در ابتدا باید با قطعات آن آشنایی پیدا کنید اما در مرحله بعد نیاز است که حتما شیوه استفاده از این قطعات را برای ایجاد یک پازل کامل یاد بگیرید.
پروژهها به شما این کمک را میکنند تا بتوانید فرایند ساخت پازل را یاد بگیرید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید