
يقدّم هذا المقرر مفاهيم وتقنيات جديدة في البرمجة المتقدمة، بهدف تمكين الطلاب من امتلاك الأساس النظري والمهارات العملية اللازمة للتعامل مع أساليب حديثة تساعدهم على تطوير تطبيقات متقدمة ومعقّدة. يركّز المحتوى على إدخال مفاهيم التزامن (Concurrency) كجزء أساسي من بناء البرمجيات الحديثة، خصوصاً عندما تتطلب التطبيقات أداءً أعلى أو معالجة مهام متعددة في الوقت نفسه. عندما نتحدث عن التزامن فإننا نعني تنفيذ عدة إجراءات أو عمليات بشكل متزامن من قبل الحاسوب، بحيث تعمل أجزاء مختلفة من البرنامج في الوقت نفسه بدلاً من التنفيذ المتسلسل التقليدي. يساعد هذا النهج على الاستفادة من قدرات المعالجات متعددة الأنوية، وتحسين الاستجابة في التطبيقات التي تتعامل مع مهام عديدة أو عمليات إدخال/إخراج متكررة. يركّز المقرر على كيفية تصميم وبناء برامج قادرة على تحقيق هذه “العمل المتزامن” بصورة صحيحة وآمنة، مع تناول الجوانب المتقدمة للتزامن التي تظهر في التطبيقات الواقعية. كما يتناول التزامن في بيئات الذاكرة المشتركة، والتحديات المرتبطة بمشاركة الموارد بين عدة خيوط تنفيذ (Threads) أو مهام متزامنة. بالإضافة إلى ذلك، يعرّف المقرر بآليات التحكم في الوصول إلى الموارد المشتركة، مثل آليات الاستبعاد المتبادل (Mutual Exclusion)، لتجنب المشكلات الشائعة كحالات السباق (Race Conditions) وضمان سلامة البيانات واتساقها أثناء التنفيذ المتوازي. في نهاية المقرر سيكون الهدف هو بناء برامج قادرة على تنفيذ مهام متعددة في آن واحد بكفاءة وموثوقية.
Antonio García-Cabot
Profesor Titular de Universidad del Departamento de Ciencias de la Computación
Eva García-López
Profesora Titular de Universidad del Departamento de Ciencias de la Computación