هدیه دریافت اعتبار ۱۵۰ هزارتومانی از پارسپک با ثبت نام در دوره های سون لرن

پیش نیاز های یادگیری برنامه نویسی

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

پیش نیاز برنامه نویسی

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

هدف گذاری و انگیزه یادگیری برنامه نویسی

اولین و مهم‌ترین پیش نیاز برای شروع برنامه نویسی، داشتن هدف است! قبل از شروع برنامه نویسی باید بتوانید به این سوال جواب دهید: “چگونه برنامه نویسی را شروع کنیم؟” اگر بتوانید به این سوال به صورت روشن جواب دهید، یعنی می‌توانید به سراغ گام‌های بعدی بروید. جواب دادن به این سوال از آن جهت مهم است که می‌تواند آغازگر قدم گذاشتن شما به یک دنیای بزرگ و بی انتها باشد. خیلی وقت‌ها در برنامه نویسی به مسائل یا مشکلات پیچیده‌ای برخورد می‌کنید که گاهی لازم است ساعت‌ها و روزها برای حل آن‌ها زمان بگذارید و این شرایطی است که گاهی تحمل یا دوست داشتن آن نیاز به عشق دارد! عشق به چه چیزی؟ به هدف!

آشنایی با زبان انگلیسی

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

معمولا برنامه نویس‌های دنیا تجربیات خود را در بلاگ‌های خود و یا در قسمت مقالات سایت‌های معتبر به زبان انگلیسی با دنیا به اشتراک می‌گذارند. همینطور برنامه نویسان زبان‌های مختلف، سوالات و مشکلات خود را برای پاسخگویی توسط برنامه نویس‌های دیگر دنیا در انجمن‌های معتبر و معروفی مثل stackoverflow به اشتراک می‌گذارند.

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

برنامه نویسان دیگر به این سوالات جواب می‌دهند و در صورت ارائه راهنمایی‌های مفید از سایر کاربران امتیاز دریافت می‌کنند. این امتیازات به عنوان رزومه در پروفایل آن‌ها ضبط می‌شوند. پس برای یک برنامه نویس مهم است که در این انجمن‌ها فعال باشد.

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

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

آشنایی با الگوریتم

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

الگوریتم چیست؟

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

حالا تنها مسئله اینجاست که این دستورات دقیق و مرحله به مرحله چگونه به دست می‌آیند و اصلا کامپیوتر چگونه باید این کارها را انجام دهد؟ اینجا جاییست که پای الگوریتم به میان می‌آید! مثلا در الگوریتم جمع دو عدد ما نیاز داریم به صورت زیر عمل کنیم:

  1. عدد a را بگیر
  2. عدد b را بگیر
  3. a+b را در c بریز
  4. c را نمایش بده

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

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

ریاضیات

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

بدون دانستن علم منطق، درک شرط‌های تو در تو در برنامه نویسی و نوشتن یک روند منطقی برای الگوریتم برنامه کمی مشکل و زمان‌گیر می‌شود.

تایپ

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

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

آشنایی با کامپیوتر

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

آشنایی با اینترنت

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

برای یادگیری برنامه نویسی به چه چیز هایی احتیاج داریم؟

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

  • کامپیوتر و سیستم عامل: مسلما برای نوشتن برنامه‌های کامپیوتری، کامپایل و اجرای آن‌ها به کامپیوتر احتیاج دارید و کامپیوتر بدون سیستم عامل چیزی جز یک جسد نیست!

وسایل لازم برای برنامه نویسی

  • اینترنت: ممکن است انتخاب شما برای برنامه نویسی، زبان‌های تحت وب نباشد اما همیشه ممکن است به مشکلاتی برخورد کنید و احتیاج به کمک داشته باشید. باید بتوانید از طریق اینترنت برای پیدا کردن مشکل خود جستجو کنید و یا آن را در انجمن‌هایی مثل سایت stackoverflow بپرسید.
  • مرورگر یا browser: برای جستجو در اینترنت یا خوندن مقالات مرتبط به یک مرورگر مثل کروم یا فایرفاکس احتیاج دارید. اگر قصد ورود به حوزه برنامه نویسی وب را داشته باشید باید بتوانید برنامه‌های خود را روی مرورگر اجرا و تست کنید.
  • ویرایشگر متن یا text editor: برای اینکه بتوانید کدهای ساده را در کامپیوتر بنویسید، داشتن یک ویرایشگر متن تقریبا کافی به نظر می‌رسد. معمولا سیستم‌های عامل به طور پیشفرض یک ویرایشگر متن در خود دارند. مثلا ویندوز دارای ویرایشگر متن notepad، لینوکس Vim و مکینتاش textEdit است.
  • کامپایلر: نرم افزار شما باید بعد از نوشته شدن از زبان سطح بالای نزدیک به زبان انسان به زبان ماشین ترجمه شود و این کار را کامپایلرها انجام می‌دهند. اگر برای برنامه نویسی از یک IDE استفاده می‌کنید، آن IDE معمولا دارای یک کامپایلر نیز می‌باشد ولی اگر برای برنامه نویسی از یک ویرایشگر متن استفاده کنید، مجبور هستید از یک کامپیایلر به صورت جداگانه استفاده کنید.
  • IDE: بعد از پیچیده‌تر شدن زبان‌های برنامه نویسی، کم کم IDE‌ها پا به میدان برنامه نویسی گذاشتند. IDE مخفف عبارت Integrated Development Environment به معنی محیط یکپارچه توسعه (نرم افزار) است. IDE‌های پیشرفته از خیلی جهات کار برنامه نویسی را راحت‌تر می‌کنند. آن‌ها می‌توانند دارای راهنمای کد، ابزارهای تست و دیباگ کد و حتی کامپایلر باشند. مثلا برای برنامه نویسی به زبان جاوا می‌توانید از IDE نت بینز، برای برنامه نویسی اندروید از اندروید استودیو و برای برنامه نویسی به زبان PHP از PHPStorm استفاده کنید.

چگونه برنامه نویسی یاد بگیریم تا بهترین باشیم؟

به نظر شما بزرگترین دغدغه ی یک برنامه نویس چه می‌تواند باشد؟ شاید بعضی‌ها فکر کنند دغدغه‌های برنامه نویسان صرف نظر از حوزه ی تخصصی آن‌ها در عباراتی از جمله “چگونه درآمد حاصل از برنامه نویسی خود را افزایش دهم؟”، “چگونه می‌توانم در یک شرکت معتبر استخدام شوم؟”، “بهترین زبان برنامه نویسی که میتوانم یاد بگیرم چیست؟”، “چگونه برنامه نویسی یاد بگیرم تا محدود به یک زبان نباشم؟” و … خلاصه می‌شوند.

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

  • چگونه به برنامه نویسی بهتر تبدیل شوم؟ (تا بتوانم در یک شرکت معتبر استخدام شوم)
  • چگونه مهارت برنامه نویسی خود را افزایش دهم؟ (تا بتوانم درآمد بیشتر از برنامه نویسی کسب کنم)
  • چگونه به برنامه نویسی متخصص تبدیل شوم؟ (تا بتوانم ایده‌های خود را به واقعیت تبدیل کنم)
  • و…

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

چگونه در برنامه نویسی پیشرفت کنیم؟

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

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

برای برنامه نویسان هم این امر صادق است و مهمترین دغدغه ی یک برنامه نویس همیشه این بوده و است که چگونه به برنامه نویسی بهتر و یا به عبارتی دیگر چگونه به بهترین ورژن از خود در دنیای برنامه نویسی تبدیل شود. یکی از بهترین راه‌های پاسخ به این سوال بهرمندی از تجربه برنامه نویسان موفق می‌باشد که می‌توان آن را از دو منظر مختلف مورد بررسی قرار دهیم.

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

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

1. علاقه نداشتن به برنامه نویسی

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

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

2. نا امید شدن

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

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

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

3. مستندسازی نکردن تجارب و یافته‌های خود

معمولا تمام برنامه نویسانی که شروع به فراگیری یک زبان برنامه نویسی می‌کنند و یا در زمان کدنویسی با یک نکته ی جدید مواجه می‌شوند با خود این گونه می‌گویند : “حتما آن را یاد گرفته ام و به یاد خواهم داشت.” اما بر اساس یک جمله ی معروف که می‌گوید : “کمرنگ‌ترین جوهرها از قوی‌ترین حافظه‌ها ماندگارتر است” این کار یکی از اشتباهات متداول در بین برنامه نویسان، به ویژه برنامه نویسان تازه وارد است.

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

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

4. انتقادپذیر نبودن و نداشتن روحیه کار تیمی

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

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

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

5. کدنویسی کثیف

یکی از نشانه‌های یک برنامه نویس حرفه ای و متخصص، کثیف نبودن کدهایی است که نوشته است. شاید برخی ابتدا به این نکته بسیار مهم توجه نمی‌کردند و تمام هدف خود را بر روی اجرای صحیح نرم افزار نهایی خود متمرکز می‌ساختند ولی کدنویسی تمیز و دوری از کثیف کد نوشتن به یکی از ویژگی هایی تبدیل شده است که برای شرکت‌ها و تیم‌های برنامه نویسی جهت استخدام برنامه نویس، بسیار حیاتی و با اهمیت است.

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

6. عدم تقویت مهارت‌های نرم (Soft Skills)

منظور از مهارت‌های نرم یا Soft Skills مجموعه ویژگی‌ها و خصوصیات فردی یک شخص است که باعث تقویت موقعیت‌های شخصی، کاری و… می‌شوند، از جمله کنترل اضطراب، صبور بودن و… که جزو ویژگی هایی هستند که صفات کلی شخص را تعریف می‌کنند. شاید تعجب کرده باشید که ارتباط خصوصیاتی مثل صبور بودن و یا خوش اخلاقی با برنامه نویسی در چیست و چطور این نوع ویژگی‌ها می‌توانند در حرفه و تخصص شما به کار آیند. ولی از آنجایی که شما در یک تیم برنامه نویسی قرار است مشغول به کار شوید و یا حتی اگر به صورت مستقل و فریلنسری (دورکاری) مشغول به کار باشید، باید با مشتریان خود در تعامل باشید باید بتوانید به صورت مناسب با افراد دیگر ارتباط بر قرار کنید.
چرا که وقتی شما به یک تیم برنامه نویسی ملحق می‌شوید باید به آن‌ها به دید یک خانواده نگاه کنید زیرا قرار است که حداقل نیمی از زمان هر روز خود را با آن‌ها سپری کنید و در مسیر توسعه ی یک نرم افزار هر روز با یکدیگر به چالش‌های متفاوتی برخورد می‌کنید که باید با همکاری یکدیگر بهترین روش را برای حل آن‌ها انتخاب کنید. پس همیشه در تلاش باشید که روابط و مهارت‌های ارتباطی خود با دیگران را در مسیر حرفه ای شدن تقویت کنید.

7. انعطاف پذیر نبودن در مقابل تغییر

Programming-Skills

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

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

چگونه برنامه نویسی را شروع کنیم تا شکست نخوریم؟

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

 
ارسال دیدگاه
ما همه سوالات و دیدگاه ها رو می خونیم و پاسخ میدیم
۸۶ دیدگاه
۱۵ آذر ۱۴۰۰، ۱۲:۳۴
سلام ببخشید من می خوام سالیدیتی یاد بگیرم لطف می فرمایید بگید از کجا باید شروع کنم؟
Nazanin KarimiMoghaddam ۱۵ آذر ۱۴۰۰، ۱۲:۵۰
درود
از این آموزش برای شروع استفاده کنید و هرجا به مشکل خوردید با ویدیوهای یوتیوب رفعش کنید.
Aida ۱۰ آذر ۱۴۰۰، ۲۳:۲۰
سلام و واقعا ممنونم از پاسخگویی سریع و کاملتون .
یه سری سوال دارم ... من برا شروع برنامه نویسی نیاز دارم که درباره فلوچارت , الگوریتم , منطق برنامه نویسی و ساختار زبان های برنامه نویسی اطلاعات داشته باشم و با فریم وورک ها آشنایی داشته باشم , کتاب , ویدیو یا هر چیز دیگه ای هست که بتونم باهاش این مباحث رو کامل یاد بگیرم ؟
و اینکه آیا C++ پیشنیاز داره یا نه ؟ اگه داره چیا هستن ؟
و اگه میشه لطفا کتاب یا هر منبع خوب دیگه ای که میشناسید برای آموزش پایتون و C++ معرفی کنید .
Nazanin KarimiMoghaddam ۱۳ آذر ۱۴۰۰، ۱۰:۱۷
درود
خواهش میکنم دوست عزیز انجام وظیفه است :)
با کتاب مبانی کامپیوتر و الگوریتم های آقای جعفرنژاد قمي کار رو شروع کنید. این کتاب تقریبا اولین چیزی هست که توسعه دهندگان باهاش مفاهیم حل مساله رو متوجه میشوند و در خیلی از مقاطع تحصیلی (چه هنرستان چه دانشگاه) طرفدار داره. بعد در صورت نیاز به سراغ منابع درس مبانی کامپیوتر رشته مهندسی کامپیوتر برید. سرچ بزنید موارد خوبی میبینید.
C++ هیچ پیشنیازی نداره مگر همین که تفکرتون رو الگوریتمی کنید. در حقیقیت شما الگوریتم نوشته شده رو با سی پلاس پلاس به کد تبدیل میکنید.
برای پایتون توصیه میکنم از سایت w3schools برای شروع استفاده کنید. اما سی پلاس پلاس رو به فارسی سرچ بزنید دانلود کتاب C++ موارد رایگان خوبی میاره و با همونا جلو برید.
یسنا ۱۰ آذر ۱۴۰۰، ۱۰:۲۱
سلام ممنون از مطالب مفیدی که ارائه کردید.من تحصیلاتم در زمینه رشته انسانی هست و با ریاضی آشنایی ندارم .چطوری میتونم برای حل مسائل در برنامه نویسی الگوریتم و فلوچارت رو تقویت کنم.اگر کتابی برای آشنایی با این مبحث مناسب هست لطفا معرفی کنید.میخوام قبل از شروع برنامه نویسی الگوریتم رو به صورت پایه ای بخونم و یاد بگیرم.ممنون میشم .خانم نازنین کریمی بسیار توضیحات خوب و کاملی برای مخاطبان مطرح میکنند بسیار سپاس از ایشون
Nazanin KarimiMoghaddam ۱۰ آذر ۱۴۰۰، ۱۲:۱۶
درود
خواهش میکنم دوست عزیز انجام وظیفه است :)
از مباحث ریاضی شما نیاز به گسسته دارید و باقی موارد رو میتونید نادیده بگیرید.
با کتاب مبانی کامپیوتر و الگوریتم های آقای جعفرنژاد قمي کار رو شروع کنید. این کتاب تقریبا اولین چیزی هست که توسعه دهندگان باهاش مفاهیم حل مساله رو متوجه میشوند و در خیلی از مقاطع تحصیلی (چه هنرستان چه دانشگاه) طرفدار داره. بعد در صورت نیاز به سراغ منابع درس مبانی کامپیوتر رشته مهندسی کامپیوتر برید.
پاینده باشید
Aida ۰۹ آذر ۱۴۰۰، ۱۸:۱۹
سلام خسته نباشید
من دانشجوی ترم اول کامپیوترم اولویت من یادگیری پایتون هست ولی دانشگاه سراغ اموزش خانواده C و جاوا میره . از طرفی میخوام بعد پایتون سراغ جاوا برم ولی اولویت هام به هم خورده الان .
به نظر شما میشه این دو زبان رو کنار هم یاد گرفت ؟
برا یادگیری پایتون میتونم به صورت خود خوان اقدام کنم و جاوا رو هم دانشگاه تدریس میکنه ولی سوالم اینه که ایا مشکلی نیست اگه همزمان پیش ببرم این دو زبان رو ؟ چون عده ای میگن که مشکل ایجاد میکنه .
و اینکه اگه میشه بگید برا یادگیری پایتون و جاوا چه پیش نیاز هایی وجود داره . چون گویا باید HTML و CSS رو بلد باشم . چیزای دیگه ای هم هستن که پیش نیاز باشن ؟
و اگه میشه برا هر کدوم منابع معرفی کنید لطفا . باش تشکر فراوان
Nazanin KarimiMoghaddam ۱۰ آذر ۱۴۰۰، ۱۲:۳۲
درود
احساس تون رو کاملا درک میکنم اما توصیه اکید دارم که تا انتهای ترم دو به سراغ پایتون نرید.
شما سال اول رو کامل طبق مباحث دانشگاه پیش برید. هدف دانشگاه اینه که به شما اصولی همه موارد رو بگه و زبانهای سی و جاوا برای اینکار بسیار مناسب هستند. پایتون یک زبان فانکشنال هست و توابع خیلی زیادی داره که شما رو تنبل میکنه و در این مرحله دیدتون رو بهم میریزه، وگرنه از لحاظ مهارتی شما یک برنامه نویس هستید و میتونید چندتا زبان رو با هم یاد بگیرید.
برای یادگیری پایتون و جاوا پیشنیازی نداریم و html و css پیشنیاز زبان جاوا اسکریپت یا جاوا اسپرینگ هستند که کلا چیز دیگه ای هستند و برای فرانت اند به کار میروند.
علی ۰۳ آذر ۱۴۰۰، ۰۳:۴۰
ضمن عرض سلام وخسته نباشید فراوان خدمت شما
ممنون از مطالب مفیدتون
من لیسانس علوم سیاسی دارم
ولی متأسفانه بازارکار ودرآمدشغلی متناسب با رشته ام ندارم...😐😐
با صحبتی ک با یکی از دوستانم داشتم بهم مشورت داد اینکه برم و برنامه نویسی رو یاد بگیرم(خودش هم تازه شروع کرده و میگه بیا باهم شروع کنیم)

اما دوتا مسئله واقعا ذهنم رو مشغول کرده
۱)اینکه من زیاد ب کامپیوتر وارد نیستم
۲)اینکه نمی‌دونم علاقمند هستم یا نه

لطفا من رو دراین زمینه راهنمایی کنین
که آیا پیش نیازی برای یادگیری برنامه نویسی لازمه؟؟!؟!!
واینکه از کجا بفهمم میتونم در برنامه نویسی موفق باشم یانه؟؟؟


ممنونم
منتظر جوابتون هستم❤️❤️❤️
Nazanin KarimiMoghaddam ۰۳ آذر ۱۴۰۰، ۱۰:۰۳
درود
توصیه میکنم اول مقاله 11 دلیل برای برنامه نویس نشدن ! رو مطالعه کنید تا ببینید برنامه نویسی براتون چقدر مناسبه.
بعد اگر اوکی بودید موارد این مقاله رو یکی یکی استارت بزنید.
عدم آشنایی با کامپیوتر که با چند هفته مطالعه و ویدیو دیدن رفع میشه، اما براساس تجربه میگم که تا یکی دوهفته دست به کد نشید متوجه نمیشید که واقعا علاقه دارید یا نه.
باز اگه سوالی بود در خدمتم.
امیر حسین ۲۹ آبان ۱۴۰۰، ۲۲:۰۱
سلام. ممنون از مطالب مفیدتون. من کلاس نهم هستم و امسال انتخاب رشته دارم به برنامه نویسی علاقه بسیار دارم و دارم کلاسهاش رو میرم ولی ریاضیم تعریفی نیست نه اینکه هيچی بلد نباشم اما خوب خوبم نیستم زبانم هم بد نیست حالا میخوام بدونم دنبال رشته کامپیوتر برم یا نه ؟ ممنون میشم پاسخ بدهید
Nazanin KarimiMoghaddam ۳۰ آبان ۱۴۰۰، ۰۹:۴۰
سلام
برای برنامه نویسی زبان و خود برنامه نویسی و مهارت حل مساله در قالب الگوریتم مهم هست. در ریاضی فقط یکم گسسته نیازتون میشه.
اما براساس تجربه در این سالها بهتون توصیه میکنم که تا کنکور تمرکز خودتون رو روی درس بذارید. اگر در دانشگاه شریف-تهران-امیرکبیر-علم و صنعت-بهشتی-خواجه نصیر- صنعتی اصفهان و فردوسی مشهد قبول نشید، تحصیل در رشته کامپیوتر بی فایده هست. (مگر اینکه تلاش کنید ارشد رو در یکی از اینا قبول بشید)
چون این دانشگاه ها به دلیل محیطی که دارند باعث رشد دانشجو میشوند و از اون سمت کارتون برای پیدا کردن شغل و یا اپلای خیلی راحت میشه.
پایدار باشید
Aidyn ۲۹ آبان ۱۴۰۰، ۱۵:۱۲
با سلام و درود خدمت شما و تشکر میکنم از مطالب سایتتون ببخشید من از ۱۲ سالگی کامپیوتر استفاده میکنم و از اون موقع نصب ویندوز و مار با وورد پاورپوینت و غیره رو مسلطم عالیه به مد نویسی و برنامه نویسی هم علاقه خواصی دارم زبان انگلیسی هم خوب بلدم الان هم رشته ریاضی فیزیک هستم و میخواستم درس رو رها کنم و برم کلاس های آموزش برنامه نویسی چون از زمانی که کرونا اومد که من دهم بودم دیگه معلم ها درس ندادن و من تا الان هم که مردودی نداشتم خودش معجزس برا همین میخواستم ببینم آیا از طریق رفتن به کلاس میتونم برنامه نویسی رو کامل یاد بگیرم یا اینکه رو درسم تمرکز بکنم؟
Nazanin KarimiMoghaddam ۲۹ آبان ۱۴۰۰، ۱۶:۵۱
درود
پیشنهاد میکنم اگر واقعا به برنامه نویسی علاقه دارید تمرکز خودتون رو روی درس بذارید و رتبه کنکورتون زیر 1000 بشه.
میدونم مجازی سخته و شما هم خوشحالید مردود نشدید، اما باور کنید اگر بخواید میتونید بهترین نتیجه رو بگیرید.
مدرک دانشگاه رده اول بهتون در کاریابی خیلی خیلی کمک میکنه. بدون درس هم بله میتونید برنامه نویس باشید و چه بسا برنامه نویس با مهارتی هم بشید و حقوق خوبی بگیرید اما در ابتدای کار در اولویت پایینتری نسبت به بچه های تحصیل کرده قرار میگیرید.
متین مبین ۲۵ آبان ۱۴۰۰، ۰۰:۱۲
سلام
خیلی مطلبتون مفید بود اما یک سوال داشتم ، اینکه برنامه نویسی مراحل داره ؟ یعنی باید اول از سی شارپ شروع کرد و آروم آروم رفت جلو و یا نه مفاهیم ثابت هستند و فرقی نمیکنه که شما بعد از یادگیری مفاهیم کلی بری سراغ پایتون .
من خودم پفاهیم کلی برنامه نویسی رو که شروع کردم رفتم سراغ پایتون و الان در حاال کدزنی به صورت متوسط توی اون هستم .
یه راهنمایی بکنید ممنون میشم
Nazanin KarimiMoghaddam ۲۵ آبان ۱۴۰۰، ۰۹:۴۹
درود
در قدم اول فهم درست الگوریتم، فلوچارت و حل مساله مهمه که در کامنتهای پایین درموردش صحبت کردیم. شما اسلایدهای درس مبانی برنامه نویسی رو یاد بگیرید، دیگه اغلب مفاهیم مثل اینکه متغیر چجوری تعریف کنیم و تابع چطور بنویسیم در اغلب زبانها یکی هست.
در قدم بعدی باید یک زبان رو انتخاب کنید و استارت بزنید، در مراکز عالی و دانشگاه ها معمولا با خانواده سی و جاوا شروع میکنند چون دارای اغلب مفاهیم برنامه نویسی هستند و بعد دانشجو بسته به زمینه ای که علاقه داره خودش میره زبان مورد نیازش رو یاد میگیره (مثل پایتون، متلب و...)
اما شما اگر حوزه مشخصی دارید میتونید از یادگیری یک زبان مرتبط با کار خودتون مثل پایتون هم شروع کنید و به مرور مفاهیم رو در همون یاد بگیرید و موردی نداره. تنها مشکلی که هست توابع و کتابخانه های پایتون هست که کار رو بسیار راحت میکنند و ممکنه شما رو یکم تنبل کنند. برای مثال یکی از تمرینهای معمول بچه های دانشگاه اینه که بدون استفاده از هیچ کتابخانه ای یک گره به درخت اضافه یا کم کنند. این باعث میشه مهارت حل مساله که گفتم تقویت بشه اما با پایتون و کتابخانه هایی که داره، حل این سوال خیلی آسونه.
در کل بستگی به دیدتون داره بعضی معتقدند این کارها بیهوده است و نباید چرخ رو دوباره اختراع کنیم و برخی مخالف هستند. اما در مجموع توصیه میکنم در کنار پایتون مبحث ساختمان داده، الگوریتم و همچنین شی گرایی رو مطالعه کنید. این سه برای حرفه ای شدن شما لازم هستند.
مجتبی ایزدی ۲۴ آبان ۱۴۰۰، ۲۱:۵۳
سلام و عرض ادب
و البته سپاس فراوان از مطلب بسیار مفیدی که نوشته اید.من آشنایی نسبی با کامپیوتر دارم ولی به شدت علاقه مند به یادگیری برنامه نویسی بخصوص برنامه های ویندوز هستم . امیدوارم بتونم از راهنمایی های خوبتون بهره ببرم و بالاخره از یک جایی شروع کنم.
Nazanin KarimiMoghaddam ۲۵ آبان ۱۴۰۰، ۰۹:۲۹
درود برشما
به دلیل علاقه تون پیشنهاد میکنم زبانهای ماکروسافت و خانواده C ( مثل زبان سی شارپ، سی و سی پلاس پلاس و...) رو بررسی کنید و موقعیت های شغلی شون رو هم در سایتهای کاریابی چک بزنید.
پاینده باشید.
عرفان ۱۹ آبان ۱۴۰۰، ۰۸:۳۸
سلام من کلاس یازدهم در رشته تعمیرات موبایل هستم
میخواستم بدونم برای شروع برنامه نویسی این سن دیر نیست؟
نیاز به مسلط بودن به زبان خارجی دارد؟
اگه من در کلاس های برنامه نویسی شرکت کنم در زمان رفتن به دانشگاه میتوانم به رشته برنامه نویسی برم؟
Nazanin KarimiMoghaddam ۱۹ آبان ۱۴۰۰، ۱۰:۲۱
درود
اول اینکه رشته تون بازارکار خوبی داره پس رهاش نکنید و عمل بسیار پسندیده ای هست که در کنارش برنامه نویسی یاد بگیرید.
سن تون برای یادگیری برنامه نویسی مناسبه اما نیاز هست تا حد خوبی به انگلیسی مسلط باشید تا بتونید سوالات خودتون رو در وبسایت های پرسش و پاسخ انگلیسی پیدا کنید.
برای بررسی امکان ورود به دانشگاه با یک مشاور تحصیلی صحبت کنید چون بنده خیلی به قوانین فعلی مسلط نیستم. اما در کل حواستون باشه که سطح اساتید دانشگاه های فنی حرفه ای پایینتر از سطح دانشگاه های سراسری ریاضی هست.
اگر میخواید با مدرک کاردانی و یا از سمت فوق دیپلم برای استخدام به عنوان برنامه نویس اقدام کنید باید با بچه هایی که مدرک مهندسی کامپیوتر از شریف و تهران و امیرکبیر و... دارند رقابت کنید. اگر نمونه کار عملی داشته و به مباحث باشید، مشکلی پیش نمیاد در غیر این صورت ممکنه در مصاحبه های کاری رد بشید.
اگر هدفتون اپلای کردن هست بهتره که تلاش کنید تا ارشد بخونید و برای دکتری خارج اقدام کنید.
Unknown ۱۷ آبان ۱۴۰۰، ۱۰:۰۴
سلام من شغل برنامه نویسی در کدوم رشته ها هستش؟
Nazanin KarimiMoghaddam ۱۷ آبان ۱۴۰۰، ۱۰:۱۰
درود
رشته مهندسی کامپیوتر و علوم کامپیوتر در ریاضی فیزیک
و همچنین برخی از کاردانش و هنرستان هم وارد میشوند که به شخصه توصیه نمیکنم.
F.B ۱۱ آبان ۱۴۰۰، ۲۲:۲۰
سلام ، ببخشید من کلاس نهم هستم و در انتخاب رشته واقعا بین ریاضی و تجربی موندم ، دوست دارم اگر برم سراغ ریاضی مهندسی کامپیوتر بخونم چون کار با گوشی و ترم افزار رو دوست دارم و به نظرم استعداد هم دارم ، پاور پوینت ها و کار های دیگه که باید انجام بدیم از هم کلاسی هام بالاتر و بهترم و به نظرم راحت میتونم سر در بیارم ، چون هر چیزی از همین کارهای با گوشی یاد گرفتم ، خودم تنها یاد گرفتم
ولی بحث اینه که حتی خاموش و روشن کردن کامپیوتر بلد نیستم چون در دسترسم نیست
از نظر زبان نسبت به هم سن هام پیر شروع کردم کلاس زبان رو ، ولی خوب ازشون عقب نمی مونم
از طرفی هم به دروس تجربی علاقه دارم و هم ریاضی ، اما به نظرم استعدادم در زیست و درس های تجربی بشتره ، ریاضی علاقه دارم ولی خیلی بی دقت هستم و سرعتم پایینه ، میترسم ریاضی رو با هدف مهندسی کامپیوتر بخونم ولی رتبه کنکور خوبی نیارم
میشه منو راهنمایی کنید و برام توضیح بدید
ممنون ازتون
Nazanin KarimiMoghaddam ۱۲ آبان ۱۴۰۰، ۱۱:۵۵
درود
چون در هر دو مهارت و علاقه دارید وابسته به نظر خودتون هست. در هر دو باید رتبه زیر 1000 بیارید (البته ممکنه سال کنکورتون کمتر هم بشه) برای سیستم هم نگران نباشید اگر قبول شدید با یکم تلاش میتونید خودتون رو به بقیه برسونید. برای کامپیوتر نهایتا یکی دوماه کلاس برید همه چی شو یاد میگیرید و کدزنی هم در دانشگاه از صفر آموزش میدن.
اینکه میگم کنکور زیر هزار یعنی باید تلاش کنید شریف-تهران-امیرکبیر-علم و صنعت-بهشتی-خواجه نصیر-الزهرا و صنعتی اصفهان رو بیارید. دانشگاه های رده بعدی بنظرم سطح خوبی ندارند (ممکنه این رده بندی سالهای بعدی تغییر کنه) برای کنکور به ریاضی نیاز دارید و باید مشکل دقت رو برطرف کنید تا بتونید تست بزنید. مشکل سرعت بنظرم با کمی تست و تمرین حل میشه نگرانش نباشید. بعد از قبولی برای برنامه نویسی به تمام ریاضی احتیاجی ندارید و بیشتر باید کار با الگوریتم و حل مساله تون قوی باشه (اگر اشتباه نکنم تو کتاب کاروفناوری همه موارد هست و اون کتاب رو به شدت توصیه میکنم دید خوبی بهتون میده ک برنامه نویسی چیه.)
بنظرم این نکته میتونه بهتون کمک کنه تا راحتتر تصمیم بگیرید:
رشته تجربی مدت تحصیل و استرس و فشارش خیلی زیاده (حداقل 7 سال) اما بعدش درآمد خوبی خواهید داشت. رشته کامپیوتر فقط 4 سال هست و شما با مدرک در تهران خیلی راحت کار پیدا میکنید و البته حقوقش نسبت به یک پزشک پایینتره اما در حال حاضر از سایر مهندسیها اوضاع بهتری داره. باید ببینید شخصیتتون به کدوم بهتر میخوره و مسائل مالی چقدر براتون مهم هست.
اسماعیل ۰۹ آبان ۱۴۰۰، ۱۲:۳۰
مطلب خوب بود. ویدیم اموزشی هم داشته باشید عالی میشه
نازنین کریمی مقدم ۰۹ آبان ۱۴۰۰، ۱۶:۰۱
درود
درخواستتون رو حتما بررسی میکنیم و ممنون که با ما همراه هستید.
مهیار ۰۸ آبان ۱۴۰۰، ۰۷:۵۳
سلام ممنون از مقاله که در اختیار ما گذاشتید
بنده رشته کارشناسی (ناپیوسته)که قبول شدم مهندسی نرم افزار هست
علاقه دارم به این رشته و برنامه نویسی و هوش مصنوعی
ولی به نظرم مطالب برام سنگین هست البته با وجود مشغله کاری و فرزند زمان زیادی ندارم
ممنون میشم راهنمایی بفرمایید.
نازنین کریمی مقدم ۰۸ آبان ۱۴۰۰، ۰۹:۳۰
سلام
این سنگینی مطالب در شروع کارطبیعی هست و نگران نباشید. تقریبا از اواسط ترم دو اوضاع براتون عادی میشه.
پیشنهاد میکنم که در ترم اول مهارت حل مساله و تبدیل اون به کد رو حسابی تمرین کنید.
موفق باشید
نازنین ۰۴ آبان ۱۴۰۰، ۱۸:۵۰
سلام ممنون بابت مقاله مفیدتان
ظرف چه مدت میشه برنامه نویسی رو یاد گرفت؟
نازنین کریمی مقدم ۰۵ آبان ۱۴۰۰، ۱۴:۳۲
درود
واقعا از اون سوالاست که نمیشه بهش جواب داد! خیلی بستگی به سرعت خودتون داره و همچنین زمینه ای که انتخاب میکنید.
عمار ۲۵ مهر ۱۴۰۰، ۰۸:۰۶
سلام و ادب ؛ خییلی متن عالی و مفیدی بود و جواب سوالاتم رو گرفتم ؛ باید تشکر و قدر دانی ویژه از نویسندا به عمل بیارید حتما چراکه من که حوصله خوندن ندارم رو تا انتهای متن کشوند واقعا قلم فوق العاده ای دارید و نویسنده خوبی هستید موفق و پیروز باشید
نازنین کریمی مقدم ۲۶ مهر ۱۴۰۰، ۰۳:۴۵
درود
خوشحالیم مقاله براتون مفید بوده دوست عزیز :)
امیر ۱۳ مهر ۱۴۰۰، ۰۰:۴۷
سلام من امسال مهندسی کامپیوتر قبول شدم و زبانی که تو دانشگاه بهمون میخوان یاد بدن c++ هستش و من تصمیم دارم به غیر از دانشگاه خودم هم برنامه نویسی رو شروع کنم به نظرتون برم همین زبان c++ رو یاد بگیرم یاد زبان دیگه ای پیشنهاد شما چییه؟
نازنین کریمی مقدم ۱۴ مهر ۱۴۰۰، ۰۰:۵۲
درود
اگر تجربه برنامه نویسی تا قبل از این نداشتید، بهتون توصیه میکنم دو ترم اول رو مطابق با برنامه دانشگاه پیش برید و در اوقات فراغت در سایتهای رقابتی مثل کوئرا و کدفورسس و مسابقاتی مثل acm شرکت کنید.
اگر تجربه داشتید و حوزه خاصی رو پیش رفتید، همون رو در کنار درسهای دانشگاه ادامه بدید.
علی ۲۶ شهریور ۱۴۰۰، ۲۱:۰۴
از بیان مطالبی که به اشتراک گذاشتید استفاده کردم و جای تشکر رو خالی دیدم
هم مطالبتون چکیده ، مختصر و مفید و هم کارساز بود.
امیدوارم بازهم ازتون مطلب جدید ببینم
من عاشق برنامه نویسی و خودم یک تایپیست سریع هستم
تنها قسمت عمده در کامپیوتر که علاقه شدیدی بهش داشتم و به دلایل مختلفی نتونستم حتی وارد الفباش بشم برنامه نویسی بود
چرا که گرافیک رو با کرل و فتوشاپ و تایپ و.. رو با آفیس و .. و برنامه های دیگری رو امتحان کردم و تا حدودی یادگرفتم اما برنامه نویسی می شه گفت شده اون چیزی که اگر مرگم فرا برسه و هنوز در یادگیریش اقدامی نکرده باشم حتی به فرشته مر گ التماس کنم که به اندازه فراگرفتن این علم از قبض روحم صرفنظر کنه وگرنه پشت گوششو دید روح منم دید.
از شوخی گذشته بسیار عاشقشم اما چون زمان زیادی ندارم پس می گردم دنبال راه هایی که بتونه مفهوم این کار رو قبل از همه چیز بهم تعلیم بده و بدونم در صورت شروع با چه چیزی طرفم و بهترین کار چیه
ممنونم
و امیدوارم موفق باشید
بیک زاده
نازنین کریمی مقدم ۳۱ شهریور ۱۴۰۰، ۱۵:۱۳
درود برشما
خوشحالیم مقالات براتون مفید بوده و ممنون که با ما همراه هستید :)
مهدی محمدیان ۰۶ شهریور ۱۴۰۰، ۲۱:۱۸
سلام وقتتون بخیر
راستش من به شخصه، ی پیش زمینه ای با دنیای برنامه نویسی دارم و میدونم کلا ماجرا به چه نحویه اما من دانشجوی رشته ی دیگه ای (روانشناسی) هستم و خب میخواستم به عنوان یک منبع درآمد و یک ویژگی که با اون بتونم به خارج از کشور مهاجرت کنم نگاه میکنم ( مهاجرت تحصیلی یا شغلی). واقعیتش اولین چیزی که ذهنمو درگیر کرده اینکه نمیدونم به این حوضه واقعا علاقه مند هستم یا نه و اینکه با توجه به شرایطی که دارم آیا فکر میکنید ادامه دادن به اینکار مناسب هست یا خیر
نازنین کریمی مقدم ۱۴ شهریور ۱۴۰۰، ۰۰:۴۲
درود
اول از همه، برای مهاجرت باید بگم که باید در دانشگاه های رده اول کشور مثل دولتیهای تهران - صنعتی اصفهان - فردوسی مشهد و... درس خونده باشید تا بتونید در دانشگاه های خوب خارج بورسیه شوید. برای قبولی در دانشگاه هم باید رتبه کارشناسی زیر 1000 و ارشد نهایتا زیر 150 باشه.
برای مهاجرت شغلی باید دارای نمونه کار زیاد باشید. پس به طور معمول حداقل سه سال تمام وقت باید قبل از مهاجرت کار خوب داشته باشید.
پس با توجه به موارد بالا، اول شرایط سنی تون رو در نظر بگیرید. اگر فقط از نظر علاقه و مهارت دودل هستید، میتونید با توجه به کتاب راهنمای ورود به دنیای برنامه نویسی یک زمینه رو انتخاب کنید و کار رو شروع کنید. (البته در کنار روانشناسی) بعد از حدود دو ماه خودتون متوجه میشید که مسیر درستی براتون هست یا خیر.
m.w.z ۲۲ مرداد ۱۴۰۰، ۱۵:۵۵
سلام من کنکور 99 مهندسی مکانیک قبول شدم
ولی خب به برنامه نویسی و هوش مصنوعی علاقه دارم زبانم هم خوبه و چن وقت دیگه میخام آمون آلیتس بدم
میخام بدونم برای یادگیری به صورت خود آموز باید از چه منابعی استفاده کنم و کلا چه مسیری رو باید پیش برم!
نازنین کریمی مقدم ۲۴ مرداد ۱۴۰۰، ۱۵:۱۵
درود
توصیه میکنم قبل از هرکاری مقاله دانلود رایگان کتاب راهنمای ورود به دنیای برنامه نویسی رو مطالعه کنید و مطمئن بشید که به حوزه هوش علاقه دارید. بعد از اینکه مطمئن شدید به سراغ مقالات مرتبط با اون حوزه برید. برای مثال در سایت میتونید از بخش سرچ سایت، عبارت هوش یا عبارت پایتون رو جستجو کنید و مقالات شاخه پایتون رو مطالعه کنید.
با بچه های کامپیوتر دانشگاه هاتون لینک بشید یا حداقل به طریقی سعی کنید بعضی درسهای مهم (برای مثال درس هوش مصنوعی) رو شرکت کنید. البته اینکه دانشگاه مجازی شده ممکنه کارتون رو سخت کنه اما تلاشتون رو بکنید.
معمولا ترم اول در درس مبانی کامپیوتر الگوریتم و فلوچارت رو آموزش میدهند که روش بسیار اصولی و درستی هست. اگر این درس رو نداشتید، با کتاب مبانی کامپیوتر و الگوریتم های آقای جعفرنژاد قمي رو هم شروع کنید. این کتاب تقریبا اولین چیزی هست که توسعه دهندگان باهاش مفاهیم حل مساله رو متوجه میشوند و در خیلی از مقاطع تحصیلی (چه هنرستان چه دانشگاه) طرفدار داره.
همزمان با یادگیری و تمرین کتابی که معرفی کردم، پایتون رو شروع کنید. مقاله هوش مصنوعی چیست؟ معرفی کتابخانه های پایتون برای هوش مصنوعی رو هم حتما مطالعه کنید.
R.K ۱۶ مرداد ۱۴۰۰، ۰۷:۰۰
سلام خسته نباشید
من امسال کنکور دادم و خب مهندسی کامپبوتر رو توی اولویتم قرار دادم اما خب ممکنه که قبول نشم و ولی به برنامه نویسی علاقعه زیادی دارم .
الان هم دارم به صورت خود آموز پایتون رو یاد میگیرم و در کنارش زبانم رو تقویت میکنم زبانم رو توی یک سال میتونم به حد تسط برسونم چون چند وقته از زبان دور بودم با یکم تلاش به سطح تسلط میرسم...
خب سوال من اینه که اگه توی دانشگاه رشتم کامپیوتر نشد و کلا سمت دیگر رشته ها رفتم ... چطور برنامه نویسی رو ادامه بدم و از کدوم منابع استفاده کنم
اینم بگم که حوضه فعالیتم هم میخام ساخت اپلیکیشن ادامه بدم.
نازنین کریمی مقدم ۱۷ مرداد ۱۴۰۰، ۱۶:۴۳
درود
بنظرم انتخاب درستی کردید که زبانتون رو تقویت میکنید. بهترین کار همینه تا جواب کنکورتون بیاد. اگر رتبه در سهمیه تون زیر 1200 باشه سراسریهای تهران و خوبهای شهرستانها رو میارید وگرنه باید سراغ دانشگاه های رده پایینتر برید یا کلا بیخیال تحصیلات آکادمیک بشید.
در کنار یادگیری سعی کنید مهارت حل مسئله تون رو بهتر کنید. چون اول کار هستید از سایت کوئرای فارسی کمک بگیرید و سوال حل کنید.
پایتون توابع آماده زیادی داره و بسیار قوی هست و به دلیل وجود همین توابعش، در زمان شروع یادگیری برنامه نویس رو برای کدنویسی تنبل میکنه... برای همین در دانشگاه معمولا با زبانهای C،C++ و C# شروع میکنند و بعد سراغ جاوا و پایتون میروند. پس مسیر یادگیری شما خیلی به این بستگی داره که شما در دانشگاه قبول بشید یا نه. هرزمان که نتیجه تون مشخص شد پیام بدید تا براون اساس راهنماییتون کنم.
fff ۰۷ مرداد ۱۴۰۰، ۰۱:۱۷
سلام. من چند وقت پیش اومدم همینجا و ازتون راهنمایی خواستم که برنامه نویسی رو از کجا میتونم شروع کنم و پیشنهاد دادید که اول حوزه ی کاریم رو مشخص کنم... من بین زبان های مختلف جاوا اسکریپت رو انتخاب کردم حالا چند تا سوال: 1- یادگیری این زبان برای شروع کار سنگین نیست میتونه مناسب باشه؟ 2- کتاب الگوریتم و فلوچارت رو که پیشنهاد دادید تموم کنم بعد برم سراغ شروع؟ 3- گفتید که توی دانشگاه اول از الگوریتم و فلوچارت شروع می کنن بعد زبان هایی مثل ++C و #C ، الان کار درستیه من قبل مهر که ترم اوله برم سراغ جاوا اسکریپت یا فعلا روی زبانم که ضعیفه و الگوریتم کار کنم بهتره؟
خیلی ممنون ازتون
نازنین کریمی مقدم ۰۷ مرداد ۱۴۰۰، ۲۰:۳۷
درود
1. جاوا اسکریپت برای شروع اوکی هست و مطمئن باشید به مشکل نمیخورید. برای برنامه نویسی وب هم که جزو واجبات هست و بازار کار خیلی خوبی داره.
2. سعی کنید حدود یک هفته رو این کتاب وقت بگذارید و بعد همزمان با آموزش جاوا اسکریپت ادامه اش بدید.
3. تا جایی که من اطلاع دارم (حداقل در سرفصل آموزشی دانشگاه های تراز اول مثل تهران-شریف-بهشتی و...) در هیچیک از دروس جاوا اسکریپت رو یاد نمیدهند و خودتون اگر بخواید در حوزه وب برنامه نویسی کار کنید باید خودآموز یاد بگیرید. اما اینجا با توجه به شرایطی که گفتید، باید چندتا نکته اضافه کنم:
- اگر هدف شما یادگیری برنامه نویسی به صورت خودآموز هست: چون حوزه ها گسترده هستند باید یک حوزه انتخاب کنید که گویا حوزه وب و فرانت اند رو انتخاب کردید، همین مسیر یادگیری جاوا اسکریپت اوکی هست و با خوندن مقالات سایت پیشنیازها و موارد لازم برای شروع رو پیدا میکنید.
- اگر هدف شما تحصیل در رشته برنامه نویسی هست پیشنهاد میکنم در این زمان باقی مانده زبان خودتون رو قوی کنید و روی الگوریتم کار کنید. همزمان جویا بشید که در دانشگاهی که قبول شدید ترم اول چه زبانی تدریس میکنند و با اون شروع کنید. یسری سایت برای تقویت برنامه نویسی هست که میتونید ازشون استفاده کنید.
fffffsssss ۰۵ مرداد ۱۴۰۰، ۱۶:۳۰
سلام. برای ساخت ربات من شنیدم برنامه نویسی هم لازمه بلد باشیم.... چه زبانی توی اون حوزه استفاده میشه؟
نازنین کریمی مقدم ۰۶ مرداد ۱۴۰۰، ۰۱:۱۵
سلام. بله بستگی به سطحی که در رباتیک میخواید کار کنید، ممکن هست به پایتون، برنامه نویسی میکرو و اسمبلی، سی و... نیاز داشته باشید. سعی میکنیم یه مقاله در همین حوزه تهیه کنیم.
masih ۰۱ مرداد ۱۴۰۰، ۲۳:۴۴
سلام مطالب سایت واقن مفید بود خیلی خسته نباشید سوال:
1- یادگیری html و css چی هستن و ضرورت یادگیریشون چیه
2-برنامه نویسی رو با یادگیری چ زبانی شروع کنیم بهتره؟
نازنین کریمی مقدم ۰۴ مرداد ۱۴۰۰، ۱۵:۰۶
سلام
1. HTML و CSS دو زبانی هستند که برای ساخت یک صفحه از وب سایت استفاده میشوند. با استفاده از HTML، می‌تونید المان‌های مختلف مانند دکمه، اسلایدر و... رو در یک صفحه قرار دهید.
از CSS برای قالب‌بندی عناصر صفحه در HTML استفاده میشه. CSS میتونه به زیباتر شدن HTML کمک کنه. به عنوان مثال، فرض کنید با HTML یک صفحه‌ی ثبت نام ایجاد کردید و در اون دو اینپوت فیلد به همراه یک دکمه‌ی ثبت قرار دادید. با استفاده از CSS میتونید برای هر کدوم از المان‌ها رنگ، سایه و سایر ویژگی‌های استایلی رو تعریف کنید. پس اگر بخواید وارد برنامه نویسی وب بشید در قدم اول باید این دو زبان رو یاد بگیرید.
2. در مراکز آموزشی معتبر کشور معمولا برنامه نویسی رو با آموزش مقدماتی زبان C++ یا C# شروع میکنند و بعد به سراغ جاوا و پایتون و... میروند. البته براساس هدف بعضی از همان اول به سراغ زبان مربوط به حوزه انتخابی شون میروند و این قضیه متغیره.
fff ۱۰ تیر ۱۴۰۰، ۱۴:۳۲
سلام. من میخوام برنامه نویسی رو تازه شروع کنم و هدفم اینه که به خاطر رشته ی مورد علاقم "مهندسی کامپیوتر" یاد بگیرم. بنظرتون چه زبانی مناسب تره و از کجا شروع کنم؟ کتاب؟ فیلم آموزشی؟ ( ممنون میشم دقیق بگید )
نازنین کریمی مقدم ۱۴ تیر ۱۴۰۰، ۰۰:۵۹
سلام.
توصیه میکنم قبل از هرکاری مقاله دانلود رایگان کتاب راهنمای ورود به دنیای برنامه نویسی رو مطالعه کنید.
بعد از اون که حوزه کاری تون رو مشخص کردید بهتر میتونم راهنمایی تون کنم.
همچنین در دانشگاه های معتبر کشور قبل از شروع برنامه نویسی الگوریتم و فلوچارت رو آموزش میدهند که روش بسیار اصولی و درستی هست. پس همزمان با مطالعه کتابچه بالا، کتاب مبانی کامپیوتر و الگوریتم های آقای جعفرنژاد قمي رو هم شروع کنید. این کتاب تقریبا اولین چیزی هست که توسعه دهندگان باهاش مفاهیم حل مساله رو متوجه میشوند و در خیلی از مقاطع تحصیلی (چه هنرستان چه دانشگاه) طرفدار داره.
mehran98 ۰۴ خرداد ۱۴۰۰، ۰۱:۰۸
سلام ممنوم بابت مقاله. بسیارخوب، مختصر و مفید بود اما به جوابم نرسیدم من توی حوضه ی وب شروع کردم و با دوره های اموزش html و css مشغولم و اینم میدونم که بعدش باید سراغ بوت استرپ و جاوا اسکریپت برم اما مشکلی که من دارم الان و واقعا ازش کلافه شدم اینکه من تا چه حد باید از html یا css v رو باید یادبگیرم ایامطالب یه دوره 20 ساعته برای این دو الفبا کافیه یا باید خودم گسترده تر و با سرچو خوندن مطالب w3schoolو سایت های شبیه به اون حرفه ای تر شم ؟یا اینکه به مطالب دوره بسنده کنم و برم boot و js؟ لطفا پاسخ بدید.ممنون
نازنین کریمی مقدم ۰۴ خرداد ۱۴۰۰، ۱۵:۱۷
سلام.
بنظرم بعد از دوره 20 ساعته که فرمودید، یکی از فریمورکهای جاوا اسکریپت مثل ری اکت و یا انگولار یا.... انتخاب کنید و یادگیریش رو شروع کنید. چون به طور کلی برای حرفه ای شدن در مباحث طراحی وب (به خصوص Html , CSS) باید در طول زمان و انجام پروژه های مختلف عملی حرفه ای بشید.
توصیه میکنم مقاله نقشه راه فرانت اند رو هم مطالعه کنید.
M ۲۰ فروردین ۱۴۰۰، ۱۲:۵۰
ممنونم از پاسختون من سایت هایی که معرفی کردید را دیدم اونها فقط سوال مطرح میکنند ولی اموزش نمیدهند چطوری به جواب رسیدند و تحلیل کردن و.... در ضمن من هدفم برنامه نویسی سی شارپ هستش . که بتونم خوب تحلیل کنم و بعد اون را پیاده سازی کنم منظورم برنامه ها یا نرم افزارهای خیلی کاربردی بنویسم نمیدونم باید چیکار کنم من حتی نمیتونم مثلا برنامه ی اعداد اول یا برنامه ساده تر که دو عدد بگییره و دقتش برابر با 0.00001 بودش رو باهم مقایسه کنه براش لگوریتم طراحی کنم یا تحلیل کنم ؟ البته من فقط مثال زدم یا برنامه های بزرگتر

اگر اشتباه نکنم تو سایتتون در مورد اموزش uml چیزی ندیدم یا مراحل توسعه نرم افزار و..... ؟ لطفا در این مورد مطلب بنویسید .

مشکلی که مبینم فقط خیلی ها uml رو اموزش میدهند یک مثال ساده ساده حل میکنند مثلا کتابخونه یا ... ولی فرض کنید شما در شرکت کامپیوتری کار میکنند و یک نرم افزاری را تحلیل کنید و بعدش پیاده سازی کمید یعنی ون چیزی که در دنیای واقعی در شرکتهای نرم افزارهای برای توسعه ی نرم افار به زبان سی شارپ انجام میشه رو قدم به قدم با استفاده از uml توضیح بدهید و مثال حل کنید . مثلا یک پروژه نرم افزاری را ابتدا تعریف کنید و سپس بیایید قدم به قدم تا حتی مرحله ی پیاده سازی اش با زبان سی شارپ را اموزش بدهید هم کاربردی باشه و هم برای افراد مفید باشه .

موضوع دیگه در مورد انواع معماری های نرم افزار یا اصلا معماری نرم افزار چیه ؟ و.....
نازنین کریمی مقدم ۲۰ فروردین ۱۴۰۰، ۱۷:۱۵
خواهش میکنم
بنظرم بهتره که از کتاب مبانی کامپیوتر و الگوریتم های آقای جعفرنژاد قمي شروع کنید. این کتاب تقریبا اولین چیزی هست که توسعه دهندگان باهاش مفاهیم حل مساله رو متوجه میشوند و در خیلی از مقاطع تحصیلی (چه هنرستان چه دانشگاه) طرفدار داره. بعد به سراغ سایتهای اون مقاله برید. خیلیاشون حل مساله هم دارند که تو مقاله بهشون اشاره کردیم.
قبلا یه دوره شی گرایی داشتیم که مفاهیم UML رو اونجا توضیح داده بودیم، اما به تازگی حذف شده تا آپدیت بشه. حتما نوشتن مقالاتش رو در تقویم کاری مون میذاریم.
برای آشنایی بیشتر با معماری و الگوهای نرم افزار میتونید مقاله دیزاین پترن چیست : الگوی طراحی یا Design Pattern چیست؟ رو مطالعه کنید و در کنارش کتاب تحلیل و طراحی شی گرا رو هم شروع کنید.
M ۱۹ فروردین ۱۴۰۰، ۲۰:۲۱
ممنونم از مقاله ی خوبتون لطفا به صورت مفصل در مورد روشهای حل مسایل برنامه نویسی یا روش های تحلیل پروژه ی برنامه نویسی برای افرادی که نمیتونند خوب تحلیل کنند یا الگوریتم طراحی کنند تو ذهنشون یا در کتاب بنویسید بزارید مثال بزنم مثال شما برنامه تبدیل حروف فارسی به اعدد یا رقم را میخواهید بنویسید ولی اولین بار اون شخص کد نویس میره سراغ کد نویسی یعنی ویزال استدیو رو باز میکنه بعدش دست به تایپ میشه درصورتی که ابتدا باید تحلیل کنه یا مراحل دیگه این مراحل و کارهای دیگه یک برنامه نویس مبتدی نمیده رو لطفا بگید
نازنین کریمی مقدم ۲۰ فروردین ۱۴۰۰، ۰۴:۳۶
درود. شما زیر یه مقاله دیگه هم کامنت مشابه داده بودید که اینجا مرتبط تر بود جوابشو مینویسم.
برای افزایش مهارت حل مساله، توصیه میکنم با حل مسائل ساده در وب سایت هایی مثل کوئرا و... شروع کنید. ما در مقاله "17 سایت برای افزایش توانایی حل مسائل برنامه نویسی" وب سایتهایی که میتونید ازشون استفاده کنید رو لیست کردیم.
تفاوت یک برنامه نویس مبتدی و حرفه ای در این هست که قبل از شروع کدزنی سعی میکنه کار رو به بخشهای مختلف تقسیم کنه و به روشهای استاندارد و مطابق الگوهای طراحی کد بزنه.
رهام ۰۵ فروردین ۱۴۰۰، ۰۸:۲۹
ممنون از پاسختون. Html و CSS رو تقریبا بلدم. وردپرس رو هم تا حد قابل قبولی بلدم چون که کارم کلا با وردپرسه. منظورم یادگیریه زبونای برنامه نویسی مثل js بود که هم در فرانت سایت کاربرد داره هم فرانت اپلیکیشن‌.
نازنین کریمی مقدم ۰۵ فروردین ۱۴۰۰، ۱۸:۵۱
بسیار عالی
همراه با یادگیری حرفه ای جاوا اسکریپت، سعی کنید به یکی از فریمورکهایی که داره هم مسلط بشید. ری اکت میتونه یه انتخاب جذاب و مناسب باشه.
امیدوارم موفق باشید
رهام ۰۴ فروردین ۱۴۰۰، ۲۲:۰۰
ممنون از مطلب بسیار مفیدتون. الان دانشجوی ارشد متالورژیم و بخاطر بازار کار ضعیف و مبهم رشته، در حین تحصیل وارد حوزه طراحی سایت و سئو شدم. الان که دارم کار میکنم حس میکنم برنامه نویسی آینده شغلی بهتری ب نسبت سئو داره. تصمیم دارم front شروع کنم یاد بگیرم. نظرتون به عنوان ی برنامه نویس چیه؟
نازنین کریمی مقدم ۰۵ فروردین ۱۴۰۰، ۰۴:۱۴
درود.
با توجه به اینکه تحصیلات مرتبط ندارید و از طرفی تجربه عملی در بخش طراحی سایت و سئو دارید، انتخاب فرانت برای شما بسیار منطقی هست. پس اوکیه :)
اما بهتون پیشنهاد میکنم همزمان با فراگیری Html + CSS ، وردپرس رو هم یاد بگیرید. چون وردپرس یجورایی برنامه نویسی کمتری نیاز داره و یادگیریش سریعتره، سئو داره و خیلی سریعتر میتونید باهاش وارد بازار کار بشید. تقاضای کار وردپرس هم نسبتا زیاده و مطمئنم میتونید با یکم تمرین درآمد خوبی ازش داشته باشید.
امیر ۰۳ فروردین ۱۴۰۰، ۱۳:۵۰
سلام خسته نباشد یک سوال داشتم من میخواهم زبان برنامه نویسی پایتون شروع کنم اما یک سری میگن تا زبان هایی مثلc++زا بلد نیاشم نمیتونم ایا درست ؟و سوال دوم من ریاضیم خیلی ضعیفه اما زبانم خوبه با ریاضی ضعیف میشه برنام نویس خوبی شد اگر نه چه چیز هایی رو بایددر ریاضی قوی کنم تا در برنامه نویسی حرفه ای شد؟
نازنین کریمی مقدم ۰۴ فروردین ۱۴۰۰، ۰۳:۴۹
درود.
سوال اول= خیر درست نیست. یادگیری پایتون هیچ ربطی به زبانهای دیگر مثل C++ نداره. اما توصیه شون به این دلیله که زبانهای دیگر نسبت به پایتون نیاز به کدنویسی بیشتری دارند و به همین دلیل برنامه نویس مفاهیم رو خیلی پایه ای تر یاد میگیره و کسی که پایتون یاد میگیره بعد میاد سر این زبانها، چون تنبل شده :) اذیت میشه. برای همین کسی که میخواد سایر زبانهای برنامه نویسی رو هم یاد بگیره، اول از اونها شروع میکنه و بعد به سراغ پایتون میاد.
سوال دوم = برای برنامه نویسی مهارت حل مساله خیلی مهم هست و مسائل ریاضی مثل مشتق و انتگرال اصلا نیازی نیست. زبان انگلیسی برای نوشتن کد و سرچ مشکلات در گوگل خیلی مهمه که خداروشکر شما در اون قوی هستید. پس نگران نباشید.
پرهام ۲۵ اسفند ۱۳۹۹، ۱۱:۳۵
سلام من 15 سالم و تغربا زبانم خوبه میخوای ی برنامه نویس بشم براش یک شغل و نمیخوام رشته کامپیوتر برم ازکجا شروع کنم
نازنین کریمی مقدم ۲۵ اسفند ۱۳۹۹، ۲۰:۴۴
درود.
قبل از هر کاری مشخص کنید که دوست دارید در چه زمینه ای برنامه بسازید (سایت – اپ – پردازش و…) بعد براساس شاخه ای که انتخاب کردید، یک زبان رو شروع کنید. اینفوگرافیک زبانهای مختلف بهتون در این تصمیم گیری کمک میکنه.
خیلیها شرایط شما رو دارند. برای همین ما راهنمای ورود به دنیای برنامه نویسی رو تدوین کردیم. حتما مطالعه کنید.
رسا رجایی ۲۹ بهمن ۱۳۹۹، ۲۰:۰۷
سلام ببخشید من دقیقا توضیح کامپیلر ها و IDE ها رو نفهمیدم میشه برام توضیح بدید؟
نازنین کریمی مقدم ۲۹ بهمن ۱۳۹۹، ۲۱:۵۲
سلام دوست عزیز
بذارید از IDE شروع کنیم:
فرض کنید شما میخواید یه متن ساده رو تو کامپیوتر تایپ کنید. اینجا به سراغ نرم افزارهایی مثل نوتپد یا ورد میرید. وقتی با نوتپد کار میکنید امکان زیادی ندارید اما وقتی تو ورد کار میکنید میتونید شکل insert کنید، فونتهای مختلف به متن بدید و... و کلا ورد بهتون یسری قابلیت پیشرفته تر میده تا راحتتر متن تون رو بنویسید.
IDE هم حکم همین ورد رو برای زبانهای برنامه نویسی داره. شما میتونید توی همون نوتپد هم کد بنویسید، اما IDE امکانات پیشرفته تری بهتون میده. برای مثال تو خیلی از IDEها با زدن ctrl+space اسامی متغیرها در کدتون رو خودکار تکمیل میکنه.

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

این بحث درون متن هم به همین اشاره داره که اگر از محیط برنامه نویسی یا IDE یک زبان استفاده کنید، کامپایلر یا همون دکمه اجرای کد رو خود محیط داره و نیاز نیست کار خاصی کنید. در غیر این صورت باید کامپایلر رو جدا از جای دیگه ای استفاده کنید (مثلا کامپایلرهای آنلاین) و کدتون رو توش پیست و یا ایمپورت کنید.
آيلين ۲۰ بهمن ۱۳۹۹، ۱۲:۱۷
سلام وقتتون بخير
ممنون از سايت خوبتون. من تو دانشگاه اميركبير متالورژي خوندم. حتي ارشد هم گرفتم. اما متاسفانه تو زمينه رشته تحصيلي ام بازار كار مناسبي وجود ندارد. بيس رياضي و زبان خوبي دارم. ميخواستم ازتون بپرسم بنظرتون ميتونم برنامه نويسي ياد بگيرم و از اون مهمتر وارد بازار كار بشم؟
چطور بايد شروع كنم و حدوداً چقدر زمان نياز هست تا به درآمد برسم؟
ممنون ميشم راهنمايي بفرماييد.
نازنین کریمی مقدم ۲۰ بهمن ۱۳۹۹، ۱۸:۴۰
درود.
یکی از خوبیهایی که برنامه نویسی داره، اینه که هیچوقت برای یادگیریش دیر نیست. همینطور چون تکنولوژی با ما پیشرفت میکنه، در علوم به روز شما نهایتا یکی دو سال از بقیه عقب هستید.
گفتید که بیس ریاضی و زبان خوبی دارید. پس اصلا نگران نباشید. برنامه نویسی رو هم میتونید یاد بگیرید.
قبل از هر کاری مشخص کنید که دوست دارید در چه زمینه ای برنامه بسازید (سایت - اپ - پردازش و...) بعد براساس شاخه ای که انتخاب کردید، یک زبان رو شروع کنید. اینفوگرافیک زبانهای مختلف بهتون در این تصمیم گیری کمک میکنه.
خیلیها شرایط شما رو دارند. برای همین ما راهنمای ورود به دنیای برنامه نویسی رو تدوین کردیم. حتما مطالعه کنید.
بد از یادگیری و تمرین میتونید وارد بازارکار بشید. حالتهای مختلفی داره:
یا یکی دو ماه کارآموزی میکنید تا با محیط کاری آشنا بشید و بعد شروع به کسب درآمد میکنید،
یا نمونه کار شخصی ایجاد میکنید و بعد وارد بازارکار میشید.
توجه کنید که در سال اول ممکنه درآمد خیلی خوبی نداشته باشید (بین نصف تا دوسوم یک برنامه نویس با سابقه کار حقوق میگیرید) اما بعد از دو سال تضمین میکنم که فرصت های شغلی خوبی خواهید داشت.
نکته آخر، ممکنه تکراری بنظر بیاد اما همه چیز به تلاش خودتون + قدرت سرچ خوب برای حل مشکلات برنامه نویسی بر میگرده.
ممد ۲۰ آذر ۱۳۹۹، ۰۱:۳۱
من یه برنامه نویسم و هم یه مدرس برنامه نویسی ^_^ خخ ولی باور کن نصف اینا رو هم بلد نیستم (البته باید بگم به خاطر برنامه نویسی زبانم خوب شده و اغات تخصصی رو خوب میتونم بفهمم)
و دیگه ریاضی رو تا وقتی نخوای بری سمت هوش مصنوعی یا بخوای بری سمت برنامه نویسی سخت افزار یا هممم..یه چنین چیزهایی که با ریاضیات کار دارن نیازی به ریاضی نداری اشتایی با الگوریتم یکی از واجبات برنامه نویسی هست و میشه گفت منطق یه برنامه نویس هست و در اخر اشنایی با اینترنت و نحوه سرچ مطالب در آن اگر بخوایم الویت بندی کنیم و بگیم کدوم مهمتر از همس باید اشنایی سرچ در اینترنت رو در صدر جدول قرار بدیم
امیدوارم هر انچه کهبهش علاقه مندید رو یادبگیرید تا بهترین انگیره رو برای ادامه کار داشته باشید
سیاوش ۱۲ آذر ۱۳۹۹، ۰۴:۳۷
باسلام
اگر بخواهم برنامه نویسی یاد بگیرم برای محاسبات ریاضی، پردازش تصویر، هوش مصنوعی و ... پایتون مناسب است؟ مسیر مناسب یادگیری از صفر تا 100 چگونه باید باشد؟
لطفا ایمیل بزنید


باتشکر
نازنین کریمی مقدم ۱۲ آذر ۱۳۹۹، ۰۹:۴۱
درود.
بله پایتون برای این کارها مناسب هست. برای مسیر یادگیری:
1. اول خود زبان پایتون و برنامه های ساده را یاد بگیرید. از الگوریتمهای ساده (مثل تشخیص عدد اول) گرفته تا الگوریتمهای پیچیده تر (اونهایی که مربوط به آرایه ها هستند) = مقالات آموزشی آقای مولایی در سایت
2. مقاله هوش مصنوعی و کتابخانه هایش در پایتون رو مطالعه کنید.
3. الگوریتمهای معمول هوش مصنوعی و شبکه های عصبی رو با پایتون پیاده سازی کنید. = مقالات آموزشی خانم ناصح (برای مثال آموزش تنسورفلو)
4. یکی از شاخه های هوش مصنوعی رو در نظر گرفته و مسیر خودتون رو ادامه بدید. (برای مثال بین پردازش تصویر یا پردازش متن یکی رو انتخاب کنید چون حوزه گسترده است)
اگه ایمیلتون رو به درستی داده باشید، به طور خودکار پاسخ براتون ارسال میشه.
ایلیار ۰۲ آذر ۱۳۹۹، ۱۶:۵۸
سلام خسته نباشید ببخشید من به این زمینه علاقه دارم ولی متاسفانه چیزی در رابطه با برنامه نویسی نمی دونم و می خواهم یادگیری رو شروع کنم . من در زمینه کامپیوتر اصول پایه ای را بلدم و مدرک در خصوص رشته های کامپیوتری ندارم ولی تمام امکانات لازم مانند مرورگر-اینترنت-سیستم عامل و ... به نظر شما یادگیری برای من ممکن است ؟ راستی من علاقه مند به زبان c++ هستم و بر زبان انگلیسی به طور کامل تسلط دارم.
نازنین کریمی مقدم ۰۲ آذر ۱۳۹۹، ۲۲:۳۶
درود خداوند.
برای اطمینان بیشتر به شما، خودم رو مثال میزنم. منم در ابتدای راه هیچی بلد نبودم و دقیقا دانشم در حد ویندوز و سرچ گوگل بود. دانشگاه که قبول شدم، اصلا نمیدونستم برنامه نویسی چی هست! یک هفته قبل از شروع کلاسها یک کتاب مبانی برنامه نویسی و الگوریتمها و جزوه برنامه نویسی به زبان c++ قمی رو دانلود کردم و شروع کردم به روخونی این دوتا:) هفته بعد که دانشگاه شروع شد ویژوال استودیو رو نصب کردم و یه برنامه c++ تشخیص عدد زوج و فرد رو اجرا گرفتم و به همین راحتی برنامه نویسی رو شروع کردم. بعد از سه ماه کامل به تمامی مفاهیم برنامه نویسی c++ مسلط شده بودم.

بنظرم شما اگر یک بازه زمانی رو برای خودتون مشخص کنید (برای مثال ساعت 8 تا 10 هر شب) و بهش پایبند باشید، موفق خواهید بود. بخصوص اینکه به انگلیسی هم مسلط هستید یک قدم از سایرین جلوتر هستید. میتونید در کنارش از وب سایتهای کمکی برای ایجاد انگیزه و حل بهتر مسائل استفاده کنید. برای آشنایی با این وب سایتها مقاله 17 سایت برای افزایش توانایی حل مسائل رو مطالعه کنید. برنامه نویسی خیلی جذاب و اعتیادآور هست. اولین برنامه رو که اجرا کنید، دیگه نمیتونید ازش جدا بشید :)
علیرضا ۱۹ آبان ۱۳۹۹، ۱۲:۲۹
جالب بود ممنون.
آریا ۱۴ مهر ۱۳۹۹، ۱۲:۲۶
به نظر من کسی که فقط پایه های زبان رو هم بلد باشه بیاد توی حوزه یادگیری و بخواد هرچی هست رو یاد میگیره و نیاز هم به اون زبان نیست
سعید ۲۴ خرداد ۱۳۹۹، ۱۹:۱۲
با سلام - من دیپلم ریاضی هستم و از تحصیل در دانشگاه خوشم نمی آید به نظر شما اگر چند زبان برنامه نویسی را مسلط شوم و مسایل جانبی اش را کار کنم می توانم بعد دو سه سال دیگر شغل و درآمدی داشته باشم؟ یا برای داشتن شغل و درآمد در این حوزه باید تحصیلات و مدرک آکادمیک داشت؟
تشکر فراوان
فائقه نامور ۲۱ مرداد ۱۳۹۹، ۱۳:۳۹
سلام
ممنون از توجه شما
برای تصمیم گیری برای تحصیل در رشنه کامپیوتر خواندن این مقاله را پیشنهاد می کنیم.
https://7learn.com/tutorials/complete-introduction-of-computer-engineering-and-master-majors
Sali Nrm ۲۰ خرداد ۱۳۹۹، ۰۶:۳۵
کاملا بروز و قابل تفکر.
آرش رضائی ۲۸ فروردین ۱۳۹۹، ۰۰:۰۲
افق دید من فقط تکرار و تمرین هست ،..مغز وذهن اتوماتیک این افق را بسط و گسترش خواهد داد و وارد یک دگر دیسی نو و جدید خواهد شو و بعد دیگری در زمینه فعالیت بوجود خواهد آمد،...مانند نوشتن نرم افزار تولید بو ! بکارگیری رانش بحقیقت پیوستن افکار و ارتباطات با موجودات عالم دیگر،..اینکه روزی انسان باترکیب صفر و یک ها،..بتواند در عالم واقعی، یک انسان بوجود بیاورد که صاحب منطق هست...
موضوع تنها یه برنامه نویسی ساده نیست ،..باید در مرور زمان و کسب تسلط و دیدگاه سطح بالا،. و با بکار گیری پلتفرم های جدید تر و کارا تر ، ابعاد جدید فکری و فرهنگی در انسان رشد و تعالی یابد ...و به برنامه نویسی و طراحی، در بُعد عالی تری نگرش بعمل آید
یگانه گودرزی ۱۶ اسفند ۱۳۹۸، ۱۵:۲۲
من قصد دارم برنامه نویس بشم فرانت اند و واقعا از مطالب خوبتون ممنونمممممم
MOHMAD ۱۱ اسفند ۱۳۹۸، ۱۶:۰۵
سلام.من میخوام برنامه نویسی رو شروع کنم.ولی مفهوم زبان برنامه نویسی و کد نویسی و کلا این که نمیدونم باید از کجا شروع کنم.
محمود ۲۱ آبان ۱۳۹۸، ۱۱:۰۲
سلام واسه برنامه نویسی و هوش مصنوعی چقدر ریاضی نیاز است
محمدرضا ۲۴ خرداد ۱۳۹۸، ۰۰:۱۹
بوت استرپ را یادتون رفت:)
علیرضا ۲۰ خرداد ۱۳۹۸، ۱۵:۲۷
سلام خسته نباشید. میخواستم بدونم برای طراحی وب و برنامه نویسی چه دوره هایی رو باید تهیه کنم؟
مهدی علامه ۲۱ خرداد ۱۳۹۸، ۰۹:۳۱
سلام دوست عزیز
لطفا به پشتیبانی پیام بدید تا شما را راهنمایی کنند
علی فرمانی ۲۲ خرداد ۱۳۹۸، ۱۵:۴۶
اول باید مشخص کنید فرانت اند دوست دارین کار کنید یا بکند.
اگه بکند هستیند ابتدا دوره طراحی وب html و css بگیرین پیش نیاز کل وب هست .
بعدش دوره php بگیرید
اگه فرانت اند ابتدا دوره طراحی وب html و css و بعد اون جاوا اسکریبت و در نهایت php