دورة عبر الإنترنت – تخصص احترافي معتمد في البرمجة المتوازية في Java من Google وجامعة رايس

تحسين خبرتك في البرمجة بالتوازي. تعلم المبادئ الأساسية للبرمجة المتزامنة والمتزامنة والموزعة.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

المستوى المتوسط

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • مهارات الاتصال
  • إدارة الوقت
  • التفكير النقدي
  • العمل الجماعي
  • حل المشكلة
  • قيادة
  • مهارات العرض
  • القدرة على التعلم المستقل
  • إدارة المشروع
  • المهارات التكنولوجية

What you will learn in the course

Courses for which the course is suitable

  • مهندس برمجيات
  • مطور البرمجيات
  • مطور الأنظمة الموازية
  • مطور الأنظمة الموزعة
  • خبير برمجة متعدد الخيوط
  • مطور التطبيقات السحابية
  • مطور الحلول الحيوية
  • مطور الخدمات المالية

التدريب – سلسلة من الدورات من 3 وحدات

  • تشكل البرمجة المتوازية والبرمجة المتزامنة والبرمجة الموزعة أساس البرمجيات في مجموعة متنوعة من المجالات، من البحوث الطبية الحيوية إلى الخدمات المالية.
  • هذا التخصص مخصص لأي شخص لديه معرفة أساسية بالبرمجة التسلسلية في Java، ويهتم بتعلم كيفية كتابة البرامج المتوازية والمتزامنة والموزعة.
  • من خلال مجموعة من ثلاث دورات (والتي يمكن دراستها بأي ترتيب أو بشكل منفصل)، سوف تتعلم موضوعات أساسية في مجال التوازي والقدرة التنافسية والتوزيع.
  • أعدتك هذه الدورات التدريبية للبرمجة متعددة الخيوط والبرمجة الموزعة على مجموعة واسعة من منصات الحوسبة، بدءًا من الأجهزة المحمولة وحتى خوادم الحوسبة السحابية.

لمشاهدة فيديو ملخص عن هذا التدريب، انقر هنا .

لإجراء مقابلة مع اثنين من مهندسي البرمجيات في بداية حياتهم المهنية حول أهمية الحوسبة المتوازية لعملهم، انقر هنا .

اِمتِنان

  • يود المدرب البروفيسور فيفيك ساركار أن يشكر الدكتور ماكس غروسمان على مساهماته في المشاريع الصغيرة ومواد الدورة.
  • الدكتور زوران بوديمليك لإسهاماته في أسئلة الممتحنين.
  • الدكتور ماكس غروسمان والدكتور شمس إمام لمساهماتهم في المكتبة التربوية لبرنامج PCDP المستخدمة في العديد من المشاريع الصغيرة.
  • ولجميع أعضاء فريق Rice Online الذين ساهموا في تطوير محتوى الدورة (بما في ذلك Martin Kelby وAnthet Hawai وSeth Tiger وChong Zhu).

مشروع التعلم العملي

  • تشتمل كل دورة على مشاريع صغيرة تسمح للمتعلمين باكتساب خبرة عملية مع واجهات برمجة تطبيقات Java الشائعة للبرمجة المتوازية والمتزامنة والموزعة.
  • تم أخذ المشاريع الصغيرة من مشاكل العالم الحقيقي في مجموعة متنوعة من المجالات.

Details of the courses that make up the specialization

البرمجة المتوازية في جافا

الدورة 1

  • 19 ساعة
  • 4.6 (1,205 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

تُعلم هذه الدورة المتخصصين في الصناعة والطلاب المفاهيم الأساسية للبرمجة المتوازية في سياق Java 8. تتيح البرمجة المتوازية للمطورين الاستفادة من أجهزة الكمبيوتر متعددة النواة لتسريع أداء التطبيقات باستخدام معالجات متعددة في وقت واحد. بحلول نهاية الدورة، ستعرف كيفية استخدام أطر البرمجة المتوازية الشائعة في Java (مثل ForkJoin وStream وPhaser) لكتابة برامج متوازية لمجموعة واسعة من الأنظمة الأساسية متعددة النواة، بما في ذلك الخوادم وأجهزة الكمبيوتر المكتبية والأجهزة المحمولة. الأجهزة، وسوف تتعلم أيضًا عن أسسها النظرية، بما في ذلك الرسوم البيانية الحسابية، والتوازي المثالي، والتسريع المتوازي، وقانون أماديل، وسباقات المعلومات والحتمية.

لماذا يجب أن تأخذ هذه الدورة؟
  • جميع أجهزة الكمبيوتر عبارة عن أجهزة كمبيوتر متعددة النواة، لذا من المهم أن تتعلم كيفية توسيع معرفتك بالبرمجة التسلسلية لتشمل Java.
  • قدمت Java 7 وJava 8 أطر عمل جديدة للبرمجة المتوازية (ForkJoin، Stream) والتي غيرت بشكل كبير نماذج البرمجة المتوازية منذ العقود الأولى لـ Java.
  • تحتوي كل وحدة من الوحدات الأربع في الدورة على مشروع naznachti مصغر، والذي سيمنحك خبرة عملية مفيدة لتطبيق المفاهيم التي تعلمتها بعد انتهاء الدورة.
  • خلال الدورة، ستحتاج إلى الوصول عبر الإنترنت إلى المحاضر والموجهين لتلقي إجابات مخصصة لأسئلتك في المنتديات.
تشمل مخرجات التعلم المطلوبة للدورة ما يلي:
  • نظرية التوازي: الرسوم البيانية الحسابية، الشغل، المدى، التوازي المثالي، السرعة المتوازية، قانون أماديل، سباقات المعلومات والحتمية
  • توازي المهام مع إطار عمل ForkJoin الخاص بـ Java
  • التزامن الوظيفي باستخدام أطر عمل Java Future وStream
  • التوازي على مستوى الحلقة مع امتدادات للحواجز وتجميع التكرار (التقطيع)
  • توازي دفق البيانات باستخدام إطار عمل Phaser والمهام المستندة إلى البيانات

إن إتقان هذه المفاهيم سيسمح لك بتطبيقها على الفور في سياق برامج Java متعددة النواة، كما سيوفر الأساس لإتقان أنظمة البرمجة المتوازية الأخرى التي ستستفيد منها في المستقبل (مثل C++ 11، OpenMP، .مكتبة المهام الصافية الموازية).

المهارات التي سوف تكتسبها
  • فئة: دفق البيانات
  • التصنيف: البرمجة الموازية
  • الفئة: منهجية جافا

البرمجة المتزامنة في جافا

الدورة 2

  • 18 ساعة
  • 4.5 (655 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

تُعلم هذه الدورة المتخصصين في هذا المجال والطلاب المفاهيم الأساسية للبرمجة المتزامنة في سياق Java 8. تتيح البرمجة المتزامنة للمطورين إدارة استخدام الموارد المشتركة في البرامج المتوازية بكفاءة وبشكل صحيح. في نهاية الدورة ستتعرف على كيفية استخدام الهياكل الأساسية للتزامن في Java مثل العمليات (Threads)، والأقفال، والأجزاء الحرجة، والمتغيرات الذرية، والعزل، ونماذج الممثل، والتزامن المتفائل والمجموعات المتزامنة، بالإضافة إلى أسسها النظرية. (مثل ضمانات التقدم، و Deadlock، و Livelock، و التجويع، و القابلية الخطية).

لماذا يجب أن تأخذ هذه الدورة؟
  • من المهم أن تكون على دراية بالأساسيات النظرية للمزامنة لتجنب أخطاء البرمجة الشائعة ولكن الدقيقة.
  • قام Java 8 بتحديث معظم هياكل المزامنة منذ الأيام الأولى للعمليات والأقفال.
  • خلال الدورة، ستحتاج إلى الوصول عبر الإنترنت إلى المحاضر والموجهين لتلقي إجابات مخصصة لأسئلتك في المنتديات.
  • تحتوي كل وحدة من الوحدات الأربع في الدورة على مشروع naznachti مصغر، والذي سيمنحك خبرة عملية مفيدة لتطبيق المفاهيم التي تعلمتها بعد انتهاء الدورة.
تشمل مخرجات التعلم المطلوبة للدورة ما يلي:
  • نظرية التزامن: ضمانات التقدم، الجمود، الجمود، المجاعة، قابلية الخطية
  • استخدام العمليات والأقفال في تكوين مرتب/غير مرتب في Java
  • المتغيرات الذرية والعزلة
  • مزامنة متفائلة ومجموعات متزامنة في Java (مثل قوائم الانتظار المتزامنة وخرائط Hashmap المتزامنة)
  • نموذج المشغل في جافا

إن إتقان هذه المفاهيم سيسمح لك بتطبيقها فورًا في سياق برامج Java المتزامنة، وسيساعدك على إتقان أنظمة البرمجة المتزامنة الأخرى التي ستستفيد منها في المستقبل (مثل خيوط POSIX، وخيوط .NET).

المهارات التي سوف تكتسبها
  • الفئة: التزامن (علوم الكمبيوتر)
  • الفئة: نموذج اللاعب
  • الفئة: التحكم في التزامن المتفائل
  • الفئة: برمجة متزامنة

البرمجة الموزعة في جافا

الدورة 3

  • 17 ساعة
  • 4.5 (489 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

تُعلم هذه الدورة المتخصصين في الصناعة والطلاب المفاهيم الأساسية للبرمجة الموزعة في سياق Java 8. تتيح البرمجة الموزعة للمطورين استخدام عقد متعددة في مركز البيانات لزيادة الإنتاجية وتقليل زمن الوصول للتطبيقات المحددة. بحلول نهاية الدورة، ستتعرف على كيفية استخدام أطر البرمجة الموزعة الشائعة لبرامج Java، بما في ذلك Hadoop وSpark وSockets وRemote Method Invocation (RMI) وMulticast Switches وKafka وMessage Passing Interface (MPI) بالإضافة إلى العديد من البرامج الأخرى. طرق الجمع بين توزيع العمل وعمليات البرمجة المتعددة.

لماذا يجب أن تأخذ هذه الدورة؟
  • يتم تنظيم جميع الخوادم في مراكز البيانات كمجموعات من الخوادم الموزعة، ومن المهم أيضًا معرفة كيفية استخدام خوادم متعددة لزيادة عرض النطاق الترددي وتقليل زمن الوصول.
  • بالإضافة إلى تعلم أطر محددة للبرمجة الموزعة، ستعلمك الدورة كيفية الجمع بين التوازي متعدد النواة والبرمجة الموزعة في نهج موحد.
  • تحتوي كل وحدة من الوحدات الأربع في الدورة على مشروع naznachti مصغر، والذي سيمنحك خبرة عملية مفيدة لتطبيق المفاهيم التي تعلمتها بعد انتهاء الدورة.
  • خلال الدورة، ستحتاج إلى الوصول عبر الإنترنت إلى المحاضر والموجهين لتلقي إجابات مخصصة لأسئلتك في المنتديات.
تشمل مخرجات التعلم المطلوبة للدورة ما يلي:
  • برمجة Map-Reduce الموزعة في Java باستخدام أطر عمل Hadoop وSpark
  • برمجة خادم العميل باستخدام واجهات Java وRemote Method Invocation (RMI) الخاصة بـ Java
  • البرمجة لتمرير الرسائل بمساعدة واجهة تمرير الرسائل (MPI) في Java
  • أساليب الجمع بين توزيع العمل والبرمجة متعددة العمليات، بما في ذلك العمليات والعمليات، والجهات الفاعلة الموزعة، والبرمجة التفاعلية

إن إتقان هذه المفاهيم سيسمح لك بتطبيقها على الفور في سياق برامج Java الموزعة، كما سيوفر الأساس لإتقان أنظمة البرمجة الموزعة الأخرى التي ستواجهها في المستقبل (مثل Scala أو C++).

المهارات التي سوف تكتسبها
  • التصنيف: برمجة موزعة
  • فئة: نموذج اللاعب
  • التصنيف: البرمجة الموازية
  • التصنيف: برمجة تفاعلية