چطور ریزپردازنده ۲۰ شدم؟ (راهنمای عملی گرفتن شوتهای رونالدو!)

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

ترم ۶، من درس «ریزپردازنده ۱» رو برداشتم. درسی که معمولا بچه ها ازش می‌ترسن (چون هم بُعد سخت افزاری خیلی مطرحه درونش هم نرم‌افزاری. شما باید تا حد قابل قبولی مفاهیم سخت افزاری که در مدار منطقی و معماری خوندید رو بدونید و هم مقدار زیادی رجوع کنید به دروسی مثل برنامه سازی پیشرفته و مبانی!). چندماهی این درس رو خوندم و در آخر، خرداد ماه پارسال که نتایج اومد نمره این درس در کارنامه من «۲۰» بود. نمره‌ای که شاید گرفتنش از دروس تخصصی دیگر، مشکل باشه. گرچه بیست های دیگری هم در کارنامه دارم (مثل مبانی، زبان تخصصی و ... ) و همچنین نمرات بالای ۱۷ که کم براشون وقت نذاشتم (مثل معماری) ، اما بیستی که از ریزپردازنده گرفتم، کمی خاصتر بود. به همین خاطر، تصمیم دارم در موردش در این مطلب، بیشتر بنویسم.

از شوآف نترسید!

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

قبل از کلاس رفتن، تجربه کنید

یکی از اخلاقهای من اینه که خیلی چیزها رو قبل از این که زمانش برسه، تجربه می‌کنم. درس ریزپردازنده ما برمبنای AVR جلو میرفت. استاد مدارهای میکروکنترلری رو در پرتئوس می‌بست و بعد از اون، با کدويژن براش کد میزد و کد رو شبیه‌سازی می‌کرد. یکی دو ماه قبلش، من تصمیم گرفته بودم که شدیدا روی این موضوع مطالعه کنم تا بتونم معماری کامپیوتر رو بهتر بفهمم. همراه بچه‌هایی که ترم پیش از ما، ریزپردازنده داشتن ریزپردازنده میخوندم و حتی شده بود تمرینات رو زودتر از اونا حل کنم! علاوه بر این، کار با Arduino رو هم یاد گرفته بودم و زمانی که قرار بود به کلاس برم، تازه تازه داشتم ابزارهای IoT رو هم فرامیگرفتم. خب یه پیش‌زمینه خوب. یک تجربه قبل از حضور در کلاس، که باعث می‌شد بتونم بیش از پیش خودم رو در کلاس درس، عرضه کنم!

ارائه در کلاس، مهمترین نکته

استاد ما، از همه جور فعالیتی خیلی حمایت می‌کرد. در عید نوروز، بهش ایمیل زدم و گفتم «آیا امکانش هست در کلاس موضوع IoT رو ارائه بدم؟» پاسخ داد که بله، دومین جلسه‌ای که بعد از عید کلاس میاید آماده باشید. شاید من کل عید رو وقت گذاشتم روی آماده‌سازی داکیومنتهای ارائه و اونها رو برای استاد فرستادم. از یک LED ساده که توسط WiFi کنترل می‌شد تا سون سگمنتی که به کمک شیفت رجیستر میتونست اعداد رو از طریق وایفای نشون بده، در اون داکیومنت ها بود. پروژه های فان و جدی IoT هم در داکیومنت بود. روز ارائه، نزدیک چهل دقیقه صحبت کردم. این چهل دقیقه و نمایش یک NodeMCU فیزیکی که مداراتش هم درست بسته شده بودن (برای روشن کردن LED ! ) باعث شد من چهار نمره بگیرم. چهار نمره بابت یک ارائه که هیچ اجباری درش نبود (حتی استاد به صورت اختیاری هم موضوعی برای ارائه به ما نداد).

تحویل تمرین رو جدی بگیرید :)

استاد در این درس، چهار نمره هم تمرین تعیین کرده بود. انتظار من شخصا این بود که بعد ارائه بگه «دیگه نیازی به ارائه تمرینات نیست». ولی نگفت، و از اونجایی هم که من درس رو خیلی دوست داشتم تمرینات رو هم انجام دادم و براش ایمیل کردم. استاد همون شبی که تمرینات رو براش ایمیل کردم پاسخی داد بهم : «شما ۴ نمره از ارائه دارید و ۴ نمره هم از تمرین. جمعا ۸ نمره کلاسی براتون لحاظ کردم که اگر ۱۲ نمره برگه رو بنویسید، ۲۰ خواهید شد.». روز بعد، امتحان رو دادیم. یک هفته نشده استاد نمرات رو داد. نمره وارد شده «۲۰» بود. چند روز بعد در دانشگاه استاد رو دیدم و از روی کنجکاوی پرسیدم برگه رو چند شدم و ایشون پاسخ دادن ۱۹.۵ . به نظر دیگران ۸ نمره رو حروم کرده بودم، ولی به نظر خودم اگر واقعا جوابی روی برگه نمیدادم اون برندی که از خودم پیش استاد ساخته بودم، خراب می‌شد. بهرحال کم برای اون ۲۰ تلاش نکرده بودم.



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

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