CS50 التأسيسي — نسخة بايثون
◀ الأسبوع 0 — التهيئة والتفكير الحاسوبي
- لماذا علوم الحاسوب مهمة في البحث والصناعة.
- الخوارزميات في الحياة اليومية؛ التفكيك والتجريد.
- تهيئة البيئة: بايثون، VS Code، Git، GitHub.
- أول برنامج وأساسيات سطر الأوامر.
◀ الأسبوع 1 — أساسيات بايثون
- المتغيرات، الأنواع، التعبيرات، الإدخال/الإخراج.
- الشروط والحلقات؛ عقلية تصحيح الأخطاء.
◀ الأسبوع 2 — هياكل البيانات الأساسية
- السلاسل والتقطيع؛ القوائم وقوائم الفهم.
- الصفوف (tuples) والمجموعات والقواميس؛ متى نستخدم كلًا منها.
◀ الأسبوع 3 — الدوال والوحدات
- تعريف الدوال؛ المعاملات وقيم الإرجاع.
- أساسيات العودية؛ جولة في المكتبة القياسية.
◀ الأسبوع 4 — الخوارزميات وتحليل التعقيد
- البحث الخطي مقابل الثنائي؛ الفرز (فقاعي، إدراج، دمج).
- تحليل Big‑O؛ مفاضلات الزمن/الذاكرة.
◀ الأسبوع 5 — نموذج الذاكرة والتجريد
- الأسماء مقابل الكائنات؛ قابلية التغيير والنسخ؛ مطبّات التقطيع.
- نمذجة البيانات بقوائم/قواميس متداخلة.
◀ الأسبوع 6 — البرمجة كائنية التوجه
- الفئات والطرائق وdunder methods.
- الإخفاء، الوراثة، التركيب.
◀ الأسبوع 7 — قواعد البيانات وSQL
- النمذجة العلائقية؛ المفاتيح الأساسية/الخارجية.
- SELECT وWHERE وGROUP BY وJOIN؛ ربط SQLite مع بايثون.
◀ الأسبوع 8 — أساسيات الويب
- دلالات HTML5؛ تخطيط CSS؛ مبادئ الوصول.
- مقدمة Flask؛ القوالب والتوجيه.
◀ الأسبوع 9 — واجهات برمجة التطبيقات وJSON
- طرائق HTTP؛ الطلبات؛ استهلاك واجهات عامة.
- تحليل JSON والتحقق من صحته.
◀ الأسبوع 10 — الأمن والأخلاقيات
- التجزئة والـsalting لكلمات المرور؛ التخزين الآمن.
- الحوسبة المسؤولة، الخصوصية، الرخص.
◀ الأسبوع 11 — التحضير للمشروع الختامي
- تحديد النطاق، قصص المستخدم، المعالم، إعداد المستودع.
◀ الأسبوع 12 — المشروع الختامي
- التنفيذ وعرض المشروع.