من به عنوان مربی برنامه ‌نویسی بارها با این سؤالات مواجه شده‌ام: چه طور کد نویسی را شروع کنم ؟َ‌‌ “کدام زبان برنامه‌نویسی را باید یاد بگیرم؟” “کدام زبان برنامه‌نویسی بازار کار بهتری دارد؟” “کدام زبان برنامه‌نویسی، کاربرد بیشتری دارد؟”

برترین زبان‌های برنامه‌نویسی اگر به دنبال رنکینگ برترین زبان‌های برنامه‌نویسی هستید، می‌توانید در این آدرس آن را ببینید. IEEE Spectrum top programming languages این لیست به شما کمک می کند که ببینید یک زبان برنامه‌نویسی خاص، در دنیای امروز، چقدر کاربرد دارد.

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

چطور کدنویسی را شروع کنم؟ چه طور زبان برنامه‌نویسی خود را انتخاب کنم ؟

رشته علوم کامپیوتر، حوزه‌ای در حال پیشرفت است و این یعنی هر مبحثی، بر پایه موضوعات مختلف طراحی شده است. اگر قبلاً سعی کرده‌اید برنامه‌نویسی یا هر موضوع دیگری در حوزه STEM (مخفف Science، Technology، Engineering و Mathematics) را یاد بگیرید ولی با وجود تلاش بسیار، شکست خورده‌اید، باید بدانید که مشکل به شما مربوط نمی‌شود.

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

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

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

اینکه فکر کنید هوش کافی برای یادگیری برنامه نویسی ندارید، فکر اشتباهی است که می‌توانید در راه تبدیل شدن به یک برنامه نویس داشته باشید.

پیشنهاد مقاله: شغل‌های آینده – اتمسفر بازار کار و یک پیشنهاد جذاب

یادگیری کدنویسی و این فکر که چه طور کد نویسی را شروع کنم، هیچ ربطی به هوش شما ندارد.

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

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

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

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

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

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

چطور کد نویسی را شروع کنیم؟

با پیشرفت شما در مسیر آموزش، باید به خودتان بازخورد بدهید. بعد از تکمیل هر عنوان، از خود بپرسید:

  1. آیا این عنوان برای من قابل فهم بود؟
  2. آیا اصطلاحات جدیدی در این عنوان وجود داشت؟
  3. اگر این طور بود، آیا تعریف رسمی برای آن اصطلاح وجود دارد؟
  4. آیا مهارت جدیدی در آن عنوان درسی آموختم؟ آیا نحوه استفاده عملی از آن مهارت را درک کرده‌ام؟
  5. آیا با حل مسائل تمرینی می‌توانم درک خود را ثابت کنم؟
  6. آیا فردا هم مطالبی که یاد گرفته‌ام را به یاد خواهم داشت؟ و حتی روز بعد؟ اگر نه، چه طور می‌توانم آن را به حافظه‌ام بسپارم؟
  7. چه طور کد نویسی را شروع کنم ؟

و آخرین توصیه این که: هرگز نیروی حفظ کردن را دست کم نگیرید.

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

اگر برای حفظ کردن به کمک نیاز دارید، می‌توانید از تکنیک کارت استفاده کنید.

1- مبانی علوم کامپیوتری اولین گام، یادگیری مبانی علوم کامپیوتریست.

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

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

2- ریاضیات منطقی خیر، برای این که به یک برنامه‌نویس بدل شوید،

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

Basic Concepts in Propositional Logic 3- برنامه‌نویسی جاوا بعد از این که مبانی علوم کامپیوتری را فراگرفتید.

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

جاوا یکی از پر کاربردترین زبان‌های برنامه‌نویسی است و در طبقه‌بندی زبان‌های برنامه‌نویسی شیء گرا (Object Oriented) قرار می‌گیرد (بعداً معنی این جمله را خواهید دانست) و می‌توان برای ساخت اپلیکیشن‌های دسک‌تاپ، وب و موبایل از آن استفاده کرد. اگر کتاب را برای یادگیری ترجیح می‌دهید، من کتاب Head First Java نوشته Bert Bates و Kathy Sierra را پیشنهاد می‌کنم.

اگر آموزش ویدیویی را ترجیح می‌دهید، من ویدیوهای آموزشی شماره 1 تا 19 ، 31 تا 33 ، 88 و 93 درک باناس (Derek Banas) در یوتیوب را پیشنهاد می‌کنم. اولین ویدیو از سری معرفی شده، مراحل بارگیری (Download) یک برنامه کامپیورتی به نام Eclipse را به شما آموزش می‌دهد.

Eclipse یک محیط توسعه یکپارچه (Integrated Development Environment یا IDE) است. می‌توانید IDE را معادل خیالی یک برنامه واژه‌پرداز که مخصوص برنامه‌نویس‌ها ساخته شده درنظر بگیرید. این برنامه چیزی نیست جز یک برنامه‌ واژه‌پرداز که امکان برنامه‌نویسی در آن وجود دارد و ابزارهایی برای اجرای برنامه نوشته شده در آن وجود دارد.

می‌توانید ویدیوی درک باناناس برای دانلود Eclipse را دریافت کنید.

Install Eclipse for Java. 4- الگوریتم‌ها و ساختارهای داده یک الگوریتم،

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

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

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

5- توسعه اندروید به نظر من توسعه اندروید،

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

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

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