من که از بچگی علاقه بسیاری به ابزارهای فنی و کامپیوتر داشتم و خانواده هم بر حسب عادت من را مهندس صدا میزدند، همیشه بهدنبال دورهای کاربردی درباره مبانی علوم کامپیوتر و برنامهنویسی بودم تا در این حوزه اطلاعات زیادی کسب کنم و با افراد مستعد و کوشایی که در این حوزه فعالیت دارند، آشنا و بتوانم وارد بازار کار شوم.
پس از مدت زیادی تحقیق و گشتن در فضای مجازی برای همچین دورهای و البته شرکت در دورههایی که هیچ نتیجهای نداشتند، روزی از روزها که تقریبا یک روز تا پایان ثبتنام دوره تابستانه CS50xIran 1400 باقی مانده بود، پوستر آن را در یکی از کانالهای انجمن دانشگاه مشاهده کردم. در نگاه اول به پوستر قرمز جذاب آن خیره شدم؛ اما بعد از کمی مشاهده اسم دانشگاه هاروارد من را مجذوب خود کرد.
دانشگاهی که همیشه دوست داشتم در آن تحصیل کنم و دیوانهوار عکسهای دانشگاه هاروارد را دانلود و به آنها نگاه میکردم و خودم را آنجا تصور میکردم. با دیدن نام دانشگاه هاروارد سریع وارد لینک ثبتنام شدم تا توضیحات دوره را کامل بخوانم.
توضیحاتی که راجعبه این دوره نوشته شده بود، این است:
دوره Cs50 یا Computer Science 50 دوره مبانی علوم کامپیوتر هاروارد است که برای آشنایی با علوم کامپیوتر و یادگیری هنر برنامه نویسی است. این دوره تنها در دو دانشگاه هاروارد و یل تدریس میشود و مخاطب دانشجویانی است که علاقه دارند با حوزه علوم کامپیوتر آشنا شوند و یا قصد دارند پایه علمی خود را در این زمینه تکمیل و قوی کنند. مدرس این دوره در هاروارد آقای David. J. Malan است. سیاسفیفتیاکس به دوره و اتفاقات مربوط به دوره اصلی میگویند که خارج از دانشگاه هاروارد و در شهرها و کشورهای دیگر برگزار میشود. برای مثال به دوره داخل ایران Cs50x Iran میگویند. مدیر سیاسفیفتی داخل ایران نیما سالارکیا و مدرس حال حاضر این دوره در ایران امیرحسین فروغی است که با گذراندن موفق دوره مدرسان، توسط سیاسفیفتی اصلی تایید شدهاند.
نکته مهمی که من را ترغیب کرد تا در این دوره جذاب ثبتنام کنم، مدرس اصلی برگزاری دوره مبانی علوم کامپیوتر دانشگاه هاروارد یعنی David. J. Malan تیم Cs50x Iran را در یک ویدئو با ارائه خودش تایید کرده بود. وقتی ویدئو را مشاهده کردم، خیالم بابت تدریس آن راحت شد و بهتر میتوانستم ثبتنام کنم.
در مورد نحوه برگزاری هم بگم که دوره همزمان بهصورت آنلاین و حضوری با ظرفیت محدود برگزار میشد و پخش آنلاین روی پلتفرم لحظه نگار با بالاترین کیفیت ممکن و کمترین تاخیر در اختیار شرکت کنندههای غیرحضوری قرار گرفت. من که همیشه مشکل اینترنت و دغدغه قطعی کلاسها را داشتم اینجا با این مشکل روبهرو نشدم.
شرکت در جلسات بهصورت حضوری هم با تعداد محدود بخاطر شرایط کرونا داخل استودیو ویکست امکانپذیر بود و دوره در همان جا با بالاترین کیفیت ضبط و استریم میشد. نسخه ضبطی دوره هم داخل پنل دانشجوهای دوره قرار میگرفت و این امکان وجود داشت تا درصورت غیبت در جلسات، از محتوای تدریس شده در روزها و هفتههای آتی استفاده کنم. برای من که بخاطر کلاسهای دانشگاه و کارم نمیتوانستم دوره را آنلاین یا حضوری مشاهده کنم، از نسخه ضبطی استفاده میکردم.
این دوره با پایهایترین اصول برنامهنویسی و پایینترین سطح پیچیدگی ممکن اول با آموزش اسکرچ و آشنایی سطحی با برنامهنویسی شروع و بعد اصول برنامهنویسی به زبان C ادامه پیدا کرد، سپس مبحث جالب و جدید الگوریتم آموزش داده شد؛ اینکه چطور برای یک مسأله راهحل ارائه دهیم و با زبانهای برنامهنویسی مختلف، راهحلهای خود را پیادهسازی کنیم. این مبحث برای من که عاشق عملی کردن ایدههایم هستم، فوقالعاده بود. طوریکه ویدئوهای ضبط شده آن را چندینبار دیگر مشاهده کردم.
بعد با مموریها آشنا شدیم اینکه چطوری اطلاعات مختلف و متنوع، در حافظه کامپیوتر ذخیره میشوند و چطور میتوان به آن اطلاعات دسترسی پیدا کرد. موضوع جالب این بود که با سپری شدن هر هفته از دوره مبانی علوم کامپیوتر Cs50x Iran با موضوعات متنوع و خارقالعاده درباره کامپیوتر آشنا میشدم و علاقهام به آن بیشتر و بیشتر میشد.
در ادامهی دوره با زبان پایتون آشنا شدم، زبانی بسیار ساده و قدرتمند که دید من به سخت بودن برنامهنویسی را کاملا تغییر داد. یکی از نکات جالب این زبان شباهت آن به گفتوگو است؛ گویی که به راحتی با کامپیوتر سخن میگفتیم و آن دستورات ما را اجرا میکرد.
اینجا بود که فهمیدم چرا با زبان برنامهنویسی C شروع شد، چون اگر از ابتدا با پایتون دوره را شروع میکردیم، متوجه این موضوع نمیشدیم که برنامه چطور کار میکند. شروع با زبان C درنهایت باعث شد درک بهتری در برنامهنویسی پیدا کنیم.
بعد با زبان Query SQL آشنا شدیم. در این هفته باید معمای جذابی که بهعنوان پروژه در نظر گرفته شده بود را حل میکردیم. پس از پروژه، مقدمهای از برنامهنویسی وب گفته شد Html وJavaScript و فریمورک FLASK
چندتا از خاصترین و بهترین ویژگی های دوره؛ ربات های check50 که ایرادات کد رو بهت اعلام میکرد و برای رفع آن شما را به چالش میکشید و submit50 که به استاندارد و تمیزتر کردن کد، کمک میکرد. همچین نمرهدهی آنی پروژه سبب سریعتر شدن انجام دوره برای ما شده بود.
مورد جالب و هیجانانگیز دوره برای من پیچیدگی پروژهها نسبت به فایل آموزشی بود که باعث میشد به چالش کشیده شوید و مجبور باشید برای رفع مشکل تکرار و تمرین کنید. یکی دیگر از اتفاقات جذاب و مفید دوره، پنلهای هفتگی کلابهاوس دوره بود که متخصصان هر حوزه از کمپانیهای مطرح داخلی و خارجی حضور پیدا میکردند و تجربیاتشان رو به اشتراک میگذاشتند. اگر از افراد تلاشگر و زرنگی بودید میتوانستید از این فرصت تیمسازی به خوبی استفاده کنید.
از جذابترین اتفاقات دوره، نمایشگاه پایانی (CS50xFair) بود که دانشجوها پروژههای پایانی خودشان را که در این مدت انجام و توسعه داده بودند در نمایشگاه ارائه و آن را در معرض عموم قرار دادند. شرکتکنندهها با شرکت در یک رقابت هیجانانگیز خود را به چالش کشیدند و به هدف انتخاب شدن بهعنوان برترین تیم و گرفتن جایزه خارقالعاده نمایشگاه تلاش کردند.
در نمایشگاه شرکتهای بزرگی از سراسر کشور مثل دیجی کالا نکست، بیمیتو، توسن و... حضور داشتند و این فرصت طلایی به وجود آمد که برای ارائه تواناییهایمان و فرصت استخدام و کارآموزی، با مسئولان منابع انسانی این شرکتها گفتوگو و مصاحبهای داشته باشیم.
در پایان نمایشگاه، من توانستم با ارتباطسازی و صحبت با مدیرهای شرکتهای حاضر در نمایشگاه با دوتا از آنها همکاری کنم و رزومه خود را تقویت کنم. این هفتهها گذشت و من دوست دارم در دوره جدید سی اس فیفتی ایکس ایران که تابستان امسال شروع میشود، شرکت کنم و باز هم با افراد بیشتری آشنا شوم و آن مطالب جذاب دوره را بار دیگر بشنوم.