دخلت بكالوريوس الذكاء الاصطناعي Artificial Intelligence أو علم البيانات Data Science وأنت تتوقع أن تبدأ من اليوم الأول بالشبكات العصبية ونماذج اللغة، ثم فتحت الخطة الدراسية فوجدت في السنة الأولى والثانية «تصميم المنطق الرقمي» و«أنظمة التشغيل» و«التراكيب المتقطعة» و«الفيزياء»، ووجدت مقرر «تعلم الآلة» في السنة الثالثة. وإذا كنت في مسار الذكاء الاصطناعي وعلم البيانات داخل علوم الحاسب فقد تجد مقرر تعلم آلة إجبارياً واحداً فقط، والباقي في قائمة اختيارية. وفي المقابل تقرأ إعلانات الوظائف فتجد «الاستدلال الإحصائي Statistical Inference» و«التحسين Optimization»، وتبحث عنهما في خطتك فلا تجد مقرراً يحمل اسميهما. فما الذي يحدث هنا؟ هل خطتك ناقصة، أم أن هذا هو التخصص فعلاً؟
في مقال أي تخصص تقني تختار؟ رأينا أن بكالوريوس الذكاء الاصطناعي في الجامعات السعودية هو في الغالب علوم حاسب أعيد توزيع ساعاته لصالح الرياضيات وتعلم الآلة، وأن وظائف الذكاء الاصطناعي العميقة تميل إلى الماجستير والرياضيات. أما هذا المقال فيبدأ من حيث انتهى ذاك: أنت داخل التخصص الآن، فما المنهج الدولي الذي يقاس عليه، ولماذا وضع كل جزء من خطتك، وكيف تدرسه أربع خطط سعودية، وما الذي تطلبه الوظائف ولا تجده في الخطة، وكيف تكمل النقص من مقالات عرب رووت. وهو من مرحلة أساسيات الذكاء الاصطناعي ونماذج اللغة، وموجه لطالب علم البيانات أو الذكاء الاصطناعي، وللخريج الجديد، ولمن يتعلم المجال بنفسه ويريد خريطة كاملة يقيس عليها. وسوف نناقش في هذا المقال ما يلي:
- لماذا لا يوجد منهج دولي مكتمل لبكالوريوس الذكاء الاصطناعي، وما الذي نقيس عليه بدلاً منه.
- تقرير الكفاءات الحاسوبية لعلم البيانات CCDS2021: من كتبه ومتى، ومجالاته الإحدى عشرة، وما يقوله عن الرياضيات، وما يصرح بأنه لا يغطيه.
- مجال الذكاء الاصطناعي في منهج علوم الحاسب CS2023: ساعاته ووحداته ورياضياته.
- الاعتماد الأكاديمي من ABET لعلم البيانات، ومعايير الذكاء الاصطناعي المقترحة.
- تجربة عملية Lab: برنامج Python يصنف كل مقرر في أربع خطط سعودية إلى مجالات CCDS2021، ويفحص الرياضيات التي يطلبها التقرير، ويقارن ساعات الذكاء الاصطناعي بجوهر CS2023، مع المشكلات التي ظهرت.
- ما تطلبه الوظائف ولا تغطيه الخطط، وخريطة دراسة ذاتية من مقالات الموقع، وخطة قراءة فصلاً بفصل، وأخطاء شائعة.
لماذا لا يوجد منهج دولي لبكالوريوس الذكاء الاصطناعي؟
لكل تخصص حوسبة تقليدي تقرير منهج من ACM وجمعية الحاسب في IEEE: علوم الحاسب وهندسة البرمجيات وهندسة الحاسب ونظم المعلومات وتقنية المعلومات والأمن السيبراني. أما الذكاء الاصطناعي فلا يوجد له حتى أكتوبر 2026 تقرير منهج مكتمل لبكالوريوس مستقل من هذه الجمعيات، وما يوجد هو مجال معرفة اسمه الذكاء الاصطناعي داخل منهج علوم الحاسب CS2023، الذي اعتمدته ACM وجمعية الحاسب في IEEE وجمعية النهوض بالذكاء الاصطناعي AAAI في بداية 2024. وهذا يعني أن البرامج الجامعية المسماة «بكالوريوس الذكاء الاصطناعي» تبنى في الغالب على منهج علوم الحاسب، ثم تضيف فوقه مقررات من مجال الذكاء الاصطناعي ومن علم البيانات.
أما علم البيانات فوضعه مختلف قليلاً: أصدر فريق ACM لعلم البيانات تقريراً نهائياً في يناير 2021، ولكنه كما سنرى تقرير «كفاءات حاسوبية» فقط، وليس منهجاً كاملاً، ويقول ذلك عن نفسه. لذلك سوف نقيس الخطط في هذا المقال بثلاث مساطر معاً: تقرير علم البيانات CCDS2021 لمجالات البيانات والحوسبة، ومجال الذكاء الاصطناعي في CS2023 لساعات الذكاء الاصطناعي ورياضياته، ومعايير ABET التي تحول هذه التوصيات إلى شروط اعتماد. وهذه المساطر الثلاث لا تتعارض، وإنما كل واحدة تغطي جزءاً لا تغطيه الأخرى.
تقرير CCDS2021: من كتبه ولماذا اكتفى بالحوسبة؟
في اجتماع مجلس التعليم في ACM في أغسطس 2017 تشكل فريق اسمه Data Science Task Force، ووافق مجلس التعليم على ميثاقه في يناير 2018، وكانت مهمته كما في التقرير أن يحدد «إسهامات الحوسبة» في هذا المجال الجديد، وأن يقدم إرشاداً للكفاءات الحاسوبية في برامج البكالوريوس، ثم يستخدم التقرير لدعوة جمعيات أخرى غير حاسوبية لبناء منهج كامل. وترأس الفريق Andrea Danyluk من كلية Williams وPaul Leidig من جامعة Grand Valley State، وضم أعضاء من الجامعات والصناعة من الولايات المتحدة وكندا والصين والمملكة المتحدة.
ونشر الفريق مسودة أولى في يناير 2019، ثم مسودة ثانية في ديسمبر 2019 مع طلب تعليقات حتى 31 مارس 2020، ثم التقرير النهائي في يناير 2021 باسم Computing Competencies for Undergraduate Data Science Curricula واختصاراً CCDS2021، واعتمدته ACM. ولم يحل التقرير محل تقرير سابق، فقبله كان تقرير Computing Curricula 2020 يضع علم البيانات تحت عنوان «قيد التطوير»، وكانت هناك جهود من جهات أخرى يذكرها التقرير نفسه، مثل إرشادات معهد Park City للرياضيات سنة 2016 التي تميل إلى الرياضيات والإحصاء، وإطار EDISON الأوروبي، وتقرير الأكاديميات الوطنية الأمريكية.
ولاحظ ما كتبه رئيسا مجلس التعليم في رسالة الافتتاح: هذه الوثيقة «ليست محاولة لادعاء ملكية علم البيانات أو أسبقيته»، لأن ادعاء ذلك ينفي الطبيعة المتداخلة للمجال. وهذا يفسر لماذا اكتفى التقرير بالحوسبة: علم البيانات في نظره يجمع ثلاثة أطراف، الإحصاء والرياضيات للتحليل والنمذجة والاستدلال، وعلوم الحاسب لإدارة البيانات وحمايتها والحوسبة عالية الأداء والخوارزميات، ومجال التطبيق Domain الذي يعطي البيانات معناها. والتقرير يكتب الطرف الثاني فقط.
وقبل كتابة المجالات أجرى الفريق في بداية 2018 استبيانين: 672 إجابة من الأكاديميين و297 من الصناعة. وفيه ثلاث نتائج تهم طالب اليوم: 47% من الأكاديميين قالوا إن جامعاتهم لا تقدم برنامج بكالوريوس في علم البيانات، ونحو نصف ممثلي الصناعة (48%) قالوا إنهم يبحثون عن مرشحين بشهادة أو خلفية في علم البيانات أو التحليلات، وأصحاب العمل طلبوا مهارات حوسبة أكثر من مهارات الإحصاء والرياضيات. والنتيجة الرابعة فاجأت الفريق نفسه: أصحاب العمل لم يذكروا أمن البيانات وخصوصيتها كمجال مطلوب، ويعلق التقرير بأن هذا قد يعكس ما يجدونه في المتقدمين وليس ما يتمنونه.
كيف ينظم CCDS2021 المعرفة؟
يقسم التقرير الكفاءات الحاسوبية إلى أحد عشر مجال معرفة Knowledge Area، ولكل مجال وصف ونطاق وكفاءات عليا ثم مجالات فرعية Sub-domains، وكل مجال فرعي يعرف بقائمة معارف Knowledge وقائمة مهارات Skills مكتوبة كمخرجات تعلم Learning Outcomes على مستويات تصنيف Bloom الستة من التذكر إلى الإبداع، ومعها أحياناً سمات مهنية Dispositions مأخوذة من CC2020 مثل الدقة والمبادرة والمسؤولية. والصورة التالية تجمع المجالات الإحدى عشرة وما حولها:

وفيما يلي المجالات الإحدى عشرة بالترتيب الأبجدي الذي يستخدمه التقرير، مع مجالاتها الفرعية:
| المجال | المجالات الفرعية في التقرير |
|---|---|
| التحليل والعرض Analysis and Presentation (AP) | الاعتبارات الأساسية، والتصوير البصري Visualization، والتصميم المتمحور حول المستخدم، وتصميم التفاعل، وتصميم الواجهات |
| الذكاء الاصطناعي Artificial Intelligence (AI) | عام، وتمثيل المعرفة والاستدلال بالمنطق، وتمثيل المعرفة بالاحتمالات، والتخطيط واستراتيجيات البحث |
| أنظمة البيانات الضخمة Big Data Systems (BDS) | مشكلات الحجم، ومعماريات الحوسبة، وأطر الحوسبة المتوازية، والتخزين الموزع، والبرمجة المتوازية، والحوسبة السحابية، ونظرية التعقيد |
| أساسيات الحوسبة Computing and Computer Fundamentals (CCF) | معمارية الحاسب، والتخزين، وأنظمة التشغيل، وأنظمة الملفات، والشبكات، والويب، والمترجمات والمفسرات |
| جمع البيانات وإدارتها وحوكمتها Data Acquisition, Management, and Governance (DG) | جمع البيانات، واستخراج المعلومات، وأنواع البيانات، والدمج، والضغط، والتحويل، والتنظيف Data Cleaning، والخصوصية والأمن |
| التنقيب في البيانات Data Mining (DM) | قياس التقارب، وتجهيز البيانات، والعنقدة Clustering، والتصنيف والانحدار، والأنماط، والقيم الشاذة Outliers، والسلاسل الزمنية، واسترجاع المعلومات |
| خصوصية البيانات وأمنها وسلامتها والتحليل للأمن (DPSIA) | الخصوصية، والأمن، والسلامة Integrity، واستخدام تعلم الآلة والإحصاء في الأمن |
| تعلم الآلة Machine Learning (ML) | عام، والتعلم الموجه Supervised، وغير الموجه Unsupervised، والطرق المختلطة، والتعلم العميق Deep Learning |
| المهنية Professionalism (PR) | التطوير المهني المستمر، والتواصل، والعمل في فريق، والاعتبارات الاقتصادية، والخصوصية، والأخلاقيات، والقانون، والملكية الفكرية، والأتمتة |
| البرمجة وهياكل البيانات والخوارزميات (PDA) | التفكير الخوارزمي، والبرمجة، وهياكل البيانات، والخوارزميات، وتحليل التعقيد، والحوسبة العددية |
| تطوير البرمجيات وصيانتها (SDM) | تصميم البرمجيات وتطويرها، واختبار البرمجيات |
في الجدول أعلاه لاحظ التالي:
- الذكاء الاصطناعي وتعلم الآلة مجالان منفصلان في التقرير: الأول للتمثيل والاستدلال والتخطيط والبحث، والثاني للتعلم من البيانات بما فيه التعلم العميق. وهذا الفصل سيهمنا في التجربة، لأن خطط «الذكاء الاصطناعي» في الواقع تعطي تعلم الآلة أضعاف ما تعطي الذكاء الاصطناعي الرمزي.
- تنظيف البيانات وتحويلها ودمجها مكانها في مجال جمع البيانات وإدارتها، وهي في الواقع أكثر ما يستهلك وقت من يعمل في البيانات، ولكنها نادراً ما تكون مقرراً مستقلاً.
- الخصوصية تظهر في ثلاثة مجالات: إدارة البيانات، والخصوصية والأمن، والمهنية، وهذا مقصود لأن التقرير يريدها في كل مرحلة.
وكل معرفة أو مهارة في التقرير تحمل تصنيفاً من ثلاثة: T1 أي يجب أن يتقنه كل خريج علم بيانات، وT2 أي يتوقع أن يتقنه أغلب الخريجين، وكل خريج يتقن أغلب بنود T2، وE أي اختياري. ويوصي التقرير في فصل تصميم البرنامج بأن تكون أغلب مادة المقررات الإجبارية من T1 وT2، وأن تكون المقررات الاختيارية في السنوات الأخيرة من T2 وE، وأن يكون في السنة الأخيرة مشروع كبير يجمع مواد عدة مقررات.
ماذا يقول CCDS2021 عن الرياضيات، وماذا لا يغطي؟
هنا أهم جملة في التقرير كله لطالب علم البيانات، وهي في نهاية تعريف المجالات: «لمنهج كامل يجب أن تضاف إلى هذه المجالات كفاءات في حساب التفاضل والتكامل، والتراكيب المتقطعة، ونظرية الاحتمالات، والإحصاء الأولي، والمواضيع المتقدمة في الإحصاء، والجبر الخطي، وغيرها. ويجب أن يتضمن المنهج الكامل أيضاً مجال تطبيق واحداً على الأقل». أي أن التقرير لا يقول إن الرياضيات غير مهمة، وإنما يقول إنها خارج ما كتبه، ويتركها لجمعيات الرياضيات والإحصاء.
ثم يعود في فصل صفات الخريج Characteristics of Graduates فيكون أكثر تحديداً: يجب أن يبرمج الخريج بلغة أو لغتين شائعتين مثل Python وR، وأن يعرف مكتبات مثل sklearn وحزم R، وأن يعرف من الرياضيات التطبيقية التفاضل والتكامل متعدد المتغيرات، والجبر الخطي، والتحسين Optimization، ونظرية الرسوم Graph Theory، ومعها الاحتمالات والطرق الأساسية في الإحصاء، وأن يقدر على قراءة أوراق موجهة للممارسين فيها مصطلحات رياضية وإحصائية. وفي نفس الفصل يطلب مهارات تواصل واضحة: أن يفهم سؤال العميل بلغته، وأن يعيد إليه النتائج بنص ورسوم يفهمها غير التقنيين.
وفيما يلي ما يقول التقرير صراحة إنه لا يغطيه:
- الرياضيات والإحصاء، كما في الجملة السابقة، وهو يحيل إلى إرشادات Park City لهذا الجزء.
- مجال التطبيق: يطلب مجالاً واحداً على الأقل، ويقول إن تعريف كفاءاته خارج نطاقه، ويقترح أمثلة مثل الفيزياء والأحياء والكيمياء والعلوم الإنسانية.
- هيكل البرنامج والمقررات: لا يعطي ساعات ولا قائمة مقررات، ويقول إن المجال جديد وإن على البرامج أن «تلعب على نقاط قوتها» في علوم الحاسب أو الإحصاء أو الرياضيات، ولذلك وضع تصنيف T1 وT2 وE بدل الساعات.
وهل صدر بديل لهذا التقرير؟ ليس بعد. فبحسب إعلان الجمعية الأمريكية للإحصاء ASA في 4 مارس 2026 يعمل فريق متعدد التخصصات ترعاه ASA بالتعاون مع ACM وADSA وINFORMS وMAA وSIAM على تقرير يوسع CCDS2021، وعرض إطاره المقترح ووحدات المعرفة في جلسة عامة يوم 16 مارس 2026 لجمع التعليقات. أي أن المنهج الكامل الذي أوصى به CCDS2021 قبل خمس سنوات ما زال مسودة، وما زال CCDS2021 هو التقرير النهائي الوحيد المنشور.
مجال الذكاء الاصطناعي AI في CS2023: ساعات قليلة بمعنى كبير
شرحنا منهج علوم الحاسب كاملاً في تخصص علوم الحاسب من الداخل، والذي يهمنا هنا منه مجال واحد. ففي CS2023 سبعة عشر مجال معرفة، والجوهر الذي يجب أن يدرسه كل طالب علوم حاسب اسمه CS Core وقدر بـ 270 ساعة تدريس، ثم هناك جوهر المجال KA Core للتعمق في مجالات يختارها البرنامج، ويفترض التقرير أن المقرر نحو 40 ساعة تدريس. ومجال الذكاء الاصطناعي فيه كما في كتاب جسم المعرفة 12 ساعة في جوهر علوم الحاسب و18 ساعة في جوهر المجال، موزعة كما يلي:
| وحدة المعرفة Knowledge Unit | CS Core | KA Core |
|---|---|---|
| القضايا الأساسية Fundamental Issues | 2 | 1 |
| البحث Search | 2 + 3 مشتركة مع الخوارزميات | 6 |
| تمثيل المعرفة والاستدلال الأساسي Knowledge Representation and Reasoning | 1 + 1 مشتركة مع الرياضيات | 2 |
| تعلم الآلة Machine Learning | 4 | 6 |
| التطبيقات والأثر المجتمعي Applications and Societal Impact | 3 | 3 |
| الاستدلال الاحتمالي، والتخطيط، والاستدلال المنطقي، والوكلاء، ومعالجة اللغة الطبيعية NLP، والروبوتات، والرؤية بالحاسب Computer Vision | لا يوجد | لا يوجد (Non-core) |
| المجموع | 12 | 18 |
وقد يتساءل البعض: كيف يكون الذكاء الاصطناعي 12 ساعة فقط في منهج صدر في عصر ChatGPT؟ والإجابة في مقدمة المجال نفسه: التقرير غير اسم المجال من «الأنظمة الذكية» في CS2013 إلى «الذكاء الاصطناعي»، وزاد وزن الشبكات العصبية والتمثيلات المتعلمة، وأضاف شرح النماذج التوليدية مثل ChatGPT وDALL-E وحدودها، ووضع هدفاً صريحاً هو «الثقافة الأساسية في الذكاء الاصطناعي» لكل طالب علوم حاسب، أي أن الـ 12 ساعة حد أدنى لكل طالب، وليست سقفاً لمن يتخصص. ويعترف المجال بأن الذكاء الاصطناعي يتغير بسرعة، ويطلب من الأساتذة متابعة الجديد وتحديث المقررات بأنفسهم. والصورة التالية تبين هذه الساعات، ومعها حزم المقررات التي يقترحها التقرير:

أما الرياضيات فهذا المجال أوضح من CCDS2021، لأنه يقسمها إلى مطلوب ومرغوب. المطلوب: الجبر وما قبل التفاضل، والرياضيات المتقطعة من مجموعات وعلاقات ودوال ورسوم ومنطق، والجبر الخطي من عمليات المصفوفات وجبرها والأساسات Basis Sets، والاحتمالات والإحصاء من الاحتمال الشرطي والاستقلال ونظرية بايز والقيمة المتوقعة والتوزيعات واختبارات الدلالة، ويضيف أنها يجب أن تطبق على أمثلة قرار حقيقية ببيانات حقيقية وليس أمثلة كتب. والمرغوب: الاحتمالات والإحصاء القائمة على التفاضل، والتفاضل بالمشتقات الجزئية، واختبار الفرضيات وإعادة المعاينة وتصميم التجارب، والتحسين Optimization، وبقية الجبر الخطي.
ويقترح التقرير حزم مقررات Course Packaging، منها مقرر ذكاء اصطناعي عام من 38 ساعة (4 للمقدمة، و9 للبحث، و4 لتمثيل المعرفة، و12 لتعلم الآلة، و5 للاحتمالات، و4 للأثر المجتمعي موزعة على المقرر كله)، ومقرر تعلم آلة من 44 ساعة منها 32 لتعلم الآلة، ومقرر روبوتات، ومقرر مقدمة في علم البيانات. وفي فصل خاص عن الذكاء الاصطناعي التوليدي والمنهج يكتب التقرير جملة تصلح لطالب الذكاء الاصطناعي تحديداً: «المهارات المتوقعة من الطلاب تتغير، ولكن المعرفة الأساسية التي يحتاجون إليها لا تتغير».
الاعتماد الأكاديمي: معايير ABET لعلم البيانات، والمقترحة للذكاء الاصطناعي
ذكرنا في مقال اختيار التخصص أن برامج الذكاء الاصطناعي المعتمدة من ABET في المملكة ثلاثة، وبرنامج علم بيانات واحد، وكلها من لجنة الحوسبة CAC. والجديد هنا هو ما تطلبه ABET في معايير برامج الحوسبة 2026-2027 لكل تخصص:
- علم البيانات وتحليل البيانات (معايير سارية): 45 ساعة معتمدة على الأقل من مقررات علم البيانات تغطي دورة حياة البيانات: الجمع والتمثيل، والإدارة، والتجهيز والدمج، والتحليل، وبناء النماذج ونشرها، والتصوير وإيصال المعرفة. ومعها مفاهيم تمتد على الدورة كلها: أخلاقيات البيانات والعدالة الخوارزمية، والحوكمة والخصوصية والأمن، ومواضيع رياضية وإحصائية تطبيقية تشمل الاستدلال والنمذجة والجبر الخطي والاحتمالات والتحسين، والحوسبة بما فيها هياكل البيانات والخوارزميات. ثم مواضيع متقدمة، ومجال تطبيق واحد على الأقل، ومشروع كبير.
- الذكاء الاصطناعي وتعلم الآلة (معايير مقترحة): أقرتها هيئة الحوسبة في ABET Computing Area Delegation في 24 أكتوبر 2025 للتعليق العام حتى 15 يونيو 2026، وإذا اعتمدت فسوف تطبق أول مرة في دورة 2027-2028. وتطلب 42 ساعة من مقررات الذكاء الاصطناعي تشمل أسس الذكاء الاصطناعي من استدلال وبحث وتمثيل معرفة، والبرمجة وهياكل البيانات والخوارزميات، وهندسة البيانات والمعرفة، وتعلم الآلة بما فيه التعلم العميق، وتصميم الحلول وتنفيذها، ومعمارية أنظمة الذكاء الاصطناعي وبنيتها التحتية، والأخلاقيات والذكاء الاصطناعي المسؤول، ثم مجال تطبيق ومشروع كبير، و9 ساعات على الأقل من الرياضيات والإحصاء تشمل الاستدلال الإحصائي والنمذجة والجبر الخطي والاحتمالات والتصوير البصري للبيانات والتحسين.
لاحظ كلمتين تتكرران في المعيارين ولا تظهران كمقرر في أغلب الخطط كما سنرى: الاستدلال الإحصائي والتحسين. وهما بالضبط ما رأيته في إعلانات الوظائف في بداية المقال، أي أن ABET نفسها تقرأ السوق كما تقرؤه أنت.
أربع خطط سعودية بأربع صيغ
في ملف الخطط الذي جمعناه لمقال اختيار التخصص أربع خطط من عائلتي علم البيانات والذكاء الاصطناعي، وكل خطة صيغة مختلفة:
- الجامعة السعودية الإلكترونية SEU: بكالوريوس علم البيانات بـ 133 ساعة بحسب توصيف البرنامج 2025-2026، والذكاء الاصطناعي فيها مسار داخل علم البيانات.
- جامعة الملك فهد للبترول والمعادن KFUPM: بكالوريوس الذكاء الاصطناعي والأمن السيبراني في برنامج واحد، 127 أو 129 ساعة بحسب خيار التدريب.
- جامعة الأمير سلطان PSU: بكالوريوس علوم الحاسب بمسار الذكاء الاصطناعي وعلم البيانات، 134 ساعة.
- جامعة الإمام عبدالرحمن بن فيصل IAU: بكالوريوس الذكاء الاصطناعي، 128 ساعة.
ورابطا PSU وIAU لا نضعهما لأن خوادم الجامعتين ترفض أدوات التحقق الآلي من الروابط، وعنوان كل مصدر في ملف البيانات. والسؤال الآن: كيف تتوزع ساعاتك على المجالات الإحدى عشرة، وأين الرياضيات التي يطلبها التقرير، وكم ساعة ذكاء اصطناعي تدرس مقارنة بجوهر CS2023؟
تجربة عملية Lab: نصنف كل مقرر في خطتك
البرنامج التالي يقرأ ملف plans.json من مقال اختيار التخصص كما هو، ويأخذ الخطط الأربع، ويضع كل مقرر إجباري في مجال من مجالات CCDS2021 بحسب عنوانه، ثم يفحص الرياضيات، ثم يعد مقررات الذكاء الاصطناعي وتعلم الآلة، ثم يقرأ مسارات عرب رووت ليعد المقالات في كل مجال. والقواعد كلها مكتوبة في أول الملف حتى تستطيع أن تعترض عليها وتغيرها، ولا يحتاج البرنامج إلا مكتبة Python الأساسية.
البيانات: ماذا يعني «إجباري» في كل خطة؟
كل مقرر في ملف الخطط يحمل تصنيف الخطة نفسها وحقلاً اسمه required، والبرنامج يعد المقرر إذا كان إجبارياً ولم يكن خانة فارغة مثل «Elective Course 1». وهذا القرار البسيط يغير الصورة كثيراً في هذه العائلة بالذات، لأن الجامعات تكتب الاختيار بطرق مختلفة: SEU تصنف التعلم العميق ومعالجة اللغة الطبيعية والرؤية بالحاسب بعبارة «متطلب مسار (اختياري)»، أي أن الطالب يختار منها ولا يدرسها كلها، وPSU تضع مقررات المسار في قائمة «اختر اثنين»، وIAU تضع قائمة من اثني عشر مقرراً يختار منها الطالب مقررين، أما KFUPM فتضع خانة «مقرر تقني اختياري» واحدة دون قائمة. لذلك يعد البرنامج في القراءة الأساسية ما يدرسه كل طالب فقط، ثم تبين التجربة السادسة ماذا يحدث عندما يختار الطالب الاختياريات الأقرب إلى تعلم الآلة.
البرنامج ds_ai_plan.py
# What do the Saudi data science and AI study plans teach, measured against CCDS2021 and the AI knowledge area of CS2023?
# Standard library only (Python 3.13). Run from this folder:
# python ds_ai_plan.py ../../tech-majors/lab/plans.json ../../../roadmap.json ../../schedule.json
# plans.json : the 27 official study plans collected for the article tech-majors (1 data science, 3 AI)
# roadmap.json + schedule.json: the ArabRoot tracks, to count the published and planned posts for each knowledge area
import collections, json, re, sys
plans_file, roadmap_file, schedule_file = sys.argv[1:4]
# ------------------------------------------------------------------ the keyword map (title -> bucket)
GENERAL = r"islam|quran|arab|english|psycholog|writing|communication skills|technical communication|technical reports|\bpresentation|physical education|history|creed|grammar|financial transactions|economic system|social system|academic skills|academic discourse|prof. communication|career essentials|language foundation|belief and its|ethics and governance|gs elective|islamic/arabic"
PROJECT = r"senior project|senior design|graduation project|co-?op|cooperative|practical training|summer training|internship"
DS_INTRO = r"intro(?:duction|\.)? to (?:ai and )?data science|data science and analytics" # spans several areas at once
MATH = r"math|calculus|discrete|statistic|probability|linear algebra|differential equations"
SCIENCE = r"physic|chemistry|biology|physical science"
# The eleven CCDS2021 knowledge areas. A title that names two areas is split equally between them.
CCDS = {
"AP Analysis & Presentation": r"visuali|user interface|interaction design|human.computer|user experience",
"AI Artificial Intelligence": r"artificial intelligen|intelligent|robot|knowledge representation|planning|search strateg",
"BDS Big Data Systems": r"big data|parallel|distributed|cloud|high performance",
"CCF Computing Fundamentals": r"computer organization|computer architecture|architecture and organization|operating system|network|\bweb\b|digital logic|compiler|introduction to computing",
"DG Data Acquisition/Mgmt/Gov.": r"database|data management|data curation|data quality|data governance|warehous|data engineering|data integration",
"DM Data Mining": r"data mining|information retrieval|pattern recognition|predictive analytics",
"DPSIA Privacy/Security/Integrity": r"secur|privacy|cryptograph|penetration|hacking",
"ML Machine Learning": r"machine learning|deep learning|neural|computer vision|image processing|natural language|reinforcement",
"PR Professionalism": r"ethics|ethical and social|professional ethics|human contexts|legal",
"PDA Programming/DS/Algorithms": r"(?<!web )program|data structure|algorithm|object.oriented|numerical",
"SDM Software Dev. & Maintenance": r"software engineering|software design|software testing|software development",
}
OUTSIDE = r"project management|system analysis|systems analysis|information systems|entrepreneur|business" # computing or business, but not a CCDS area
def classify(c):
t = (c.get("title_en") or "").lower()
if re.search(GENERAL, t) and not re.search(r"data|comput|intellig", t):
return [("general", 1)]
for name, rx in (("project", PROJECT), ("ds_intro", DS_INTRO), ("math", MATH), ("science", SCIENCE)):
if re.search(rx, t):
return [(name, 1)]
hits = [ka for ka, rx in CCDS.items() if re.search(rx, t)]
if hits:
return [(ka, 1 / len(hits)) for ka in hits]
if re.search(OUTSIDE, t):
return [("outside", 1)]
return [("unclassified", 1)]
def taken(p, extra=()):
"""Courses every student takes (required, minus empty elective slots), plus any elective codes passed in extra."""
return [c for c in p["courses"] if (c["required"] and not re.search(r"elective", c.get("title_en") or "", re.I)) or c["code"] in extra]
UNI = {"Saudi Electronic": "SEU Data Science", "King Fahd": "KFUPM AI+Cyber", "Prince Sultan": "PSU CS, AI&DS track", "Imam Abdulrahman": "IAU AI"}
short = lambda p: next(v for k, v in UNI.items() if p["university"].startswith(k))
KAS = list(CCDS)
plans = sorted([p for p in json.load(open(plans_file, encoding="utf-8")) if p["major_family"] in ("DS", "AI")], key=lambda p: p["major_family"] != "DS")
def hours_of(p, extra=()):
h, where = collections.Counter(), collections.defaultdict(list)
for c in taken(p, extra):
for bucket, share in classify(c):
if bucket != "general":
h[bucket] += float(c["credits"] or 0) * share
where[bucket].append(c["code"] + ("/2" if share < 1 else ""))
return h, where
print(f"== 1) credit hours per CCDS2021 knowledge area in {len(plans)} plans (required courses, general requirements left out) ==")
print(f"{'area':<34}" + "".join(f"{short(p)[:18]:>20}" for p in plans))
main = {short(p): hours_of(p) for p in plans}
for row in KAS + ["ds_intro", "outside", "math", "science", "project", "unclassified"]:
print(f"{row:<34}" + "".join(f"{main[short(p)][0][row]:>20.1f}" for p in plans))
print(f"{'total':<34}" + "".join(f"{sum(main[short(p)][0].values()):>20.0f}" for p in plans))
print("split between two areas:", sorted({c["title_en"] for p in plans for c in taken(p) if len(classify(c)) > 1}))
print("unclassified:", sorted({c["title_en"] for p in plans for c in taken(p) if classify(c)[0][0] == "unclassified"}))
for p in plans:
dup = [k for k, v in collections.Counter(c["code"] for c in p["courses"]).items() if v > 1]
if dup:
print(f"duplicate course codes in {short(p)}:", ", ".join(f'{k} = ' + ' / '.join(c['title_en'] for c in p['courses'] if c['code'] == k) for k in dup))
print("left outside the CCDS areas:", sorted({c["title_en"] for p in plans for c in taken(p) if classify(c)[0][0] == "outside"}))
print("\n== 2) CCDS2021: graduates need fundamental competency in all eleven areas; which areas have no required course? ==")
for p in plans:
h, where = main[short(p)]
missing = [ka.split()[0] for ka in KAS if h[ka] == 0]
print(f"{short(p):<22} covered {11 - len(missing)}/11 missing: {', '.join(missing) or '-'}")
for ka in ("ML Machine Learning", "AI Artificial Intelligence", "DM Data Mining", "AP Analysis & Presentation"):
print(f" {ka.split()[0]:<6}{h[ka]:>5.1f} {' '.join(where[ka]) or '-'}")
print("\n== 3) the mathematics CCDS2021 says a full program adds to its computing areas ==")
MATH_LIST = {"calculus": r"calculus", "discrete structures": r"discrete", "probability": r"probab", "elementary statistics": r"statistic",
"advanced statistics": r"statistical inference|regression|statistical learning|advanced statistic|applied statistic|statistical model",
"linear algebra": r"linear algebra"}
print(f"{'topic':<24}" + "".join(f"{short(p)[:18]:>20}" for p in plans))
for topic, rx in MATH_LIST.items():
cells = []
for p in plans:
codes = [c["code"] for c in taken(p) if re.search(rx, (c.get("title_en") or "").lower())]
cells.append(" ".join(codes) or "NO")
print(f"{topic:<24}" + "".join(f"{x[:18]:>20}" for x in cells))
print("\n== 4) CS2023 AI knowledge area: CS Core 12 h + KA Core 18 h = 30 instructional hours; a course is about 40 hours ==")
AI_ML = ["AI Artificial Intelligence", "ML Machine Learning"]
for p in plans:
courses = [c for c in taken(p) if any(b in AI_ML for b, _ in classify(c))]
n = sum(max(s for b, s in classify(c) if b in AI_ML) for c in courses)
print(f"{short(p):<22} AI/ML courses {n:>4.1f} ~{n * 40:>4.0f} h ({n * 40 / 30:.1f}x the AI core) {' '.join(c['code'] for c in courses)}")
CS2023_MATH = {"required: discrete": r"discrete", "required: linear algebra": r"linear algebra", "required: probability & statistics": r"probab|statistic",
"desirable: calculus": r"calculus", "desirable: optimization": r"optimi"}
for need, rx in CS2023_MATH.items():
print(f" {need:<36}" + " ".join(f"{short(p)[:4]}:{'yes' if any(re.search(rx, (c.get('title_en') or '').lower()) for c in taken(p)) else 'NO'}" for p in plans))
# ------------------------------------------------------------------ ArabRoot: published and planned posts per knowledge area
roadmap = json.load(open(roadmap_file, encoding="utf-8"))
published = {i["id"] for i in json.load(open(schedule_file, encoding="utf-8"))["items"]}
stages = {st["id"]: st for st in roadmap["stages"]}
ARABROOT = { # item ids, or "stage:<id>" for every item of a roadmap stage (titles without an id are planned topics)
"AP": ["bi-compare", "metabase", "superset", "dashboard-design", "product-metrics"],
"AI": ["ai-terms", "ai-history", "how-llms-work", "why-llms-won", "ai-confidently-wrong", "rag-mcp-agents", "rag", "mcp", "ai-agents-basics", "langgraph"],
"BDS": ["stage:big-data", "distributed-systems", "cpu-concurrency", "threading"],
"CCF": ["stage:foundations", "stage:data-representation"],
"DG": ["stage:sql", "olap-data-warehouse", "data-terms", "pandas-basics", "db-types", "postgres-for-everything", "data-governance-gov"],
"DM": ["recsys-basics", "build-recommender", "search-basics", "semantic-search", "arabic-search"],
"DPSIA": ["pdpl-hosting", "crypto-for-devs", "llm-top10", "backup-321"],
"ML": ["ml-basics", "arabic-nlp", "math-for-ml", "fine-tuning-practice", "llm-evals", "llm-csharp-1", "llm-csharp-2", "llm-csharp-3", "llm-csharp-4"],
"PR": ["research-ethics", "ai-in-education", "ai-at-work", "ai-academic-writing"],
"PDA": ["stage:dsa", "stage:programming-basics", "katas-programming"],
"SDM": ["stage:qa", "git-basics"],
}
SKIP = {"tech-majors", "major-cs-guide", "breadth-hacker"} # hub and sibling guides inside a stage are not lessons of that area
print("\n== 5) ArabRoot posts per CCDS2021 area (published / planned) ==")
for ka, refs in ARABROOT.items():
pub, planned, unknown = [], [], []
for r in refs:
its = stages[r[6:]]["items"] if r.startswith("stage:") else [{"id": r}]
for it in its:
i = it.get("id")
if i in SKIP:
continue
if i in published:
pub.append(i)
elif r.startswith("stage:") or any(i == x.get("id") for st in roadmap["stages"] for x in st["items"]):
planned.append(i or (it.get("title") or "")[:30])
else:
unknown.append(i)
print(f"{ka:<6} published {len(set(pub)):>3} planned {len(planned):>2}{' UNKNOWN: ' + ', '.join(unknown) if unknown else ''}")
# ------------------------------------------------------------------ what if...
print("\n== 6) what if the student picks the ML-heavy electives of the plan? ==")
PICK = {"SEU Data Science": {"DS482", "DS483"}, "PSU CS, AI&DS track": {"CS469", "CS476"}, "IAU AI": {"ARTI 453", "ARTI 454"}, "KFUPM AI+Cyber": set()}
for p in plans:
extra = PICK[short(p)]
h0, h1 = main[short(p)][0], hours_of(p, extra)[0]
print(f"{short(p):<22} electives {', '.join(sorted(extra)) or 'none listed'}: ML {h0['ML Machine Learning']:.1f} -> {h1['ML Machine Learning']:.1f} AI {h0['AI Artificial Intelligence']:.1f} -> {h1['AI Artificial Intelligence']:.1f}")
print("\n== 7) what if the 'Introduction to data science' course counted as Data Mining? ==")
for p in plans:
h = main[short(p)][0]
print(f"{short(p):<22} DM {h['DM Data Mining']:.1f} -> {h['DM Data Mining'] + h['ds_intro']:.1f} covered {sum(1 for ka in KAS if h[ka])}/11 -> {sum(1 for ka in KAS if h[ka] or (ka.startswith('DM') and h['ds_intro']))}/11")في البرنامج أعلاه لاحظ التالي:
- القاموس
CCDSفيه المجالات الإحدى عشرة بأسمائها المختصرة في التقرير، والمقرر الذي يطابق مجالين تقسم ساعاته بينهما، مثل «البرمجة للذكاء الاصطناعي» بين البرمجة والذكاء الاصطناعي. - ترتيب الفحص في
classifyمهم: متطلبات الجامعة العامة أولاً، ثم المشروع والتدريب، ثم مقرر مقدمة علم البيانات، ثم الرياضيات والعلوم، ثم المجالات، ثمOUTSIDEوهي مقررات حاسوبية أو إدارية لا يذكرها التقرير مثل تحليل النظم وإدارة المشاريع وريادة الأعمال. - القاموس
MATH_LISTهو قائمة الرياضيات التي يقول التقرير إن المنهج الكامل يضيفها، كما هي بالترتيب. - الجزء الرابع يستخدم افتراض CS2023 نفسه أن المقرر نحو 40 ساعة تدريس، ليقارن مقررات الذكاء الاصطناعي وتعلم الآلة بالـ 30 ساعة في جوهر المجال.
- القاموس
ARABROOTيقبل معرف مقال أو مرحلة كاملة بصيغةstage:، والمواضيع المخطط لها دون معرف تعد ضمن المخطط.
التشغيل والمخرج: الساعات في كل مجال
cd content/articles/major-ds-ai-guide/lab
python ds_ai_plan.py ../../tech-majors/lab/plans.json ../../../roadmap.json ../../schedule.jsonوالمخرج سوف يكون كما يلي، وهذا الجزء الأول منه:
== 1) credit hours per CCDS2021 knowledge area in 4 plans (required courses, general requirements left out) ==
area SEU Data Science KFUPM AI+Cyber PSU CS, AI&DS trac IAU AI
AP Analysis & Presentation 3.0 0.0 0.0 0.0
AI Artificial Intelligence 6.0 9.0 0.0 7.5
BDS Big Data Systems 0.0 0.0 3.0 4.0
CCF Computing Fundamentals 12.0 10.0 12.0 12.0
DG Data Acquisition/Mgmt/Gov. 6.0 3.0 3.0 3.0
DM Data Mining 3.0 0.0 0.0 0.0
DPSIA Privacy/Security/Integrity 3.0 16.5 3.0 6.0
ML Machine Learning 3.0 12.0 3.0 12.0
PR Professionalism 3.0 3.0 3.0 0.0
PDA Programming/DS/Algorithms 12.0 14.0 16.0 16.5
SDM Software Dev. & Maintenance 0.0 4.5 3.0 3.0
ds_intro 3.0 3.0 3.0 3.0
outside 6.0 3.0 3.0 5.0
math 15.0 20.0 15.0 20.0
science 6.0 0.0 11.0 3.0
project 9.0 3.0 13.0 8.0
unclassified 0.0 0.0 0.0 0.0
total 90 101 91 103
split between two areas: ['Artificial Intelligence for Cybersecurity', 'Programming for Artificial Intelligence', 'Secure Software Development', 'Security in Artificial Intelligence Systems']
unclassified: []
duplicate course codes in PSU CS, AI&DS track: PE --- = Physical Education / Physical Education, FREE --- = Free Elective I / Free Elective II, AI-DS --- = AI & DS Elective (printed as Elective II in year 3) / AI & DS Elective II
duplicate course codes in IAU AI: ARTI 406 = Deep Learning / Parallel and Distributed Computing, ARTI 407 = Image Processing / Graduation Project Implementation, None = Elective Course 1 / Elective Course 2
left outside the CCDS areas: ['Business & Entrepreneurship', 'Business Course', 'Entrepreneurship', 'Fundamentals of Information Systems', 'Project Management in Computing', 'System Analysis and Design']في المخرج أعلاه لاحظ التالي:
- أكبر بندين في الخطط الأربع ليسا الذكاء الاصطناعي ولا تعلم الآلة، وإنما الرياضيات من 15 إلى 20 ساعة، والبرمجة وهياكل البيانات والخوارزميات من 12 إلى 16.5 ساعة، ثم أساسيات الحوسبة من 10 إلى 12 ساعة. وهذا يجيب عن سؤال المقدمة: «المنطق الرقمي» و«أنظمة التشغيل» في خطتك هما مجال أساسيات الحوسبة في CCDS2021 نفسه، وليسا دخيلين على التخصص.
- تعلم الآلة 12 ساعة في KFUPM وIAU، أي أربعة مقررات إجبارية في كل منهما: تعلم الآلة والتعلم العميق ومعالجة الصور أو الرؤية بالحاسب ومعالجة اللغة الطبيعية. وفي المقابل 3 ساعات فقط في SEU وفي مسار PSU، والباقي في قوائم اختيارية.
- الذكاء الاصطناعي بمعناه في التقرير صفر في مسار PSU، لأن المقرر الإجباري الوحيد الذي يحمل الاسم هو «مقدمة في الذكاء الاصطناعي وعلم البيانات»، ووضعناه في خانة
ds_intro. - عمود KFUPM فيه 16.5 ساعة في الخصوصية والأمن، لأن البرنامج يجمع الذكاء الاصطناعي والأمن السيبراني، وفيه مقرران مشتركان قسمناهما: «أمن أنظمة الذكاء الاصطناعي» و«الذكاء الاصطناعي للأمن السيبراني».
- سطر
outsideيذكر المقررات التي لا يذكرها التقرير: تحليل النظم وإدارة المشاريع في SEU، وريادة الأعمال في KFUPM وIAU، وأساسيات نظم المعلومات في IAU. وهذه ليست أخطاء، وإنما اختيارات الجامعة خارج نطاق التقرير. - السطر قبل الأخير يكشف مشكلة في المصدر نفسه سنشرحها بعد قليل: رمزان مكرران في خطة IAU.
والصورة التالية تعرض الساعات نفسها:

أي المجالات الإحدى عشرة بلا مقرر؟
== 2) CCDS2021: graduates need fundamental competency in all eleven areas; which areas have no required course? ==
SEU Data Science covered 9/11 missing: BDS, SDM
ML 3.0 DS471
AI 6.0 CS001 DS363
DM 3.0 DS472
AP 3.0 DS480
KFUPM AI+Cyber covered 8/11 missing: AP, BDS, DM
ML 12.0 ICS 485 ICS 471 ICS 483 ICS 472
AI 9.0 COE 292 ICS 381 ICS 467/2 ICS 476/2
DM 0.0 -
AP 0.0 -
PSU CS, AI&DS track covered 8/11 missing: AP, AI, DM
ML 3.0 CS465
AI 0.0 -
DM 0.0 -
AP 0.0 -
IAU AI covered 8/11 missing: AP, DM, PR
ML 12.0 ARTI 308 ARTI 406 ARTI 407 ARTI 404
AI 7.5 ARTI 106 ARTI 303/2 ARTI 310
DM 0.0 -
AP 0.0 -في المخرج أعلاه لاحظ التالي:
- خطة علم البيانات في SEU هي الأقرب إلى CCDS2021 بتسعة مجالات من أحد عشر، وهذا منطقي لأن التقرير كتب لعلم البيانات. والغائب فيها البيانات الضخمة وتطوير البرمجيات، أي أن الطالب يدرس قواعد البيانات والتنقيب دون مقرر عن الحوسبة الموزعة، ودون مقرر عن هندسة البرمجيات والاختبار.
- خطط الذكاء الاصطناعي الثلاث تغطي ثمانية مجالات، والغائب المشترك بينها التحليل والعرض، أي التصوير البصري Visualization وتصميم الواجهة، والتنقيب في البيانات. وهذا يعني أن طالب الذكاء الاصطناعي يتعلم بناء النموذج، ولا يتعلم في مقرر إجباري كيف يعرض نتيجته لمدير أو كيف يستكشف البيانات قبل أن يبني عليها.
- IAU لا يوجد فيها مقرر في المهنية والأخلاقيات المتعلقة بالحوسبة، بينما SEU فيها «الأخلاقيات المهنية في علم البيانات»، وKFUPM فيها «السياقات الإنسانية وأخلاقيات البيانات»، وPSU فيها «الجوانب الأخلاقية والاجتماعية للحوسبة».
أين الرياضيات التي يطلبها التقرير؟
== 3) the mathematics CCDS2021 says a full program adds to its computing areas ==
topic SEU Data Science KFUPM AI+Cyber PSU CS, AI&DS trac IAU AI
calculus MATH241 MATH 101 MATH 102 MATH111 MATH113 MATH 109
discrete structures MATH150 ICS 253 CS285 MATH 232
probability STAT202 STAT 201 STAT101 STAT 238
elementary statistics STAT202 STAT 201 STAT101 STAT 238
advanced statistics NO NO NO NO
linear algebra MATH251 MATH 208 CS223 MATH 304الخطط الأربع فيها التفاضل والتكامل والتراكيب المتقطعة والاحتمالات والإحصاء الأولي والجبر الخطي، وكلها برموز مقررات واضحة. ولكن البند الخامس في قائمة CCDS2021، أي المواضيع المتقدمة في الإحصاء، لا يوجد له مقرر إجباري يحمل اسمه في أي خطة، فالإحصاء في الخطط الأربع مقرر واحد تمهيدي يجمع الاحتمالات والإحصاء معاً. والصورة التالية تضع هذا بجانب ما تطلبه CS2023 وABET:

كم ساعة ذكاء اصطناعي تدرس مقارنة بجوهر CS2023؟
== 4) CS2023 AI knowledge area: CS Core 12 h + KA Core 18 h = 30 instructional hours; a course is about 40 hours ==
SEU Data Science AI/ML courses 3.0 ~ 120 h (4.0x the AI core) CS001 DS363 DS471
KFUPM AI+Cyber AI/ML courses 7.0 ~ 280 h (9.3x the AI core) COE 292 ICS 381 ICS 485 ICS 471 ICS 483 ICS 472 ICS 467 ICS 476
PSU CS, AI&DS track AI/ML courses 1.0 ~ 40 h (1.3x the AI core) CS465
IAU AI AI/ML courses 6.5 ~ 260 h (8.7x the AI core) ARTI 106 ARTI 303 ARTI 310 ARTI 308 ARTI 406 ARTI 407 ARTI 404
required: discrete SEU :yes KFUP:yes PSU :yes IAU :yes
required: linear algebra SEU :yes KFUP:yes PSU :yes IAU :yes
required: probability & statistics SEU :yes KFUP:yes PSU :yes IAU :yes
desirable: calculus SEU :yes KFUP:yes PSU :yes IAU :yes
desirable: optimization SEU :NO KFUP:NO PSU :NO IAU :NOفي المخرج أعلاه لاحظ التالي:
- بافتراض CS2023 أن المقرر نحو 40 ساعة تدريس، فإن KFUPM تعطي الذكاء الاصطناعي وتعلم الآلة نحو 280 ساعة، أي 9.3 أضعاف الـ 30 ساعة في جوهر المجال، وIAU نحو 260 ساعة. أي أن بكالوريوس الذكاء الاصطناعي يعطي هذا المجال أضعاف ما يعطيه منهج علوم الحاسب، وهذا ما يميزه فعلاً.
- مسار PSU فيه مقرر إجباري واحد، أي نحو 40 ساعة، وهذا قريب من جوهر CS2023 نفسه، فالمسار يعطيك ما يعطيه منهج علوم الحاسب لكل طلابه تقريباً، ويترك الباقي لاختيارك من قائمة المسار.
- الرياضيات المطلوبة في CS2023 موجودة في الخطط الأربع، والمرغوب منها التفاضل موجود في الأربع، أما التحسين فلا يوجد له مقرر في أي خطة.
المشكلات التي ظهرت وكيف عالجناها
- «Representation» ابتلعتها كلمة «presentation»: أخذنا قائمة المتطلبات العامة من برنامج مقال اختيار التخصص، وفيها كلمة presentation لالتقاط مقررات مهارات العرض. وعند تشغيل التجربة السادسة لاحظنا أن اختيار مقرر «تمثيل المعرفة والاستدلال Knowledge Representation and Reasoning» في IAU لم يغير ساعات الذكاء الاصطناعي، والسبب أن كلمة Representation تحتوي presentation، فصنف المقرر كمتطلب جامعة عام وحذف. والحل كان
\bpresentationأي أن تكون الكلمة في بدايتها، فارتفعت ساعات الذكاء الاصطناعي في تلك التجربة من 7.5 إلى 10.5. والدرس أن التعبير النمطي الذي يعمل على 27 خطة قد يفشل في المقرر الثامن والعشرين، لذلك اطبع دائماً ما حذفته وما لم تصنفه. - رموز مكررة في المصدر: خطة IAU تذكر الرمز ARTI 406 لمقررين مختلفين هما التعلم العميق والحوسبة المتوازية والموزعة، والرمز ARTI 407 لمعالجة الصور وتنفيذ مشروع التخرج. ولم نصحح المصدر بأيدينا، وإنما جعلنا البرنامج يطبع الرموز المكررة، ويعد المقررات بعناوينها، لأن العنوان مختلف والساعات مختلفة. وإذا كنت طالباً في هذا البرنامج فاسأل القسم عن الرمز الصحيح قبل التسجيل.
- مقدمة علم البيانات: مقرر «مقدمة في علم البيانات» يلمس دورة البيانات كلها من الجمع إلى العرض، ولو وضعناه في التنقيب لظهرت ثلاث خطط تغطي التنقيب، لذلك أعطيناه خانة مستقلة، والتجربة السابعة تبين أثر هذا القرار.
- مقرر جامعة باسم الذكاء الاصطناعي: في SEU مقرر «مقدمة في الذكاء الاصطناعي والحوسبة» CS001 من متطلبات الجامعة لكل الطلاب، وقد عددناه في مجال الذكاء الاصطناعي لأن عنوانه تقني، وهذا يرفع الذكاء الاصطناعي في SEU إلى 6 ساعات، فإذا رأيت أنه مقرر ثقافة عامة فاحذف ثلاث ساعات من هذا الرقم.
ماذا يحدث إذا غيرنا قواعد العد؟
== 6) what if the student picks the ML-heavy electives of the plan? ==
SEU Data Science electives DS482, DS483: ML 3.0 -> 9.0 AI 6.0 -> 6.0
KFUPM AI+Cyber electives none listed: ML 12.0 -> 12.0 AI 9.0 -> 9.0
PSU CS, AI&DS track electives CS469, CS476: ML 3.0 -> 9.0 AI 0.0 -> 0.0
IAU AI electives ARTI 453, ARTI 454: ML 12.0 -> 15.0 AI 7.5 -> 10.5
== 7) what if the 'Introduction to data science' course counted as Data Mining? ==
SEU Data Science DM 3.0 -> 6.0 covered 9/11 -> 9/11
KFUPM AI+Cyber DM 0.0 -> 3.0 covered 8/11 -> 9/11
PSU CS, AI&DS track DM 0.0 -> 3.0 covered 8/11 -> 9/11
IAU AI DM 0.0 -> 3.0 covered 8/11 -> 9/11في المخرج أعلاه لاحظ التالي:
- التجربة 6: إذا اختار طالب SEU مقرري التعلم العميق ومعالجة اللغة الطبيعية من قائمة المسار، وطالب PSU معالجة الصور ومعالجة اللغة الطبيعية، يرتفع تعلم الآلة عند كل منهما من 3 إلى 9 ساعات، أي من مقرر إلى ثلاثة. وهذا يعني أن الفرق بين خطتك وخطة بكالوريوس الذكاء الاصطناعي يقل كثيراً باختياراتك، ولكنه لا يختفي، فخطتا KFUPM وIAU فيهما 12 ساعة إجبارية قبل أي اختيار.
- KFUPM لا تذكر قائمة اختيارية محددة في الصفحة التي جمعنا منها الخطة، وإنما خانة «مقرر تقني اختياري»، لذلك لم يتغير عمودها.
- التجربة 7: إذا عددنا مقرر مقدمة علم البيانات من التنقيب في البيانات، ترتفع التغطية في خطط الذكاء الاصطناعي الثلاث من 8 إلى 9 مجالات، ولا تتغير SEU لأن فيها مقرر تنقيب مستقل. ولكن 3 ساعات مقدمة لا تساوي مقرر تنقيب كاملاً فيه العنقدة والقيم الشاذة والسلاسل الزمنية، لذلك نبقيها خارج العد في القراءة الأساسية.
ما الذي تطلبه الوظائف ولا تغطيه الخطط؟
لا يوجد في المملكة إطار وظيفي رسمي لعلم البيانات والذكاء الاصطناعي بتفصيل إطار سيوف للأمن السيبراني، لذلك نجمع ما تقوله المصادر التي يمكن التحقق منها، دون أي رقم من خارجها:
- الشهادة في وظائف البيانات والذكاء الاصطناعي: في بيانات استبيان Stack Overflow 2026 التي حللناها في مقال اختيار التخصص، 42% من علماء البيانات لديهم ماجستير و25% دكتوراه أو شهادة مهنية، و52% من مهندسي الذكاء الاصطناعي وتعلم الآلة لديهم ماجستير أو أعلى، بينما 26% من مطوري تطبيقات الذكاء الاصطناعي بلا بكالوريوس. أي أن «الذكاء الاصطناعي» في السوق طيف: من بناء التطبيقات فوق النماذج الجاهزة، وهو قريب من تطوير البرمجيات، إلى تدريب النماذج والبحث، وهو يميل إلى الدراسات العليا.
- ما يطلبه أصحاب العمل في استبيان CCDS2021: مهارات حوسبة أكثر من مهارات الإحصاء والرياضيات، ونحو نصفهم يبحث عن خلفية في علم البيانات أو التحليلات تحديداً. وهذا يفسر لماذا الخطط الأربع ثقيلة في البرمجة، ويعني أيضاً أن طالب الذكاء الاصطناعي الذي يهمل البرمجة يخسر أهم ما يطلبه صاحب العمل.
- الإحصاء المتقدم والتحسين: CCDS2021 يطلب المواضيع المتقدمة في الإحصاء، وصفات الخريج فيه تذكر التحسين، وCS2023 يجعل التحسين مرغوباً، ومعايير ABET لعلم البيانات تطلب الاستدلال والتحسين، والمعايير المقترحة للذكاء الاصطناعي تطلبهما أيضاً، ولا توجد خطة من الأربع فيها مقرر إجباري لأي منهما.
- إيصال النتيجة: التقرير يجعل عرض النتائج لغير التقنيين من صفات الخريج، وABET تطلب «التصوير وإيصال المعرفة» في دورة حياة البيانات، والمعايير المقترحة للذكاء الاصطناعي تطلب التصوير البصري ضمن الرياضيات، ومع ذلك مجال التحليل والعرض غائب عن خطط الذكاء الاصطناعي الثلاث.
- البنية التحتية للنماذج: المعايير المقترحة للذكاء الاصطناعي تطلب معمارية أنظمة الذكاء الاصطناعي وبنيتها التحتية، أي كيف تنشر النموذج وتشغله، والبيانات الضخمة والحوسبة الموزعة غائبة عن خطتين من الأربع.
- الأمن والذكاء الاصطناعي: الإطار السعودي لكوادر الأمن السيبراني سيوف 1.5 فيه دوران من الأربعين لخريجي هذا المجال: أخصائي علم البيانات للأمن السيبراني وأخصائي الذكاء الاصطناعي للأمن السيبراني، وهذا ما تستهدفه KFUPM بجمع التخصصين. وقد شرحنا الأدوار في أدوار الأمن السيبراني.
وقد يتساءل البعض: إذا كان أغلب علماء البيانات لديهم ماجستير، فهل يكفي البكالوريوس؟ والإجابة أن هذا يعتمد على أي طرف من الطيف تريد. فإذا كنت تريد بناء تطبيقات ومنتجات فوق النماذج فالبكالوريوس مع مشاريع قوية يكفي، وإذا كنت تريد تدريب النماذج والبحث فيها فالإحصاء المتقدم والتحسين اللذان لا تجدهما في خطتك هما بالضبط ما سيطلب منك في الماجستير، فابدأ بهما الآن.
خريطة الدراسة الذاتية: كل مجال ومقالات عرب رووت التي تغطيه
== 5) ArabRoot posts per CCDS2021 area (published / planned) ==
AP published 4 planned 1
AI published 9 planned 1
BDS published 3 planned 7
CCF published 11 planned 4
DG published 7 planned 3
DM published 5 planned 0
DPSIA published 4 planned 0
ML published 6 planned 3
PR published 3 planned 1
PDA published 7 planned 6
SDM published 19 planned 2في المخرج أعلاه لاحظ التالي:
- تطوير البرمجيات وأساسيات الحوسبة والذكاء الاصطناعي أغنى المجالات في الموقع، لأن عرب رووت بدأ من الأنظمة والتطوير.
- البيانات الضخمة فيها 3 مقالات منشورة و7 مواضيع مخطط لها في مرحلة البيانات الضخمة وخطوط البيانات، مثل Airflow وdbt وSpark، ولم ينشر منها شيء بعد، وهذه أكبر فجوة في الموقع لطالب علم البيانات.
- تعلم الآلة فيه 6 مقالات منشورة، ومنها سلسلة بناء نموذج لغة من الصفر، و3 مخطط لها منها الرياضيات التي تحتاجها لفهم الشبكات العصبية.
- لا يوجد في الموقع مقال في الإحصاء الاستدلالي أو التحسين، وهي الفجوة نفسها التي في الخطط، ونذكرها بصراحة.
والجدول التالي يحول الأرقام إلى خريطة:
| المجال في CCDS2021 | المرحلة في عرب رووت | ابدأ بهذه المقالات | ما ينقص الموقع |
|---|---|---|---|
| تعلم الآلة ML | أساسيات الذكاء الاصطناعي، وابن بيدك | التعلم الآلي للمبتدئين، ابن نموذج لغة من الصفر (1)، NLP للعربية | الرياضيات للشبكات العصبية، والضبط الدقيق، والتقييم Evals (مخطط) |
| الذكاء الاصطناعي AI | أساسيات الذكاء الاصطناعي، وربط النماذج ببياناتك | قصة الذكاء الاصطناعي، كيف تعمل نماذج اللغة، من RAG إلى Agents | البحث والتخطيط وتمثيل المعرفة الرمزي |
| جمع البيانات وإدارتها DG | تعلم SQL، وقواعد البيانات | تعلم SQL (1)، تعلم SQL (3)، OLAP ومستودع البيانات | تحليل البيانات مع pandas، ومصطلحات البيانات (مخطط) |
| التحليل والعرض AP | ذكاء الأعمال والتقارير | Metabase أم Superset أم Power BI؟، Apache Superset | تصميم لوحة التقارير Dashboard (مخطط) |
| التنقيب في البيانات DM | محركات البحث، وابن بيدك | أنظمة التوصية، نظام توصية من الصفر، البحث الدلالي | العنقدة والقيم الشاذة والسلاسل الزمنية |
| البيانات الضخمة BDS | البيانات الضخمة وخطوط البيانات | الأنظمة الموزعة للمبتدئين، التزامن والخيوط | المرحلة كلها مخطط لها: Spark وAirflow وdbt وIceberg |
| الخصوصية والأمن DPSIA | الحوكمة، وأمن التطبيقات | نظام حماية البيانات الشخصية PDPL، OWASP Top 10 لتطبيقات LLM | الخصوصية التفاضلية Differential Privacy وإخفاء الهوية |
| البرمجة والخوارزميات PDA | هياكل البيانات والخوارزميات | هياكل البيانات، Big-O للمبتدئين، تمارين Kata في البرمجة | أساسيات البرمجة الأولى (مخطط) |
| أساسيات الحوسبة CCF | كيف يعمل الحاسب من الداخل | ماذا يحدث عندما تشغل Hello World؟، Floating Point من الداخل | ما هو نظام التشغيل (مخطط) |
| تطوير البرمجيات SDM | ضمان الجودة والاختبار | Git للمبتدئين، أنواع الاختبارات | اختبارات الوحدة عملياً (مخطط) |
| المهنية PR | التعليم والبحث العلمي | أخلاقيات البحث على البشر، الواجبات الجامعية في زمن الذكاء الاصطناعي | الذكاء الاصطناعي في العمل (مخطط) |
والصورة التالية تجمع الخريطة في لوحة واحدة:

خطة قراءة فصلاً بفصل
الجدول التالي يرتب ما سبق على سنوات الدراسة، ففي العمود الأول ما تجده عادة في الخطط الأربع، وفي الثاني ما تقرؤه بجانبه، وفي الثالث الفجوة التي تسدها بنفسك:
| الفصل | في خطتك عادة | اقرأ بجانبه | املأ الفجوة |
|---|---|---|---|
| السنة الأولى | البرمجة، والتفاضل والتكامل، والفيزياء أو العلوم، ومقدمة الذكاء الاصطناعي أو الحوسبة | الأنظمة العددية، مصطلحات الذكاء الاصطناعي، قصة الذكاء الاصطناعي | Python يومياً، ومشروع تحليل صغير ببيانات عامة حقيقية |
| السنة الثانية | هياكل البيانات، والتراكيب المتقطعة، والجبر الخطي، والاحتمالات والإحصاء، وقواعد البيانات | هياكل البيانات، سلسلة تعلم SQL، أدوات التحليل الإحصائي | مقرر إحصاء ثان من خارج القسم أو اختياري: الاستدلال والانحدار |
| السنة الثالثة | تعلم الآلة، والخوارزميات، وأنظمة التشغيل، والشبكات، والذكاء الاصطناعي | التعلم الآلي للمبتدئين، لماذا تفوقت نماذج اللغة؟ | التحسين: اختر مقرر بحوث العمليات أو التحسين إن وجد في جامعتك، والتصوير البصري: أدوات التقارير |
| الصيف | التدريب التعاوني أو الصيفي | RAG للمبتدئين، تشغيل النماذج على جهازك | نشر نموذج واحد وتشغيله فعلاً، وليس تدريبه فقط |
| السنة الرابعة | التعلم العميق، ومعالجة اللغة الطبيعية، والرؤية بالحاسب، ومشروع التخرج | GPT صغير بالانتباه Attention، NLP للعربية، متى يكون الذكاء الاصطناعي واثقاً ومخطئاً؟ | الخصوصية والأخلاقيات: PDPL، وقرار الماجستير إذا كنت تريد التدريب والبحث |
ولاحظ أن الإحصاء الثاني في السنة الثانية وليس في الرابعة، والسبب أن تعلم الآلة في السنة الثالثة يبنى عليه: تقييم النموذج وفترات الثقة والانحدار كلها إحصاء، والطالب الذي يدخل تعلم الآلة بمقرر إحصاء تمهيدي واحد يستخدم المكتبات دون أن يعرف متى تكذب عليه النتيجة.
أخطاء شائعة عند طلاب علم البيانات والذكاء الاصطناعي
- «المنطق الرقمي وأنظمة التشغيل لا علاقة لها بالذكاء الاصطناعي»: هما مجال أساسيات الحوسبة في CCDS2021 نفسه، ومن لا يفهم الذاكرة والمعالج لن يفهم لماذا لا يدخل النموذج في كرت الشاشة GPU.
- «الإحصاء مقرر واحد وانتهى»: رأينا أن الخطط الأربع فيها مقرر إحصاء تمهيدي واحد، وأن المراجع الثلاثة تطلب أكثر منه.
- «الذكاء الاصطناعي يعني نماذج اللغة فقط»: CS2023 يعد البحث والتخطيط وتمثيل المعرفة جزءاً من الجوهر، والمعايير المقترحة لـ ABET تطلبها أيضاً.
- «اسم المسار يكفي»: مسار الذكاء الاصطناعي وعلم البيانات في PSU فيه مقرر تعلم آلة إجباري واحد، والباقي باختيارك، فاختر بعناية.
- «أدرب النموذج وتنتهي مهمتي»: التحليل والعرض غائب عن خطط الذكاء الاصطناعي الثلاث، والوظيفة تبدأ عندما تشرح النتيجة لمن سيتخذ القرار.
- «الأخلاقيات مادة نظرية»: CCDS2021 يضع الخصوصية في ثلاثة مجالات، ونظام حماية البيانات الشخصية يحدد ما يجوز لك فعله ببيانات المستخدمين.
- «سأتعلم كل شيء من أدوات الذكاء الاصطناعي»: CS2023 يقول إن المهارات المتوقعة تتغير، والمعرفة الأساسية لا تتغير، والأداة لا تعلمك متى تكون نتيجتها خاطئة.
قائمة تحقق Checklist لطالب علم البيانات والذكاء الاصطناعي
- افتح الخطة الرسمية الحالية لقسمك، وصنف كل مقرر إلى مجال من المجالات الإحدى عشرة.
- اكتب المجالات الغائبة، وأكثرها احتمالاً التحليل والعرض والتنقيب والبيانات الضخمة.
- افحص قائمة الرياضيات في CCDS2021 بنداً بنداً، وخطط لمقرر إحصاء ثان قبل تعلم الآلة.
- ابحث في جامعتك عن مقرر تحسين أو بحوث عمليات، ولو من قسم آخر.
- إذا كنت في مسار، فاختر المقررات الاختيارية التي ترفع تعلم الآلة، وليس الأسهل.
- اختر مجال تطبيق واحداً تفهمه، كما يطلب التقرير، واجعل مشاريعك فيه.
- اعرض كل مشروع لشخص غير تقني، واكتب له النتيجة في صفحة واحدة.
- انشر نموذجاً واحداً على الأقل وشغله فعلاً، لأن المعايير المقترحة تطلب البنية التحتية.
- اسأل القسم عن حالة الاعتماد من ABET وعن المعايير التي يتبعها البرنامج.
- قرر في السنة الثالثة: تطبيقات فوق النماذج أم تدريب وبحث، لأن الثاني يميل إلى الماجستير.
الخلاصة
وصلنا لنهاية الموضوع، وأهم ما فيه:
- لا يوجد حتى أكتوبر 2026 منهج مكتمل من ACM وIEEE لبكالوريوس الذكاء الاصطناعي، والمرجع هو مجال الذكاء الاصطناعي في CS2023 بـ 12 ساعة جوهر لكل طالب علوم حاسب و18 ساعة للتعمق.
- CCDS2021 الصادر في يناير 2021 من ACM يحدد أحد عشر مجالاً حاسوبياً لعلم البيانات، ويصرح بأنه لا يغطي الرياضيات والإحصاء ومجال التطبيق، وما زال التقرير النهائي الوحيد بينما المنهج الكامل مسودة في 2026.
- ABET لها معايير سارية لعلم البيانات ومعايير مقترحة للذكاء الاصطناعي، وتطلبان الاستدلال الإحصائي والتحسين.
- الرياضيات والبرمجة أكبر من تعلم الآلة في الخطط السعودية الأربع، والتحليل والعرض والتنقيب غائبان عن خطط الذكاء الاصطناعي الثلاث.
- بكالوريوس الذكاء الاصطناعي في KFUPM وIAU يعطي المجال نحو 9 أضعاف جوهر CS2023، ومسار PSU يعطيه مقرراً إجبارياً واحداً.
- الإحصاء المتقدم والتحسين غائبان عن الخطط الأربع وعن مقالات الموقع، وهما أول ما تضيفه بنفسك.
وهذا التخصص قريب جداً من علوم الحاسب كما رأينا، فإذا كنت تفكر في الانتقال بينهما أو في مسار ذكاء اصطناعي داخل علوم الحاسب فاقرأ تخصص علوم الحاسب من الداخل، وإذا كنت في برنامج يجمع الذكاء الاصطناعي والأمن مثل KFUPM فاقرأ تخصص الأمن السيبراني من الداخل. وأقرب المقالات إلى هذا الموضوع على الموقع:
دليلأي تخصص تقني تختار؟ ما تدرسه فعلاً وأين تعمل بعدهماذا تدرس فعلاً في كل تخصص تقني بحسب الخطط الدراسية السعودية، وأين يعمل خريجوه، ومتى يهم اسم التخصص ومتى تهم المهارة.
دليلتخصص علوم الحاسب Computer Science: منهج CS2023 ومواد الجامعةلماذا وضعت كل مادة في خطة علوم الحاسب بحسب منهج CS2023، وأين تقصر خطط الجامعات السعودية، وكيف تكمل ما ينقصك بنفسك.
دليلالتعلم الآلي Machine Learning للمبتدئينكيف تتعلم الآلة القواعد من الأمثلة، وكيف تعرف أن النموذج تعلم فعلاً ولم يحفظ الإجابات، ومتى تختار كل خوارزمية.
دليلكيف تعمل نماذج اللغة الكبيرة LLM من الداخل؟كيف يحول النموذج سؤالك إلى أرقام ويختار الكلمة التالية حتى تكتمل الإجابة، ولماذا يخطئ بنفس الثقة.
دليللماذا تفوقت نماذج اللغة LLM على التعلم الآلي التقليدي؟ما الذي جعل نموذج لغة واحداً يحل مهاماً كانت تحتاج نموذجاً لكل منها، وأين ما زالت الخوارزميات التقليدية هي الخيار الأفضل.
دليلتعلم SQL (1): ما هو SQL وكيف تكتب أول استعلامتتعلم SQL من الصفر: ما هي قاعدة البيانات العلائقية، وكيف تنشئ الجداول وتضيف البيانات وتكتب أول استعلام بأمان.
دليلأنظمة التوصية Recommender Systems للمبتدئينكيف تعرف المتاجر ومنصات الفيديو ما قد يعجبك، وما الفرق بين طرق التوصية، وكيف تقيس جودتها قبل أن تصل للمستخدم.
دليلابن نموذج لغة بلغة C# من الصفر (1): محرك التعلم Autogradنبني بلغة C# ودون أي مكتبة المحرك الذي تتعلم به كل الشبكات العصبية، ونتأكد بالأرقام أن كل عملية فيه صحيحة.
دليلمتى يكون الذكاء الاصطناعي واثقاً ومخطئاً؟أنماط الأخطاء التي يكتبها مساعد البرمجة بثقة كاملة، ولماذا تحدث، وكيف تكشف كل واحد منها قبل أن يصل إلى الإنتاج.سجل التحديثات
- أكتوبر 2026: كتابة المقال، وقراءة CCDS2021 (ACM، يناير 2021) ومجال الذكاء الاصطناعي في CS2023 ومعايير ABET لبرامج الحوسبة 2026-2027، وتشغيل ds_ai_plan.py على Python 3.13 مع خطط SEU وKFUPM وPSU وIAU من ملف بيانات مقال اختيار التخصص.