تجربیات و چالش های حل تمرین درس برنامه نویسی

چالش های حل تمرین برنامه نویسی

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

دوست داشتم که مثل روند دانشگاه برای دروس برنامه نویسی پیش برم و اول برم سراغ درس مبانی برنامه سازی اما این اولین چالشی بود که باهاش روبرو شدم؛ استاد درس حتی جواب من رو هم نداد!

در این مطلب می‌خوانیم

  • چالش های حل تمرین برنامه نویسی
  • دنبال الگو و تجربه دیگران بودم
  • تیم حل تمرین واقعا بازدهی بیشتری دارد
  • منابع من برای درس برنامه نویسی پیشرفته
  • دانلود تمرین هایی که این ترم ازشون استفاده کردم
  • نظرات دانشجوها

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

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

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

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

این کار هم مثل هر کار دیگه‌ای سختی هایی داره؛ من به بعضی‌هاش اشاره می‌کنم که شاید در نگاه اول به نظر نرسن:

شما به عنوان حل تمرین به جز طرح تمرین و تصحیح اون‌ها باید:

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

خیلی از این موارد رو راهی به جز روبرو شدن باهاشون برای یادگیری ندارید.

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

دنبال الگو و تجربه دیگران بودم

با سرچی که داشتم این مقاله رو از سایت ویرگول پیدا کردم تجربیات من در تیم تمرین درس برنامه‌سازی پیشرفته! – درس برنامه سازی پیشرفته شریف (virgool.io) این مقاله من رو مجدد به یاد طرح تمرین های طولانی معروف در مسابقات برنامه نویسی انداخت و باعث شد برای یک تمرین گروهی از این تیپ تمارین الهام بگیرم.

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

در کل هر کسی روش منحصر به فردی برای آموزش دادن داره و هم مثل هم نیستن پس مراقب تقلید باشید؛ كلاغ خواست راه رفتن كبك را بياموزد، راه رفتن خود را هم فراموش كرد!

تیم حل تمرین واقعا بازدهی بیشتری دارد

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

وقتی حل تمرین تیمی باشه خیلی از وظایف تقسیم کار میشه و بهترین حالتش بنظرم 3 نفره: یک نفر آموزش، یک نفر تصحیح تمارین و یک نفر هم برای رفع اشکال.

منابع من برای درس برنامه نویسی پیشرفته

همون ابتدا یاد سامانه کوئرا که قبلاً یک کلاس باهاش خارج از دانشگاه داشتم افتادم و دیدم اتفاقاً میشه به راحتی کلاس داخلش داشت و از طرفی رایگان بود و نیاز به تاییدیه و نامه خاصی هم نبود.

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

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

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

نظرات دانشجوها

اینکه اینجا من صرفا تجربیاتم رو بگم به نظرم کافی نیست، با اینکه انرژی و زمان زیادی برای این درس گذاشتم باید ببینم تا چه حد این تلاش مفید واقع شده:

البته من همینجا بگم بعضی موقع ها به دلیل اینکه شرکت در کلاس رو آزاد گذاشته بودم و هر جلسه تعداد زیادی از دانشجوها حالا یا به دلیل نمره کمی که دست من بود یا اینکه نحوه تدریس من رو دوست نداشتن و یا هر دلیلی نمیومدند سر کلاس؛ برای همین این منو یه مقدار وسط های راه بی انگیزه کرد. (توصیه می‌کنم برای مشارکت در کلاس نمره بزارید :)‌ )

نمره دانشجوها در مورد عملکرد من: (کارنامه من)

نتایج نظر سنجی دانشجوها

نتایج نظر سنجی دانشجوها

امیدوارم تجربیاتم در این مورد به دردتون خورده باشه، اگه شما هم حل تمرین بودین یا اینکه تجربه ای یا نظری راجع به حل تمرین بودن دارید خوشحال میشم برام کامنت کنید.

Image placeholder

رضا دهقانی

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

همیشه اول بودن جذابه! اولین نظر این پست رو تو بزار :)