تجربه یک دانشجو از دوره تابستانه CS50xIran

دو دوره به عنوان مدیر فنی با CS50xIran همکاری می‌کنم. توی فضای کار اشتراکی زاویه مشغول کار بودم که موبایلم زنگ خورد. طبق معمول میرم بیرون از زاویه جواب میدم تا سکوت رو رعایت کنم :)) بعد از اینکه تماسم تموم شد روی نیمکت روبه‌روی کافه نوول نشسته بودم که یکی از دانشجویان دوره تابستان 1400 اومد بالا سرم و گفت سلام آقای دهقان :)گفتم سلام و بفرمایید؟ گفت بنده فلانی‌ام دانشجوی دوره سی‌اس‌فیفتی و شروع کرد به صحبت کردن.کلی با همدیگر صحبت کردیم و تجربه‌اش رو راجع به شرکت در دوره CS50xIran گفت. با خودم فکر کردم و بعش بهش گفتم که می‌تونم این صحبتی که داشتیم رو توی ویرگول از زبان شما منتشر کنم؟ گفت آقا اختیار دارید :))خلاصه توضیحاتش:حدود یک روز مونده بود که ثبت‌نام دوره تابستان 1400 تموم شه، پوستر دوره داخل کانال انجمن علمی دانشگاه دیدم و جذب اسم هاروارد شدم. نکته مهمی که من رو ترغیب کرد تا توی دوره ثبت‌نام کنم این بود که مدرس اصلی، یعنی malan.j.david برگزاری دوره در ایران توسط تیم CS50xIran رو توی یک ویدیو با ارائه خودش تایید کرده بود.در مورد نحوه برگزاری هم بگم که دوره همزمان بصورت آنلاین و حضوری برگزار می‌شد و باید بگم که انصافا پخش آنلاین روی پلتفرم لحظه نگار با بالاترین کیفیت ممکن و کمترین تاخیر در اختیار شرکت کننده‌های غیرحضوری قرار می‌گرفت، شرکت در جلسات به‌صورت حضوری هم با تعداد محدود بخاطر شرایط پاندمی کرونا داخل استودیو ویکست محل ضبط و استریم دوره برگزار می‌شد . نسخه ضبطی دوره هم داخل پنل‌های دانشجوهای دوره قرار می‌گرفت و این امکان وجود داشت تا درصورت غیبت در جلسات ،از محتوای تدریس شده در روزها و هفته‌های آتی استفاده کنیم . دوره با پایه‌ای ترین اصول برنامه نویسی و پایین‌ترین سطح پیچیدگی ممکن شروع شد، بعد آموزش اسکرچ و آشنایی سطحی با برنامه‌نویسی ، اصول برنامه‌نویسی به زبان C آموزش داده‌شد که اولش برام عجیب بود که چرا با زبان ساده‌تری و سطح بالاتری شروع نشده؟ سپس الگوریتم آموزش داده‌شد. اینکه چطور برای یک مسأله راه حل ارائه بدیم و با زبان‌های برنامه‌نویسی مختلف راه حل‌مون را پیاده‌سازی کنیم؟ بعد با مموری‌ها آشنا شدیم اینکه چطوری اطلاعات با انواع مختلف توی حافظه کامپیوتر ذخیره می‌شن و چطور می‌توان به آن اطلاعات دسترسی پیدا کرد. بعد به صورت بصری و به کمک یک سری ابزارهای کمک آموزشی با structures data آشنا شدیم. اینکه هر کدوم چه مزیت و معایبی دارن. همچنین با چه الگوریتم‌هایی می‌تونیم به عناصر موردنظر دست پیدا کنیم. توی ادامه‌ی دوره با زبان پایتون آشنا شدیم. بسیار روان و قدرتمند. که وجود تابع‌های از پیش آماده‌اش خیلی کار را برای ما ساده می‌کرد و اگر برنامه‌ای در زبان C چند ده خط می‌شد، با فراخوانی یه تابع از پیش آماده پایتون و در کوتاه‌ترین زمان به انجام می‌رسید. اینجا بود که فهمیدم چرا با C شروع شد ،چون اگر از ابتدا با پایتون پیش می‌ومدیم متوجه این موضوع نمی‌شدیم که برنامه چطور کار می‌کنه و درنهایت باعث شد درک بهتری در برنامه‌نویسی پیدا کنیم.بعد با زبان SQL آشنا شدیم و معمای جذابی که به عنوان پروژه اون در نظر گرفته شده بود و ما باید با استخراج اطلاعات از دیتابیس این معما رو حل می‌کردیم. بعد مقدمه‌ای از برنامه‌نویسی وب گفته شد: java script و HTMT و فریم ورک FLASK. چندتا از خاص‌ترین و بهترین ویژگی‌های دوره: ربات‌های check50 که ایرادات کد رو بهت اعلام می‌کرد و برای رفعش به چالش می‌کشیدت و submit50 که به هر استاندارد و تمیزتر کردن کمک می‌کرد. همچین نمره دهی آنی پروژه. مورد جالب و هیجان انگیز دوره برای من پیچیدگی پروژه‌ها نسبت به فایل آموزشی بود که باعث می‌شد به چالش کشیده شی و مجبور بشی برای رفع مشکلت تکرار تمرین داشته باشی و سرچ هم بکنی. از اتفاقات جذاب و مفید دوره: پنل‌های هفتگی کلاب‌هاوس دوره بود که متخصصان هر حوزه از کمپانی‌های مطرح داخلی و خارجی حضور پیدا می‌کردند و تجربیات‌شون رو به اشتراک می‌گذاشتن. همچنین فرصت تیم‌سازی هم برای ما بوجود میومد. از جذاب‌ترین اتفاقات دوره: نمایشگاه پایانی (CS50x Fair)دوره بود که دانشجوها پروژه‌های پایانی خودشون رو که این مدت روی اونها کار کرده بودند و اون رو توسعه داده بودند رو به نمایشگاه اوردن. اونها رو در معرض عموم قرار دادند؛ توی یک رقابت هیجان انگیز شرکت کردند که به برترین‌های اونها هم جوایزی تعلق گرفت. در نمایشگاه شرکت‌های بزرگی از سرتاسر کشور مثل دیجی نکست، بیمیتو، توسن و غیره حضور داشتند و این فرصت طلایی بوجود اومده بود که برای ارائه توانایی‌هامون و فرصت استخدام و کارآموزی با مسئولان منابع انسانی این شرکت‌ها گفتگو و مصاحبه‌ای داشته باشیم.