نظرة عامة:
قمت بتطوير نظام متكامل ومؤتمت بالكامل لإنشاء الجداول الدراسية الجامعية (University Timetable Scheduling System) لقسم علوم الحاسب وتكنولوجيا المعلومات (CSIT). يهدف المشروع إلى حل مشكلة الجدولة المعقدة (NP-Hard Problem) التي تستغرق عادةً أياماً من العمل اليدوي، وإنجازها في دقائق معدودة بدقة 100%.
المشكلة التي قمت بحلها:
إنشاء جدول دراسي يأخذ في الاعتبار مئات القيود المتداخلة (توفر القاعات، تخصصات المحاضرين، عدم تعارض أوقات الطلاب، وسعة المعامل) هو تحدٍ رياضي وبرمجي كبير.
الحل التقني والمميزات:
قمت ببناء "محرك جدولة ذكي" (Intelligent Scheduling Engine) باستخدام لغة Python ومكتبات الذكاء الاصطناعي، ويتميز النظام بالتالي:
منع التعارضات نهائياً (Hard Constraints): يضمن النظام عدم وجود أي تعارض في القاعات، أو أوقات المحاضرين، أو جداول الطلاب (Zero Conflicts).
تحسين جودة الجدول (Soft Constraints Optimization): استخدام خوارزميات البحث الهجين (Hybrid Solver) التي تدمج بين (Backtracking) و (Hill Climbing) لتقليل الفجوات الزمنية (Gaps) بين المحاضرات وتجنب التأخير الدراسي، مما حقق تحسناً في جودة الجدول بنسبة 52%.
لوحة تحكم تفاعلية (Interactive Dashboard): واجهة مستخدم متطورة باستخدام إطار عمل Streamlit تتيح للمستخدمين:
تشغيل المحرك الذكي بضغطة زر.
استعراض الجداول وتصفيتها حسب السنة الدراسية (L1, L2, L3, L4).
تصدير الجداول النهائية بصيغة PDF جاهزة للطباعة أو ملفات CSV.
معالجة القيود الهرمية: برمجة منطق متقدم للتعامل مع "المحاضرات المجمعة" (Unified Lecture Grouping) حيث يتم دمج عدة مجموعات في محاضرة واحدة، وفصلهم في المعامل العملية تلقائياً.
التقنيات والأدوات المستخدمة:
لغة البرمجة: Python.
واجهة المستخدم: Streamlit.
معالجة البيانات: Pandas.
الخوارزميات: Constraint Satisfaction Problems (CSP), Heuristic Search (Fail-First), Hill Climbing.
هذا المشروع يمثل نموذجاً قوياً لكيفية توظيف البرمجة لحل المشكلات الإدارية المعقدة وتوفير الوقت والمجهود