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

ممکن است دانش‌آموز باشید و بخواهید اولین بازی خود را بسازید؛ در دانشگاه به دنبال کاربرد برنامه‌نویسی در رشته‌تان بگردید؛ یا صاحب کسب‌وکاری باشید که می‌خواهد تصمیم‌های فنی بهتری بگیرد. پاسخ برای همه یکسان نیست. در این راهنما، مسیر رسمی CS50x، تفاوت دوره‌های مرتبط و برنامهٔ آموزشی CS50xURMIA را جدا بررسی می‌کنیم تا انتخاب روشن‌تری داشته باشید.

CS50 چیست و CS50x چه تفاوتی با آن دارد؟

کاور اصلی دوره سی اس فیفتی ایکس
کاور اصلی دوره سی اس فیفتی ایکس · Harvard Uni

CS50 نام درس مقدماتی علوم کامپیوتر دانشگاه هاروارد است؛ CS50x نسخهٔ آنلاین آن برای مخاطبان عمومی است. دیوید جی. مالان از مدرسان اصلی این دوره است. هدف، آشنایی با منطق حل مسئله و مبانی برنامه‌نویسی است؛ زبان‌های مختلف به فهم همین مبانی کمک می‌کنند. معرفی رسمی را در صفحهٔ CS50x بخوانید.

وقتی می‌پرسیم «سی اس فیفتی چیست؟»، باید میان یک درس دانشگاهی، نسخهٔ آنلاین آن و کلاس برگزارکنندهٔ محلی تفاوت بگذاریم. برنامهٔ کلاس فارسی می‌تواند توضیح، رفع اشکال و زمان‌بندی خودش را داشته باشد؛ اما شرایط تکالیف و گواهی رسمی را باید از خود CS50 پیگیری کرد.

تفاوت CS50، CS50x و کلاس محلی
نامبه چه چیزی اشاره می‌کند؟پیش از انتخاب چه چیزی را بررسی کنیم؟
CS50درس مقدماتی علوم کامپیوتر هارواردهدف و سطح محتوای درس
CS50xنسخهٔ آنلاین و عمومی درسسرفصل و شرایط تکمیل نسخهٔ جاری
کلاس محلی مبتنی بر CS50xبرنامهٔ آموزشی و پشتیبانی یک برگزارکنندهشیوهٔ تدریس، جلسات، تمرین، پشتیبانی و هزینه

در CS50 دقیقاً چه چیزی یاد می‌گیرید؟

به یک برنامهٔ جست‌وجو فکر کنید: چه داده‌ای دریافت می‌کند؟ چه نتیجه‌ای باید بدهد؟ اگر چیزی پیدا نشد چه می‌شود؟ آیا راه‌حل شما با بزرگ‌شدن فهرست همچنان مناسب است؟ این پرسش‌ها به همان اندازهٔ نوشتن دستورهای یک زبان اهمیت دارند.

  • تفکر محاسباتی: تبدیل یک مسئلهٔ مبهم به بخش‌های کوچک و قابل بررسی.
  • تفکر الگوریتمی: نوشتن مراحل روشن و مقایسهٔ راه‌حل‌های مختلف.
  • درک داده و حافظه: فهم اینکه اطلاعات چگونه نگهداری و پردازش می‌شوند.
  • برنامه‌نویسی و رفع خطا: ساخت برنامه، آزمایش رفتار آن و اصلاح اشتباه‌ها.
  • ساخت پروژه: کنار هم گذاشتن آموخته‌ها برای حل مسئله‌ای مشخص.

برای نمونه، در تمرین زیر هدف یافتن یک عدد در یک فهرست است. زبان مثال پایتون است، اما منطق آن را پیش از یادگیری زبان هم می‌توان روی کاغذ توضیح داد. این مثالِ تألیفیِ مقاله است و پاسخ یکی از تکالیف رسمی دوره نیست.

مثال آموزشی: جست‌وجوی یک عدد در فهرست
def contains_number(numbers, target):
    for number in numbers:
        if number == target:
            return True
    return False

print(contains_number([7, 12, 4, 19], 12))

یک تمرین کوچک پیش از شروع

بدون اجرای کد، حدس بزنید اگر عدد هدف از ۱۲ به ۲۰ تغییر کند چه نتیجه‌ای چاپ می‌شود. سپس توضیح دهید برنامه برای رسیدن به پاسخ، چه چیزهایی را بررسی می‌کند.

دیدن پاسخ و راهنمای حل
نتیجه False است؛ چون هیچ عضو فهرست برابر ۲۰ نیست. برنامه هر عدد را با هدف مقایسه می‌کند و اگر همهٔ مقایسه‌ها ناموفق باشند، False برمی‌گرداند. مهم‌تر از حفظ پاسخ، توضیح مسیر رسیدن به آن است.

CS50 برای چه کسانی مناسب است؟

CS50x برای مخاطبان با یا بدون سابقهٔ برنامه‌نویسی معرفی شده است. برای انتخاب شخصی، از خودتان بپرسید چه چیزی می‌خواهید بسازید و چه زمانی را می‌توانید به تمرین اختصاص دهید. چند موقعیت رایج را مرور کنیم.

دانش‌آموزان؛ برای تجربهٔ ساختن و شناخت علاقه

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

برای آمادگی سنی، صفحهٔ رسمی CS50 معمولاً مخاطبان ۱۲ سال به بالا را مناسب‌تر می‌داند؛ این پیشنهاد را باید همراه با آمادگی فرد و شرایط استفاده از ابزارهای دوره سنجید. برای کودک کم‌سن‌تر، مسیر آرام‌ترِ آموزش Scratch در مجموعه می‌تواند برای بررسی مناسب باشد. راهنمای رسمی سن و پیش‌نیاز

دانشجویان کامپیوتر؛ برای پیوند دادن مبانی و پروژه

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

اگر پایهٔ محکمی دارید و فقط به مهارت مشخصی مثل توسعهٔ وب نیاز دارید، ابتدا سرفصل‌ها را با نیاز فعلی‌تان مقایسه کنید. گذراندن دوبارهٔ یک دورهٔ مقدماتی تنها انتخاب ممکن نیست.

دانشجویان رشته‌های دیگر؛ برای ساخت ابزار مرتبط با رشته

از یک مسئلهٔ آشنا شروع کنید: مرتب‌کردن نتایج آزمایش، پردازش یک فایل متنی، دسته‌بندی اطلاعات یک پژوهش یا محاسبهٔ چند شاخص. مسئله باید آن‌قدر کوچک باشد که بتوانید ورودی، خروجی و محدودیت‌هایش را تعریف کنید. این مثال‌ها ایدهٔ تمرین هستند؛ کاربردهای تخصصی ممکن است به دانش و ابزارهای بیشتری نیاز داشته باشند.

علاقه‌مندان تازه‌کار؛ برای پیدا کردن مسیر بعدی

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

صاحبان کسب‌وکار؛ با توجه به نوع هدف فنی

اگر می‌خواهید خودتان ابزار کوچکی بسازید و کدنویسی کنید، CS50x قابل بررسی است. اگر هدف اصلی شما فهم پیشنهادهای فنی، تصمیم‌گیری دربارهٔ محصول یا گفت‌وگو با تیم توسعه است، CS50 Business را هم ببینید. این دوره برای مدیران و تصمیم‌گیرندگان، نگاه سطح بالاتری به فناوری دارد. معرفی رسمی CS50 Business

یک جملهٔ مشخص بنویسید: «می‌خواهم فایل‌های کاری‌ام را پردازش کنم» یا «می‌خواهم پیشنهاد تیم فنی را بهتر ارزیابی کنم». انتخاب دوره از همین تفاوت شروع می‌شود. ابزار تمرینی اولیه را نیز بدون ارزیابی و آزمایش، جایگزین سامانهٔ عملیاتی کسب‌وکارتان نکنید.

سرفصل CS50x؛ از هفتهٔ صفر تا پروژهٔ نهایی

کلاس سی اس فیفتی ایکس ارومیه CS50x Urmia
کلاس زنده ی سی اس فیفتی ایکس ارومیه CS50x Urmia · Behrad Ghasemi

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

جدول سرفصل‌های CS50x
بخشموضوع رسمیهدف یادگیری به زبان ساده
هفتهٔ ۰Scratchآشنایی دیداری با منطق برنامه
هفتهٔ ۱Cنوشتن دستورها و کنترل اجرای برنامه
هفتهٔ ۲Arraysکار با مجموعه‌ای از داده‌ها
هفتهٔ ۳Algorithmsبررسی روش‌های حل مسئله
هفتهٔ ۴Memoryفهم نگهداری داده در حافظه
هفتهٔ ۵Data Structuresآشنایی با شیوه‌های سازمان‌دهی داده
هفتهٔ ۶Pythonنوشتن برنامه با زبان سطح بالاتر
هفتهٔ ۷SQLکار با داده در پایگاه داده
محتوای تکمیلیArtificial Intelligenceآشنایی با موضوعات هوش مصنوعی
هفتهٔ ۸HTML، CSS، JavaScriptآشنایی با اجزای صفحات وب
هفتهٔ ۹Flaskپیوند دادن بخش‌های یک برنامهٔ وب
هفتهٔ ۱۰The Endمرور و پایان محتوای دوره
پروژهٔ نهاییFinal Projectساخت نرم‌افزاری مبتنی بر آموخته‌ها

Scratch فرصتی می‌دهد پیش از درگیرشدن با جزئیات نوشتاری کد، منطق برنامه را تجربه کنید. مباحث بعدی، همین منطق را در کنار داده، حافظه و ساختار برنامه گسترش می‌دهند. پایان مسیر هم جایی است که باید دربارهٔ تصمیم‌های پروژهٔ خودتان توضیح بدهید. شرح رسمی محتوای دوره

پیش‌نیاز CS50 چیست؟

برای شروع لازم نیست از قبل پایتون یا C بلد باشید. بااین‌حال، آمادگی عملی به ادامه‌دادن کمک می‌کند: دسترسی منظم به کامپیوتر، اینترنت، توانایی کار با فایل‌ها و زمانی که واقعاً بتوانید برای تمرین کنار بگذارید.

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

آیا بدون انگلیسی قوی می‌توان شروع کرد؟

اگر توضیح انگلیسی مانع فهم موضوع است، توضیح فارسی و زیرنویس می‌توانند کمک کنند. اما بهتر است اصطلاح‌های اصلی، مانند variable، loop و function، را به‌تدریج بشناسید؛ چون در ابزارها، منابع و پیام‌های خطا با آن‌ها روبه‌رو می‌شوید. برای سنجش آمادگی، بخشی از آموزش را ببینید و صورت یک تمرین را با زبان خودتان توضیح دهید.

اما در سی اس فیفتی ایکس ارومیه، تمامی محتوای آموزشی با دقت تمام به صورت بومی آموزش داده شده است و پشتیبانی 24/7 در اختیار دانشجو قرار می گیرد.

CS50 چقدر زمان می‌برد و چگونه برای آن برنامه بریزیم؟

در صفحهٔ رسمی، محتوا در یازده بخشِ هفتهٔ صفر تا ده سازمان‌دهی شده است. این نام‌گذاری به معنی یکسان‌بودن سرعت همهٔ افراد نیست. FAQ رسمی برای تمرین‌های هر هفته حدود ۱۰ تا ۲۰ ساعت برآورد می‌کند؛ زمان مشاهدهٔ آموزش نیز باید جدا در نظر گرفته شود. برآورد رسمی زمان تمرین

برای ساختن برنامهٔ شخصی، ابتدا یک بخش را واقعاً تجربه کنید. زمان تماشای آموزش، فهم صورت مسئله، نوشتن کد و رفع خطا را جدا ثبت کنید. سپس بر اساس وقت آزاد خودتان تصمیم بگیرید، نه صرفاً بر اساس تعداد ویدئوها.

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

مزایا و محدودیت‌های CS50 برای شروع

مزایا

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

معایب

  • تمرین‌ها برای شروع‌کننده می‌توانند زمان‌بر باشند.
  • گستردگی مباحث جای آموزش تخصصی هر زبان یا حوزه را نمی‌گیرد.
  • مسیر خودآموز به نظم شخصی و در صورت نیاز، کمک زبانی نیاز دارد.
  • تکمیل دوره به‌تنهایی تضمین استخدام یا توانایی ساخت هر نوع محصول نیست.

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

وقتی تمرین سخت می‌شود، چه کار کنیم؟

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

پنج قدم برای بازکردن گرهٔ یک تمرین

  1. صورت مسئله را بازنویسی کنید

    با یک جمله توضیح دهید برنامه چه ورودی‌ای می‌گیرد و چه خروجی‌ای باید بسازد.

  2. یک مثال کوچک بسازید

    از دادهٔ ساده استفاده کنید و پاسخ مورد انتظار را خودتان روی کاغذ پیدا کنید.

  3. راه‌حل را به گام‌ها تقسیم کنید

    پیش از نوشتن کد، ترتیب کارها و حالت‌های متفاوت را مشخص کنید.

  4. هر بار یک چیز را آزمایش کنید

    ابتدا بخش کوچکی را اجرا کنید؛ خطا یا نتیجهٔ همان بخش را بررسی کنید و بعد ادامه دهید.

  5. برای کمک، سؤال مشخص بپرسید

    بگویید چه می‌خواستید، چه شد و چه راه‌هایی را امتحان کرده‌اید. راهنمایی را برای ادامهٔ کار خودتان بگیرید.

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

در استفاده از هوش مصنوعی و کمک آموزشی چه محدودیتی وجود دارد؟

برای تکالیف رسمی، متن جاری سیاست صداقت آموزشی CS50 ملاک است. این سیاست استفاده از ابزارهای هوش مصنوعی خود CS50 را مجاز می‌داند، اما استفاده از ابزارهای بیرونی که پاسخ یا کد پیشنهاد و تکمیل می‌کنند را در تکالیف عادی مجاز نمی‌داند. پروژهٔ نهایی شرایط جداگانه‌ای دارد. پیش از استفاده از هر ابزار، مقررات همان فعالیت را بخوانید.

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

تفاوت CS50x، CS50P و CS50 Business چیست؟

این نام‌ها به یک دوره با اسم‌های متفاوت اشاره نمی‌کنند. برای انتخاب، ابتدا هدف کوتاه‌مدت خود را مشخص کنید. معرفی رسمی CS50P و CS50 Business را هم کنار CS50x بخوانید.

مقایسهٔ سه مسیر CS50
معیارCS50xCS50PCS50 Business
تمرکزمبانی علوم کامپیوتر و برنامه‌نویسیبرنامه‌نویسی با پایتونفهم فناوری و تصمیم‌های فنی
نوع مسیرحل مسئله با چند زبان و مفهوم پایهخواندن، نوشتن و آزمایش کد پایتوننگاه سطح بالا برای مدیران و تصمیم‌گیرندگان
نمونهٔ هدفساخت پایه برای ادامهٔ مسیر فنیشروع یا تقویت برنامه‌نویسی پایتونارزیابی بهتر تصمیم‌ها و پیشنهادهای فنی
برای انتخاب از خود بپرسیدمی‌خواهم مبانی گسترده‌تری یاد بگیرم؟اکنون مشخصاً پایتون لازم دارم؟هدف اصلی‌ام تصمیم‌گیری دربارهٔ فناوری است؟

طبق معرفی CS50P، می‌توان آن را پیش، هم‌زمان یا پس از CS50x گذراند. بااین‌حال، برای شروع شخصی لازم نیست چند دوره را با هم انتخاب کنید. یک مسیر متناسب با وقتتان را آغاز کنید و برای تغییر یا گسترش آن، از تجربهٔ واقعی تمرین کمک بگیرید.

هزینه و مدرک CS50؛ چه چیزی رایگان است؟

دسترسی به محتوای رسمی CS50x رایگان است. گواهی رایگان CS50 و گواهی تأییدشدهٔ edX ( برای ایرانی ها گرفتن این مدرک امکان پذیر نمی باشد حتی در صورت پرداخت هزینه ی 80 دلاری ) مسیرهای یکسانی نیستند. هزینهٔ کلاس های حضوری و آنلاین مجموعه ی سی اس فیفتی ایکس ارومیه هم با مراجعه به پشتیبانی می توانید داشته باشید.

تفاوت دسترسی به محتوا، گواهی و کلاس محلی
مسیربه چه چیزی مربوط است؟شرط یا نکتهٔ اصلی
مطالعهٔ محتوای رسمیدسترسی رایگان به منابع دورهتماشای محتوا به‌تنهایی گواهی ایجاد نمی‌کند
گواهی رایگان CS50تکمیل موفق الزامات رسمیحداقل امتیاز لازم در تمرین‌های الزامی و پروژهٔ نهایی
گواهی تأییدشدهٔ edXغیر قابل دریافت برای ایرانی هاغیر قابل دریافت برای ایرانی ها
کلاس محلیخدمات آموزشی برگزارکنندهبررسی برنامه، پشتیبانی، هزینه و نوع گواهی محلی

برای دریافت گواهی رایگان CS50، باید الزامات دوره و پروژهٔ نهایی را انجام دهید و حداقل ۷۰ درصد امتیاز لازم را در موارد الزامی کسب کنید. ثبت‌نام در یک کلاس، خرید یک مسیر آموزشی یا صرفاً دیدن ویدئوها جای این فرایند را نمی‌گیرد. جزئیات را در صفحهٔ رسمی گواهی CS50 بررسی کنید.

برای استفاده از گواهی در رزومه، نوع گواهی و دورهٔ تکمیل‌شده را دقیق بنویسید. آن را معادل مدرک دانشگاهی هاروارد معرفی نکنید. اگر پذیرش یک سازمان یا مؤسسه برایتان اهمیت دارد، معیار همان مقصد را جدا بررسی کنید.

برنامهٔ CS50xURMIA در ارومیه چگونه است؟

برنامهٔ معرفی‌شدهٔ مجموعه، یک مسیر ۱۵ هفته‌ای و نیمه‌حضوری است: کلاس حضوری هفتگی، دسترسی به محتوای آنلاین و آفلاین و ارتباط آنلاین برای پیگیری یادگیری. این زمان‌بندی متعلق به برنامهٔ محلی مجموعه است؛ آن را با یازده بخش محتوای رسمی یا زمان تکمیل مسیر خودآموز یکسان نگیرید.

مشخصات برنامهٔ معرفی‌شدهٔ CS50xURMIA
بخشتوضیح برنامه
مدت و شیوه۱۵ هفته، نیمه‌حضوری و با کلاس حضوری هفتگی
مبنای آموزشیمباحث اصلی بر پایهٔ سرفصل CS50x
دسترسی به محتوامحتوای آنلاین و آفلاین در برنامهٔ مجموعه
رفع اشکالهمراهی مدرس، دستیار آموزشی و پشتیبان به‌صورت حضوری و آنلاین
بخش‌های تکمیلیمباحث معرفی‌شدهٔ دیجیتال مارکتینگ و هوش مصنوعی در برنامهٔ محلی
خروجی هدف‌گذاری‌شدهتقویت مبانی و همراهی در ساخت و انتشار سایت شخصی، وابسته به انجام تمرین و پروژه

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

تیم سی اس فیفتی ایکس ارومیه

عکس بهراد قاسمی هم بنیان گزار مجموعه ی سی اس فیفتی ایکس ارومیه
بهراد قاسمی هم بنیان گزار مجموعه ی سی اس فیفتی ایکس ارومیه
عکس مبین جباری هم بنیان گزار مجموعه ی سی اس فیفتی ایکس ارومیه
مبین جباری هم بنیان گزار مجموعه ی سی اس فیفتی ایکس ارومیه
عکس آرین قهرمانی مدیر دیجیتال مارکتینگ سی اس فیفتی ایکس ارومیه
آرین قهرمانی مدیر دیجیتال مارکتینگ سی اس فیفتی ایکس ارومیه
عکس آرمان ولیزاده TA سی اس فیفتی ایکس ارومیه
آرمان ولیزاده TA سی اس فیفتی ایکس ارومیه
عکس متین محمدامینی TA سی اس فیفتی ایکس ارومیه
متین محمدامینی TA سی اس فیفتی ایکس ارومیه

پیش از ثبت‌نام این سؤال‌ها را بپرسید

  • در یک هفتهٔ معمولی، خارج از کلاس چقدر باید تمرین کنم؟
  • رفع اشکال چگونه انجام می‌شود و زمان پاسخ‌گویی چه برنامه‌ای دارد؟
  • کدام بخش‌ها از سرفصل رسمی CS50x هستند و کدام بخش‌ها آموزش تکمیلی مجموعه‌اند؟
  • منابع، توضیح مفاهیم و راهنمای ابزارها به چه زبانی ارائه می‌شوند؟
  • آیا پروژه را خودم انجام می‌دهم و چه نوع بازخوردی می‌گیرم؟
  • هزینه، تقویم جلسات، شرایط شرکت و نوع گواهی نوبت جاری چیست؟

بعد از CS50 چه مسیری را ادامه دهیم؟

برای ادامه، به تجربهٔ پروژه و تمرین‌های خودتان برگردید. اگر از ساخت صفحه و تعامل کاربر لذت برده‌اید، توسعهٔ وب را بررسی کنید. اگر کار با فایل و داده برایتان جذاب بوده، تمرین هدفمند پایتون یا SQL می‌تواند قدم بعدی باشد. برای علاقه به مسئله‌های بنیادی هم مطالعهٔ عمیق‌تر الگوریتم و ساختمان داده مطرح است.

پروژهٔ بعدی را به یک مسئلهٔ روشن محدود کنید: ابزار ثبت فعالیت یک گروه، فهرست قابل جست‌وجوی منابع یا برنامه‌ای برای پردازش فایل‌های شخصی. ابتدا یک نسخهٔ کوچکِ قابل اجرا بسازید؛ سپس محدودیت‌ها، خطاها و امکانات بعدی را ثبت کنید.

در پروژهٔ نهایی رسمی، موضوع می‌تواند بر اساس علاقهٔ شما انتخاب شود و باید از آموخته‌های دوره استفاده کند. جزئیات تحویل و مقررات را از راهنمای پروژهٔ نهایی CS50x بخوانید. نمونه‌پروژه را برای فهم دامنه بررسی کنید، نه برای تحویل‌دادن کار دیگری به نام خودتان.

از کجا شروع کنیم؟ سه قدم برای تصمیم‌گیری

  1. هدف را در یک جمله بنویسید

    مشخص کنید می‌خواهید مبانی را یاد بگیرید، با پایتون برنامه بنویسید یا تصمیم‌های فنی بهتری بگیرید.

  2. یک تجربهٔ واقعی بسازید

    بخش آغازین مسیر مرتبط را ببینید و تمرینی کوچک انجام دهید. زمان و نوع کمکی را که لازم دارید ثبت کنید.

  3. مسیر مناسب را انتخاب کنید

    برای خودآموزی به منابع رسمی مراجعه کنید؛ اگر به توضیح فارسی و برنامهٔ منظم نیاز دارید، برنامهٔ کلاس و پشتیبانی مجموعه را با وقت خودتان مقایسه کنید.

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