شرکت سروش زیست شریف



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

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

علاوه بر تعدد موقعیت‌های شغلی، برنامه‌نویسی یکی از مشاغل پردرآمد دنیا نیز محسوب می‌شود. مثلاً طبق آمار رسمی منتشر شده از طرف دولت آمریکا، درآمد سالانه برنامه‌نویسان در سال 2014، به طور متوسط برابر با 77,550 دلار (بیش از 270 میلیون تومان) بوده است که نسبت به سال 2012، به میزان 3,200 دلار (4.3 درصد) افزایش داشته است؛ که البته نسبت به افزایش درآمد سایر مشاغل در اقتصاد آمریکا، عدد بزرگی محسوب می‌شود. طبق همین آمار، درآمد سالیانه نخستین دهک پردرآمد برنامه‌نویسان، بالغ بر 127 هزار دلار (440 میلیون تومان) در سال بوده است.

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

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

  •  برای آموزش برنامه‌نویسی از کجا باید شروع کرد؟
  • آیا برای برنامه‌نویس شدن، حتماً باید تحصیلات در زمینه مهندسی کامپیوتر یا مهندسی نرم‌افزار داشته باشم؟
  • آیا در این سن می‌توانم برنامه‌نویسی یاد بگیرم؟
  • بهترین زبان برنامه‌نویسی چیست؟
  • و

 در ادامه سعی شده است که به اکثر این پرسش‌ها پاسخ داده شود و مسیری عملی و شدنی در پیش روی خوانندگان گرامی، که تمایل به یادگیری برنامه‌نویسی دارند، ترسیم شود.

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

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

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

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

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

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

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

 جالب است که در موضوع آموزش برنامه‌نویسی، سه موضوع به هم گره خورده‌اند که اتفاقا سبک و نظام آموزشی فعلی در ایران (و اغلب کشورها) مشکلات جدی در آن موارد دارد؛ یعنی آموزش (1) ریاضیات، (2) زبان خارجی و (3) خود برنامه‌نویسی.

از کجا شروع کنیم؟

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

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

کدام زبان برنامه‌نویسی بهتر است؟

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

اما برای شروع، یکی از این زبان‌های برنامه‌نویسی را توصیه می‌کنیم:

  • اگر کم سن و سال هستید، احتمالا شروع برنامه‌نویس با زبان اسکرچ (Scratch)، که محصولی از دانشگاه MIT است، برای شما جذاب باشد. در این زبان برنامه‌نویسی، برنامه‌ها به جای نوشته شدن، ترسیم می‌شوند و به همین دلیل، درک مفاهیم آن برای کودکان، بسیار آسان است. در حال حاضر، آموزش این زبان برنامه‌نویسی به صورت پیش ثبت نام بر روی فرادرس قرار داده شده است.
  • اگر کم سن و سال و/یا مبتدی هستید، و می‌خواهید برنامه‌نویسی را با نوشتن شروع کنید (به جای ترسیم)، شاید زبان برنامه‌نویسی اسمال بیسیک (Small Basic)، که محصول مایکروسافت است، گزینه خوبی باشد. خوشبختانه آموزش این زبان برنامه‌نویسی، پیش از این در فرادرس منتشر شده است.
  • زبان برنامه‌نویسی سی (C)، یکی از قدیمی‌ترین و با سابقه‌ترین زبان‌های برنامه‌نویسی است که تعداد قابل توجهی از زبان‌های برنامه‌نویسی مدرن نیز، با اقتباس از آن ایجاد و توسعه داده شده‌اند؛ به عنوان مثال، زبان‌های برنامه‌نویسی سی پلاس پلاس، سی شارپ، جاوا، جاوا اسکریپت و PHP، که همگی از زبان‌های برنامه‌نویسی بسیار پرکاربرد هستند، اشتراکات فراوانی با زبان سی دارند. از این رو، یادگیری زبان C، می‌تواند نقطه شروع بسیار خوبی برای ورود به دنیای برنامه‌نویسی باشد. به همین دلیل است که در دانشگاه‌ها و موسسات آموزشی، این زبان یکی از انتخاب‌های رایج برای آموزش درس برنامه‌نویسی و برنامه‌سازی کامپیوتری استآموزش برنامه‌نویسی C، که بر روی فرادرس ارائه شده است، یکی از پرطرفدارترین مجموعه‌های آموزشی فرادرس، و نقطه شروع بسیاری از دانشجویان برای ورود به دنیای برنامه‌نویسی بوده است.
  • زبان برنامه‌نویسی متلب (MATLAB)، که اغلب در میان دانشجویان رشته‌های فنی و مهندسی شناخته شده است، یکی از زبان‌های بسیار آسان برای یادگیری است و نقطه شروع خوبی برای آموزش برنامه‌نویسی محسوب می‌شود. به خصوص که، امکانات منحصر به فردی در نرم‌افزار متلب وجود دارند که آن را به یک آزمایشگاه فنی تمام عیار برای همه رشته‌های فنی، مهندسی و علمی تبدیل می‌کند. البته، هیچ محدودیتی برای استفاده از زبان متلب وجود ندارد و شما در هر شرایطی که باشید، می‌توانید از این زبان برنامه‌نویسی استفاده نمایید

هر چند، شاید زبان‌های برنامه‌نویسی دیگری هم به عنوان نقطه شروع به شما توصیه شوند؛ اما این موارد، طبق تجربه نگارنده و صرفا به عنوان توصیه، مطرح شده‌اند.

چطور ادامه دهیم؟

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

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

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

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

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

چند توصیه مهم

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

منبع: سازمان علمی و آموزشی فرادرس» (Faradars)


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

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

راه صد ساله را یک شبه نروید

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

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

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

دلیل این امر چیزی به نام اثر موقعیت در زنجیره» (Serial position effect) است:

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

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

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

مرور کنید، مرور کنید و مرور کنید

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

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

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

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

از منابع مختلف استفاده کنید

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

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

اگر از مفاهیم خاص هر زبان بگذریم، باز مفاهیمی نظیر شیء گرایی، entity-component systems» و الگوها observer» وجود دارند که یادگیری آن‌ها در بار اول می‌تواند کار طاقت فرسایی باشد. مثلا فرض کنید شخصی یک تصویر از یک مجسمه به شما نشان داده است. شاید این تصویر کمک کند یک دید کلی نسبت به مجسمه پیدا کنید، ولی جزئیات آن را نخواهید فهمید. یک تصویر از راه دور جزئیات کافی ندارد و یک تصویر از نزدیک دید کافی نخواهد داشت. با این حال با هر تصویر جدید می‌توانید متوجه بافت، اندازه و جزئیات از زوایای مختلف نظیر جلو، کنار یا بالا شوید.

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

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

مفاهیمی که یاد می‌گیرید را آموزش دهید

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

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

اگر نمی‌توانید چیزی را توضیح دهید، یعنی به خوبی متوجه آن نشده‌اید

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

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

تمرین آگاهانه نتیجه‌ی خوبی دارد

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

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

تمرین شما را خوب نمی‌کند، خوب تمرین کردن شما را خوب می‌کند

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

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

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

برروی پروژه‌های شخصی آزمایش کنید

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

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

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

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

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

خونسرد باشید و همه چیز را نشانه‌گذاری کنید

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

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

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

سخن آخر

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

منبع: سازمان علمی و آموزشی فرادرس» (Faradars)


با سلام.

در این قسمت از آموزش ها، آموزش نرم افزار ارائه پرزی ارائه می گردد.

نرم افزار پرزی به عنوان برنامه ای نوین جهت یاری رسانی بهتر و حرفه ای تر ارائه مطالب و سخنرانی ها مدتی است که وارد دنیای تکنولوژی شده است. در پاسخ به سؤال پرزی چیست باید گفت: پرزی یا به زبان لاتین Prezi  که مخفف کلمه  Presention  است، نرم افزاری مخصوص ساخت اسلاید و در واقع ارائه مطالب  به شکلی نوین و خاص است.

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

دانلود آموزش

 

منبع: مجموعه آموزشی فرادرس


در این بخش از آموزش ها به ارائه چند فایل آموزشی در زمینه نرم افزار رفرنس نویسی EndNote می پردازیم.

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

 برخی از کاربردهای این نرم افزار:

  • انجام کامل‌ترین بررسی منابع (Literature Review) برای پروپوزال تحقیقاتی، پایان‌نامه، مقاله، و کتاب
  • انجام بهترین طبقه‌بندی برای دسترسی به منابع و مطالعهٔ آن‌ها
  • جستجوی آسان منابع پژوهشی مورد استفاده
  • پیدا کردن متن کامل (Full Text) مقالات
  • نوشتن یا ویرایش منابع پروپوزال تحقیقاتی، پایان نامه، مقاله و کتاب با دقت و سرعت بالا
  • وارد کردن منبع به متن پروپوزال تحقیقاتی، پایان نامه، مقاله و کتاب و همچنین اضافه شدن خودکار آن به فهرست منابع در انتهای فصل یا انتهای سند با یک کلیک
  • تغییر فرمت منابع مقاله بر اساس مجلات مختلف با یک کلیک
  • طبقه‌بندی اشکال، جداول و سایر فایل‌ها
  • جستجو آنلاین منابع
  • وارد نمود اطلاعات منابع تنها از طریق وارد کردن فایل PDF مقالات

برای دانلود فایل های آموزشی بر روی لینک های زیر کلیک کنید.

بخش اول

بخش دوم

بخش سوم

بخش چهارم

بخش پنجم

بخش ششم

بخش هفتم

بخش هشتم

بخش نهم

بخش دهم


آخرین ارسال ها

آخرین جستجو ها


negintabti دانلود کده Kristy's page Store Haker balootptr گروه کسب و کار گیم اور تابستون پسر پرتقالی شهردانلود2