سیستماندیش | نوپژوهشگر مطالعات سازمان و تیم | IT Geek
اشتباهات متداول دانشجوهای کامپیوتر در یادگیری
الان که فاصلهی زیادی با فارغالتحصیلی ندارم، جدا از این که ۴ ساله که خودم دانشجوی رشتهی مهندسی کامپیوتر هستم در مواقعی هم به اشکال گوناگون درگیر آموزش بچههای کامپیوتر بودم. از مشاهدهی همکلاسیهای خودم گرفته تا حل تمرین برای سالپایینیها و فعالیت گروهی در انجمن علمی مشاهدات جالبی داشتم که الان سعی دارم ازشون یک جور راهنما در بیارم. چیزایی که پایینتر میخونین کاملا میتونه برای هر رشتهی دیگهای هم درست باشه. اگه باشه که منم خوشحالترم.
چیزایی که نوشتم کاملا واقعی هستن و قصد تحقیر کسی رو ندارم. آرزوی من اینه که افراد با دید درست وارد رشته بشن و اشتباهات ما و همشاگردیهامون رو تکرار نکنن. بدیهیه که خیلی راجع به بچههای دانشگاههای تاپ سراسری صحبت نمیکنم. اگرچه اگه به درد اونا هم بخوره چه بهتر ولی خب احتمالش خیلی کمه. پس کسی به خودش نگیره!
هر کدوم از ما در طول تحصیل روشهایی رو در پیش میگیریم، برنامهریزیهایی میکنیم، تصمیمهایی میگیریم و در نهایت بعدا نتایج مثبت و منفیاش رو میبینیم. من در این موقعیت بودم که هم نتایج مثبت و منفی عملکرد خودم رو ببینم، هم دوستامو که در پایین براتون مینویسم. قبل از هر چیز لازمه تاکید کنم که قرار نیست شغل، شخصیت یا جنسیتی رو مورد تخریب قرار بدم اما بعضی چیزها معمولا بیشتر با هم رخ داده:
ترس از آزمون و خطا و کنجکاوی نکردن
این یکی از مهلکترین مشکلات بچههای کامپیوتره چرا که بیشترین حجم یادگیری تو این حوزه با همین آزمون و خطا اتفاق میفته. بهتر بگم، این رشته آدم فضول میخواد! آدمی که سر از هر چیزی در بیاره و براش جالب باشه که بفهمه هر چیزی تو کامپیوتر (حالا چه نرمافزارش چه سختافزارش) چه جوری کار میکنه. البته نداشتن این ویژگی لزوما باعث شکست شما تو بازار کار نمیشه ولی خب نمیذاره از یه حدی بیشتر پیشرفت کنین! چون به هر حال با حفظ کردن یه سری چیزای تکراری هم میشه پول در آورد ولی سردرنیاوردن ازش بعدا مشکل ایجاد میکنه.
اما اثر مهمتر این قضیه به جز در بازار کار توی دانشگاهه.
- کنجکاوی کمتر یعنی اطلاعات عمومی کمتر. اطلاعات عمومی کمتر یعنی تصور ضعیفتر از مباحثی که در کلاس تدریس میشه و نتیجتا درک ضعیفتر.
- اصلا نفس رشتهی ما حول «حل مسائل» و «تفکر خلاق» میچرخه که بدون آزمون و خطا معنا نداره!
- امتحان نکردن تکنولوژیهای موجود باعث میشه وقتی یه استادی ازتون پروژه عملی میخواد مجبور بشین در مدت زمانی مقدار زیادی مطالب جدید که توی دانشگاه به شما تدریس نشده رو بخونین و احتمال موفقیت زیادی هم ندارین.
سماجت نکردن در به انجام رساندن یک کار
این یکی از مهلکترین اشتباهاته. اگه سماجت نکنین انتخاب طبیعی شما رو حذف میکنه و خیلی سریع اونایی که عقبتر بودن از شما میزنن جلو. از اون جایی که تکنولوژی زود به زود تغییر میکنه و لازمه که شما خودتون معلوماتتون رو بهروز کنین و گاهی با چند تا مانع موقع یادگیری مواجه میشین که خستهتون میکنه و ولش میکنین! نباید این جوری بشه.
حالا اونا مصادیق این اشتباه توی بازار کار بود. توی درس و دانشگاه هم خیلی این قضیه رو بین بچهها دیدم که مثالش رو پایینتر براتون میارم.
ولی به طور خلاصه گفتن «نمیشه»، «نمیتونم»، «نتونستم» اون هم در تمرینات روزمره که سر کلاس اساتید میگن کلاه بزرگیه که سر خودمون میذاریم! خوبی کلاس و درس به همین چالشهاست و گرنه همهی این درسها رو میشه تو خونه هم خوند.
ما قدیما برای راه انداختن یه بازی کامپیوتری ۲۴ ساعت جون میکندیم و آخر راهش مینداختیم. حالا طرف از نصب یه نرمافزار میترسه و اگه نصب نشه کلا قید داستانو میزنه. ما که هیچی نشدیم...
یادگیری برنامهنویسی مثل خوندن رمان
خیلی جالبه! طرف جزوهی برنامهنویسی رو میگیره ساعتها میشینه میخونه ولی یه خط کد نمیشینه بزنه!
خب ببخشید وقتی منطق برنامهنویسی رو یاد نگیری چه جور مهندس کامپیوتری هستی؟ وقتی نمیتونی یه الگوریتم بنویسی به چه دردی میخوری؟ مگه رمانه نشستی داری میخونی! لابد میخوای پاس هم بشی درس رو.
این جور وقتا میخوام به خدا بگم «خداوندا منو از رو کرهی زمین بردار یا به یه موجود دیگه تبدیل کن»
میدونین یاد اون موقع میفتم که برای کنکور کتابهای شیمی مبتکران و کتابهای حساب دیفرانسل مهندس مهربان رو میخوندم.
برنامهنویسی همهاش فکر کردنه. یه درصد خیلی کمی ازش مربوط به دستور زبان و این چیزاست. حالا تو برو کل سورس کد مربوط به آپولو ۱۱ رو حفظ کن.
جالبه حتی نامگذاریها رو از استادشون تقلید میکنن و وقتی اسم رو عوض میکنی نیم ساعت باید توضیح بدی که چرا مثلا به جای i نوشتی arrayIndex.
طرف اومده بود فکر میکرد کامنت تو منطق برنامه تاثیر داره! میخواستم خودمو بزنم ولی خب خونسردی خودمو حفظ کردم و بهش خیلی آهسته و پیوسته توضیح دادم.
چون این رفتار که تا طرف یه سوتی احمقانه تو فهمیدن چیزی داد ترورش کنیم و اگه کمک خواست بهش بگیرم برو خودت بخون به همون اندازه خطرناکه که جواب رو هلو برو تو گلو به طرف بدیم.
جا داره به یه نسخهی پیشرفتهتر این اشتباه هم اشاره کنم:
طرف میره ۲۰ ساعت فیلم آموزشی نگاه میکنه و یاد هم میگیره همون لحظه ولی فقط نگاه میکنه! نمیره چار تا خط کد بزنه.
خودآموز نبودن و وابستگی به عامل خارجی پیگیر
یه سریا هستن نه تنها تنهایی تلاش کردنشون نمیاد بلکه گروهی هم تلاش نمیکنن. البته معمولا اصلا سراغ تیم نمیرن ترجیح میدن خودشون تو تنهایی خودشون بسوزن. خیلی وقتا اینا کلاس هم نمیرن چون نمیدونن باید کجا برن کلاس چی و میترسن کلاسش خوب نباشه. نهایتا به وضعیت خطری که میرسن ممکنه برن دنبال معلم خصوصی که البته خیلی از درسا معلم خصوصی نداره.
رشتهی کامپیوتر به شدت نیازمند اینه که شما آدم خودآموزی باشین و دائم خودتون رو ارتقا بدین و بهروز کنین. ولی یه عده اصلا خودآموز نیستن که هیچ تنها تنها کشش لازم رو ندارن. یه جور پشتیبان قلمچی میخوان. که واقعا انتظار بزرگیه و استاد هم چنین وظیفهای نداره! اگر هم بکنه لطف میکنه.
بهترین کاری که میشه کرد اینه که توی سالبالاییها دنبال دانشجوییهایی بگردن که دوست دارن راهنمای بقیه باشن که البته در حال حاضر تعدادشون خیلی کمه و کمتر هم خواهد شد.
البته این قضیهی خودآموز نبودن و نیازمند بودن به عامل خارجی همیشگی نیستا! معمولا دستشون که راه بیفته درست میشن. این قضیه به شدت مربوط به اعتماد به نفس میشه! البته خیلی از چیزایی که توی این مقاله میخونین مربوط به اعتماد به نفس میشه! و خب متاسفانه توی دانشجوهای خانم خیلی بیشتر دیده میشه.
یکسره فقط مشورت گرفتن (روش حریصانه)
بعضیا هم هستن که از ترم اول تا ترمهای آخر فقط دارن از این و اون میپرسن که:
- «جاوا بهتره یا سیشارپ؟»
- «برم سمت موبایل یا برم وب؟»
- «بازیسازی درآمدش خوبه؟»
- «لینوکس بهتره یا ویندوز؟»
- «جنگو خوبه یا لاراول؟»
و همهاش کلا دنبال بهترین انتخاب ممکن میگردن! آخرشم میرن سمت کارای غیر کامپیوتری. نمیدونم واقعا درک نمیکنم! چی کار داری کدوم بهترینه! اول و آخر که باید یه سری چیزا رو یاد بگیری و با یه زبان امتحانشون کنی دیگه! حالا فعلا با یه زبان برو جلو بعدش اگه لازم شد عوضش کن.
بالا بری پایین بیای همه باید با شبکه و لینوکس و پایگاه دادهها و یه سری چیزای دیگه آشنایی داشته باشن و توی همون برنامهنویسی هم مفاهیمی هست که در هر حال باید بلد باشی.
تازه این دسته از دوستان دائم غرغر این رو میزنن که دانشگاه هیچی به ما یاد نمیده و چرا داریم سی پلاس پلاس میخونیم.
روحیهی غیرمشارکتی غیرتعاملی
خیلی کلیدی و مشخص بگم! موارد زیر اگه در مورد شما صدق میکنه مشخص میشه که در وجود شما خدمت کردن به علم و فناوری معنی پیدا نکرده و احتمالا خیلی اذیت خواهید شد در بلند مدت!
بعضیا هستن که کلا اهل کار گروهی نیستن به دلایل مختلف. مثلا:
- هیچی نشده به بقیه اعتماد ندارن
- بقیه رو اضافه بار میدونن
- دلشون نمیخواد کسی تو موفقیتشون سهیم باشه
- نمیخوان به غیر از خودشون کس دیگهای هم اون کار رو یاد بگیره و موفق بشه
من جای شما باشم به خودم اجازه نمیدم از نرمافزارهای آزاد و متنباز استفاده کنم چون لیاقتش رو ندارم.
علاوهبر اینها باید تاکید کنم که کمک کردن به هم تو یادگیری و یاد دادن چیزی که بلدیم به همکلاسیها و سالپایینیها کار بسیار بسیار پسندیدهایه که دو سر برده! یعنی هم باعث یادگیری و پیشرفت یک یا چند نفر دیگه میشین و هم خودتون مسلطتر میشین به اون مبحث و البته خیلی اتفاقهای خوب دیگه هم میفته! امتحان کنین تا ببینین زندگی چقدر شیرینتر میشه!
از کاه کوه ساختن و کمالگرایی در یادگیری
این مورد معمولا مخصوص بچههاییه که میخوان تاپ کلاس و تاپ دانشگاه باشن. مثلا میخوان جاوا یاد بگیرن میرن خفنترین منبع رو میخرن کتابش رو و برنامهریزی میکنن از اول اول تا آخر آخرش رو طی یک ترم بخونن. نتیجهاش اینه که هیچوقت این کارو نمیکنن چون وسط راه خسته میشن و میبینن این همه کتاب خوندن ولی هنوز هیچ خروجی نداشتن و در این مدت «هزینه بالا» و «بهرهوری صفر» بوده. تازه برنامهشون این بوده که اول «جاوا» رو قورت بدن بعد برن «اوراکل» رو یاد بگیرن و یه کتاب خیلی قول هم برای اون خریدن. بعد میخوان تازه برن اول یه کتاب بگیرن ۶۰۰ صفحه راجع به «HTML» و بعد یه کتاب کلفت دیگه راجع به «HTML5+CSS3» و ایشالا دو سال دیگه میخوان یه کتاب مرجع بگیرن و سیر تا پیاز «جاوااسکریپت» رو مطالعه کنن. حالا بگذریم که بعضیا فکر میکنن جاوا همون جاوااسکریپته...
در هر حال این روش غلطه! بهترین روش برای یادگیری به نظر من اینه که یه پروژهی ساده برای خودتون تعریف کنین و بعد نیت کنین هر جور که میشه با مثلا همون «جاوا» یا هر زبان و پلتفورم دیگه پیادهاش کنین و در این مسیر فقط و فقط بر حسب نیاز به کتابها و مقالهها و فیلمهای آموزشی و غیره و غیره مراجعه کنین. به هر حال دوست خوبمون stackoverflow هم هست. ولی اصلا به فکر این که تمام مفاهیم و امکانات موجود در یک زبان رو اول تمام و کمال یادبگیرین و بعد طراحی وب رو کامل یاد بگیرین و بعد تازه شروع کنین به خلاقیت یه تصمیم کاملا اشتباهه.
اولش سعی کنین فقط امتحان کنین و خلاق باشین. بعدا برای فهمیدن اعماق تکنولوژی و بهتر کردن پروژههاتون وقت زیاده! فقط انجامش بدین!
اهمیت ندادن به دروس دانشگاهی به طور متوازن
خب یه مسئلهی دیگه همیشه این بوده که ما فکر میکردیم فلان دروس خیلی به درد میخورن و فلان دروس اصلا خوندنشون توجیه نداره. البته اگه از اول با خودت بگی مثلا من میخوام فقط «طراحی وب» کار کنم احتمال زیادی داره که مثلا «معماری کامپیوتر» هیچوقت به دردت نخوره. ولی درسهایی که میخونیم چند تا دلیل داره وجودشون:
- یکی این که این درسها تو شاخههای خاصی که ما ممکنه بعدا به هر دلیلی لازم بشه بریم سمتشون لازم میشه. مثلا درس فیزیک میتونه تو بازیسازی به درد بخوره. دروس آمار و احتمالات و معادلات دیفرانسیل هم برای اونایی که میخوان برن سراغ یادگیری ماشین.
- بعضی درسها وجودشون برای اینه که ما بتونیم با رشتههای دیگه ارتباط برقرار کنیم و توی پروژههای بینرشتهای فعالیت داشته باشیم خصوصا با رشتههای خواهرمون یعنی «مهندسی برق» و «مهندسی رباتیک»
- بعضی درسها باید باشن و ما بگذرونیم تا بتونیم یه سری درسهای دیگه رو بفهمیم.
البته خیلی وقتا نهایتا ممکنه لازممون نشن یا در بدترین حالت بریم اون مبحث خاص رو یاد بگیریم. ولی یه وقتایی هم به این خوبی پیش نمیره و فرصتها از دست میرن...
ترس از کمک گرفتن حتی از اینترنت
خب وقتی میدونی تو یه چیزی مشکل داری همون موقع از استادت بپرس!
خجالت میکشی؟ خب از همکلاسیت بپرس!
اونم بلد نیست؟ از سالبالاییت بپرس!
گوگل کن!
خیلی ساده است! چیزی که مشکل داری رو سرچ کن تو گوگل. ولی خب انگلیسی سرچ کن
کلی سایت آموزشی برای هر چیزی تو اینترنت به طور رایگان هست
یه عالمه فیلم آموزشی هست
البته خب بیشترش انگلیسیه! گاهی هم هندی :-D
خلاصه که استادم خوب درست نداد یا غایب بودم یا خیلی بهونههای دیگه این روزا به هیچ وجه توجیه محسوب نمیشه!
این شاخه اون شاخه کردن و رعایت نکردن تقدم تاخر
این مورد معمولا وقتی اتفاق میفته که شما جزو بچههای خلاق هستین و دائم در حال ایده زدن هستین و ایدههای گنده گنده میزنین و خوشبختانه سراغ پیادهکردنش هم میرین ولی خیلی خیلی خیلی از معلومات لازم رو ندارین. حتی نمیدونین باید چه چیزایی رو قبلش یاد گرفته باشین و همینطور گیجتر میشین. یه روز یه چیز رو یاد میگیرین یه روز یه چیز دیگه. آخرش هم خسته میشین و میذارینش کنار.
یه نوع دیگهاش هم مال اوناییه که همهچیز رو دوست دارن و نمیتونن انتخاب کنن حوزهی تخصصیشون رو پس دائم همه چیز رو امتحان میکنن.
یه قانون سرانگشتی بهتون بگم. امتحان کردن یه چیز جدید هیچ عیبی نداره و خیلی هم خوبه اما نباید بیشتر از ۱۰ روز طول بکشه. اگه اومدین ۲ ماه از وقتتون رو روی یه چیز گذاشتن و بعد ولش کردین و بعد دوباره چند ماه رو یه چیز دیگه و چند هفته رو یه چیز دیگه. این دیگه داره از مدار خارج میشه!
رفع تکلیفی کار کردن
در این مورد خیلی وارد نمیشم و همین قدر که تیترش باشه کافیه.
مقایسه کردن بیجای خود با دیگران
اینم در حد تیتر کافیه
مخلص کلام؛ ضعف در زبان انگلیسی و همچنین تنبلی
یکی از بزرگترین مشکلات بچهها همیشه ضعف در زبان انگلیسی بوده!
- وقتی انگلیسیت ضعیف باشه کار کردن با کامپیوتر برات سخت میشه.
- وقتی انگلیسیت ضعیف باشه نمیتونی از راهنماهای متنوع و رنگ و وارنگ خارجی استفاده کنی.
- وقتی انگلیسیت ضعیف باشه باید همهاش منتظر کتاب و فیلم و جزوهی فارسی باشی که همیشه از لبهی تکنولوژی عقبه و تضمینی هم توی کیفیتش نیست.
- وقتی انگلیسیت ضعیف باشه حتی نمیتونی از کمکهایی که ابزارها بهت میدن، ارورهایی که کامپایلر بهت میده و خیلی چیزای دیگه بهرهمند بشی.
- وقتی انگلیسیت ضعیف باشه خیلی نمیتونی رو ادامه تحصیل خارج از کشور حساب کنی.
و اما تنبلی نکنید؛
از همون ترم اول واسه خودتون یه ایدهی خیلی ساده در حد پیادهسازی یه دادهساختار ساده یا یه الگوریتم جستجوی ساده بتراشین و پیادهاش کنین. با هر زبانی که دوست دارین بنویسین اصلا ولی تا به آخر نرسوندین بیخیال نشین! با همین شیوه برای یادگیری پایگاه داده و هوش مصنوعی و خیلی درسهای دیگه هم میتونین برین جلو. شاید یهو یه ایدهی خوبی ازش در اومد! شاید همون شد تز کارشناسیتون! شاید همون شد یه استارتآپ. حالا هی برو بگرد دنبال یه ایدهی خیلی خاص و عریض و طویل که خود کن تامسون هم نمیتونه پیاده کنه و پیاده بکنه هم توجیه اقتصادی نداره.
در انتها داستانک زیر رو بهتون تقدیم میکنم:
و همینطور این از دوست خوبم محمدرضا
مطلبی دیگر از این انتشارات
مفهوم فضای نام یا namespace به زبان نسبتا ساده
مطلبی دیگر از این انتشارات
با چشم باز انتخاب کن (برای خواهر/برادر دبیرستانی ام)
بر اساس علایق شما
در تکاپوی فهمیدن و زیستن