برنامه نویس / معلم | به امید آموزش رایگان، در دسترس و قابل اعتماد برای همه
تطبیق پذیری رشته های عصبی و یادگیری برنامه نویسی
اگر در حال یادگیری یک زبان برنامه نویسی هستید احتمالا درک مفهومی به نام انعطاف پذیری عصبی و همچنین آشنایی با حافظه بلند مدت، کمک زیادی به شما خواهد کرد.
احتمالا روش های زیادی را برای یادگیری یک زبان برنامه نویسی امتحان کرده اید. شاید کتاب یا دوره ای به نام ترفندهای برنامه نویسی با زبان پایتون را تهیه کرده باشید تا به کمک آن مهارت خود را بالا ببرید. متاسفانه اگر یک برنامه نویس تازه کار هستید این روش ها زیاد مفید نخواهد بود. در حقیقت هیچ میانبری وجود ندارد. تا زمانی که روش یادگیری و به خاطر سپردن آموخته های خود را بهینه نکنید هر لحظه این امکان وجود دارد که از ادامه مسیر منصرف شوید و مسیر دیگری را انتخاب نمایید.
اما چطور قادر به انجام این کار خواهیم بود؟ زمانی که با آخرین یافته های متخصصین مغز و اعصاب در مورد یادگیری، آموزش و حافظه همراه شویم، خواهیم آموخت که این یافته ها چطور به ما کمک میکنند تا روش های بهتری را برای یادگیری انتخاب کنیم.
در این نوشته با ۲ مفهوم یادگیری و حافظه بیشتر آشنا خواهیم شد و در ادامه میآموزیم چطور از این دانش در زندگی روزمره و به طور خاص برای بالا بردن مهارت برنامه نویسی خود استفاده کنیم. پس ادامه نوشته را از دست ندهید.
یادگیری چیست؟ چطور یک مهارت را یاد میگیریم؟
یادگیری تغییر و انطباق مغز با یک چیز جدید است. برای مثال وقتی در حال یادگیری زبان برنامه نویسی پایتون هستید، مغز به صورت فیزیکی در حال تغییر شکل برای جذب اطلاعات جدید است. این پدیده انعطاف پذیری عصبی نامیده میشود:
توانایی مغز برای ساختن ارتباطات جدید بین رشته های عصبی و سازماندهی مجدد آن ها به دلیل کسب تجربیات و اطلاعات جدید.
هر زمانی که شما موضوع جدیدی را یاد میگیرید، مغز به جهت تطبیق خود با اطلاعات جدید دریافت شده شروع به ساخت ارتباطات جدیدی بین رشته های عصبی خواهد کرد. هرچه این ارتباط های عصبی بیشتر باشد انجام آن مهارت برای فرد راحت تر خواهد بود.
تصویر زیر نشان میدهد چطور ارتباط بین رشته های عصبی یک نوزاد با یادگیری موضوعات جدید رشد خواهد کرد. این تصویر علاوه بر مجسم سازی نحوه عملکرد انعطاف پذیری عصبی، نشان میدهد به چه دلیل برنامه نویسی در ابتدا بسیار دشوار است ولی با گذر زمان راحت تر خواهد شد!
همانطور که مشاهده میکنید روند رشد ارتباطات عصبی بسیار کند است. سال ها تمرین برای ماهر شدن در هر مهارتی لازم است. فهم این موضوع به مدیریت سطح انتظارات از خودمان کمک خواهد کرد. حالا میدانیم data scientist شدن چندین سال زمان نیاز دارد! رشد رشته های عصبی با مدت زمانی که شما برای هر مهارت تمرین میکنید ارتباط مستقیم دارد. هرچه مدت زمان بیشتری برای مهارت برنامه نویسی صرف کنید زودتر و سریع تر میتوانید آن را تقویت کنید. تکرار نقش اساسی را در یادگیری برنامه نویسی خواهد داشت.
به حافظه خود مسلط شوید
همانطور که میدانید فقط یک نوع حافظه وجود ندارد. به عنوان مثال حافظه کوتاه مدت و حافظه بلند مدت. هر کدام از این انواع حافظه در مناطق مختلفی از مغز قرار گرفته اند. مهارت هایی که در حافظه کوتاه مدت قرار میگیرند با مهارت هایی که در حافظه بلند مدت قرار دارند در یک مکان ذخیره نمیشوند. پس میشود نتیجه گرفت تنها یک روش برای یادگیری همه چیز موثر نخواهد بود. چون مهارت برنامه نویسی باید در حافظه بلند مدت ذخیره شود در زیر ۴ راهکار برای افزایش قدرت یادگیری و تقویت حافظه بلند مدت مطرح شده است. به عبارت دیگر توسط این راهکارها شما قادر خواهید بود رشته های عصبی بیشتری در مغز خود بسازید :)
- تمرین و تکرار
تکرار شانس انتقال اطلاعات از حافظه کوتاه مدت به بلند مدت را بیشتر میکند. متخصصین مغز و اعصاب میگویند هرچه تعداد تمرین و تکرار بیشتر باشد توانایی نگهداری دانش نیز بیشتر میشود. اگرچه تکرار تنها چند خط کد ثابت برای یادگیری برنامه نویسی به آن زبان مفید نخواهد بود :)
- افزایش فواصل زمانی بین یادگیری یک موضوع
محققان میگویند افزایش فواصل زمانی بین جلسات مطالعه یک موضوع، توانایی شخص در به یادآوری اطلاعات جدید را بیشتر میکند. با تکرار این کار و افزایش فواصل، اطلاعات مدت زمان بیشتری در حافظه شما باقی خواهد ماند. وقتی دانسته های یک بخش تثبیت شد به سراغ موضوعات جدید بروید. به همین دلیل است که مطالعه شب امتحان برای یادگیری یک موضوع مفید نخواهد بود. در ادامه توضیحات بیشتری در مورد این بخش داده خواهد شد.
- آموزش عمیق
هرچه مغز اطلاعات جدید را عمیق تر پردازش کند شانس به خاطر سپردن بیشتر میشود. به عنوان مثال فرض کنید در حال یادگیری زبان انگلیسی هستید. فکر کردن به یک کلمه جدید و ساختن تصویر ذهنی مربوط به آن کلمه از تکرار چندباره آن کلمه در ذهن مفیدتر خواهد بود. برای مثل فرض کنید میخواهید ترجمه کلمه پایتون را به خاطر بسپارید. فکر کردن به حمله یک مار بزرگ و تهدید آمیز از تکرار ساده کلمه مار در ذهن موثرتر خواهد بود :)
- پرهیز از تداخل یادگیری
به طور کلی دو مدل تداخل یادگیری وجود دارد: پیشین و پسین. تداخل پیشین یا فعال وقتی اتفاق میافتد که چیزی که قبلاً یاد گرفته اید بر آنچه بعداً یاد میگیرید تأثیر بگذارد. به عنوان مثال ممکن است مطالعه امروز شما برای قبول شدن در آزمون رانندگی با مطالعه فردای شما برای یادگیری زبان برنامه نویسی پایتون تداخل ایجاد کند. متقابلا، تداخل پسین زمانی اتفاق میافتد که یادگیری بعدی روی چیزهایی که قبلاً یاد گرفته اید تأثیر میگذارد. اگر شما در حال مطالعه برای آزمون رانندگی خود هستید احتمالا در به یادآوری اطلاعات دوره آموزشی پایتون که هفته پیش دیده اید به مشکل خواهید خورد. تداخل آموزشی مخصوصا برای یادگیری برنامه نویسی گاهاً از عدم تمرین و تکرار هم مضرتر خواهد بود.
چند کار را با هم انجام ندهید. این استراتژی برای یادگیری برنامه نویسی مفید نخواهد بود.
وقت استفاده از مطالب مطرح شده رسید :)
اکنون که میدانید یادگیری و حافظه چطور کار میکنند وقت آن رسیده است تا با معرفی چند روش، مهارت برنامه نویسی خودمان را تقویت کنیم.
شیرجه عمیق
یک زبان برنامه نویسی را انتخاب کنید و با آن زندگی کنید. هیچ زبانی از یک زبان دیگر پولساز تر و بهتر نیست. همزمان دو یا چند زبان را یاد نگیرید. اگر پایتون را انتخاب کرده اید با آن زندگی کنید تا در این زبان ماهر شوید. اخبار و مقالات دنیای پایتون را دنبال کنید. چرا محققین علوم داده پایتون را ترجیح میدهند؟ چه کتابخانه هایی از این زبان وجود دارد؟ سعی کنید یک بلاگ در مورد برنامه نویسی پایتون پیدا کنید و مطالب آن را دنبال کنید. در مورد افرادی که با این زبان کار میکنند جستجو کنید. حتی اگر برایتان مقدور است با این افراد در تعامل باشید. از ارتباط با انسان های جدید نترسید.
فواصل زمانی مطالعه خود را افزایش دهید
یادگیری تکنیک افزایش فواصل زمانی بسیار مفید خواهد بود. این ویدئو بسیار دقیق و عالی در مورد این تکنیک صحبت خواهد کرد. فیلترشکن خود را روشن کنید :)
به یاد داشته باشید هرچه بیشتر فراموش کنید مغز شما تلاش بیشتری برای به یادآوردن اطلاعات خواهد کرد. تلاش بیشتر مغز یعنی ساخت بیشتر پل های ارتباطی بین رشته های عصبی. در نتیجه در دفعات بعدی مطالب را راحت تر به خاطر میآورید.
مدیریت انتظارات
خودتان را دست کم نگیرید اما انتظار نابجا نداشته باشید. این یک تکنیک مربوط به یادگیری و حافظه نیست اما داشتن آگاهی صحیح از سطح فعلی خود و همچنین تصویری روشن از هدف باعث میشود واقع بین باشید و پس از گذشت چند هفته دلسرد و ناامید نشوید. ضمنا اشتباهات در طول مسیر برایتان گران تمام نخواهد شد. آگاهی از سطح واقعی باعث میشود با افرادی در تماس باشید که همفکر شما هستند و همین موضوع باعث انعطاف پذیری عصبی شما خواهد شد زیرا مغز شما سعی میکند با محیط و شرایط جدید سازگار شود.
کلام آخر
دیدیم که میتوانیم با استفاده از یافته های جدید پزشکی مهارت برنامه نویسی خود را تقویت کنیم. از سویی با اینکه انعطاف پذیری عصبی کلید یادگیری و کسب دانش است اما یک روند بسیار آهسته دارد و به تمرین زیاد و مداوم نیاز دارد. از سوی دیگر تلاش برای یادگیری چند موضوع به صورت همزمان نتیجه مطلوبی نخواهد داشت. وقت را هدر ندهید. با استفاده از تکنیک زیاد کردن فواصل زمانی و کم کردن تداخلات آموزشی به حافظه بلند مدت خود مسلط شوید.
از دیدگاه علوم اعصاب پیشرفت های کوچک ولی روزانه و مداوم، کلید اصلی افزایش مهارت در برنامه نویسی است.
منابع
- Bear, M., Connors, B., & Paradiso, M. A. (2020). Neuroscience: Exploring the brain. Jones & Bartlett Learning, LLC.
- https://hopes.stanford.edu/neuroplasticity
- Pirolli, P. L., & Anderson, J. R. (1985). The role of practice in fact retrieval. Journal of experimental psychology: Learning, memory, and cognition, 11(1), 136.
- Bahrick, H. P. (1979). Maintenance of knowledge: Questions about memory we forgot to ask. Journal of Experimental Psychology: General, 108(3), 296.
- Craik, F. I., & Tulving, E. (1975). Depth of processing and the retention of words in episodic memory. Journal of experimental Psychology: general, 104(3), 268.
- MT, E. M. K. (2015). Cognitive Psychology: A Student’s Handbook 7th Edition, London and New York.
- Underwood, B. J. (1957). Interference and forgetting. Psychological review, 64(1), 49.
- Baddeley, A. D. (1997). Human memory: Theory and practice. psychology press.
این نوشته برداشتی آزاد بود از How to Boost Your Coding Skills نوشته Renato Boemer.
مطلبی دیگر از این انتشارات
ویژگی جدید پایتون 3.10: Structural pattern matching
مطلبی دیگر از این انتشارات
معرفی بهترین سایت های آموزش برنامه نویسی فارسی
مطلبی دیگر از این انتشارات
برنامه نویسی شی گرا (OOP) تو جاوااسکریپت/نود.جیاس