إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)
إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)
تم تصميم هذه الدورة الشاملة المكونة من 50 درساً بدقة للمبتدئين تماماً الذين يطمحون إلى إتقان البرمجة بلغة Java. نبدأ بالمفاهيم الأساسية مثل التثبيت، وبناء الجملة الأساسي، والدور الحاسم لـ JVM. ثم نتقدم منطقياً عبر ركائز البرمجة كائنية التوجه (OOP): الكبسلة (Encapsulation)، والوراثة (Inheritance)، وتعدد الأشكال (Polymorphism)، والتجريد (Abstraction). تشمل المواضيع المتقدمة التي يتم تغطيتها إطار عمل المجموعات (Collections Framework) القوي، ومعالجة الأخطاء (Exceptions)، وعمليات الإدخال/الإخراج، وأساسيات تعدد الخيوط (Multithreading)، وواجهة Streams API الثورية التي تم تقديمها في إصدارات Java الحديثة. بنهاية هذه الرحلة، لن تكون قادراً فقط على كتابة تطبيقات Java قوية وفعالة ومنظمة جيداً، بل ستتملك أيضاً المعرفة التأسيسية المطلوبة للتعامل مع تطوير البرمجيات على مستوى المؤسسات باستخدام أطر عمل مثل Spring، مما يضعك بثبات على الطريق لتصبح مطور Java محترفاً.
الدروس
- مرحباً بك في Java: لماذا نتعلم Java؟
- إعداد بيئة العمل: JDK و JRE و IDE
- برنامجك الأول في Java: شرح 'Hello World'
- فهم عملية التجميع و الـ JVM (آلة Java الافتراضية)
- أساسيات بناء الجملة في Java، التعليقات، واصطلاحات التسمية
- المتغيرات وأنواع البيانات الأولية (int, boolean, char, double)
- أنواع البيانات غير الأولية: مقدمة عن النصوص والمصفوفات
- المعاملات الحسابية، والعلائقية، والمنطقية
- تحويل الأنواع (Type Casting) والتحويل الضمني مقابل الصريح
- الجمل الشرطية: if و else و else if
- التحكم المتقدم في التدفق: جملة switch (والتعبيرات الحديثة)
- التكرار: حلقات for و while و do-while
- مقدمة في البرمجة كائنية التوجه (OOP): الفئات والكائنات
- تعريف واستدعاء الدوال: التوقيع وأنواع الإرجاع
- معلمات الدالة، والوسائط، والتمرير بالقيمة
- إنشاء الكائنات باستخدام المنشئات (الافتراضية وذات المعلمات)
- الكلمة المفتاحية this ومتغيرات النسخة
- الركيزة الأولى لـ OOP: الكبسلة (معدلات الوصول: public, private)
- تنفيذ دوال الحصول والتعيين (Getters and Setters)
- الركيزة الثانية لـ OOP: أساسيات الوراثة (الكلمة المفتاحية extends)
- إعادة تعريف الدوال (Method Overriding) والكلمة المفتاحية super
- الركيزة الثالثة لـ OOP: تعدد الأشكال (وقت التشغيل ووقت التجميع)
- تعدد الأشكال 2: فهم التحويل (Casting) في تعدد الأشكال
- الركيزة الرابعة لـ OOP: التجريد باستخدام الفئات المجردة
- التجريد باستخدام الواجهات (والدوال الافتراضية)
- الكلمة المفتاحية static: المتغيرات، والدوال، والكتل
- الكلمة المفتاحية final: المتغيرات، والدوال، والفئات
- تنظيم الكود باستخدام الحزم (Packages) وجمل الاستيراد (Import)
- تعمق في المصفوفات (المصفوفات متعددة الأبعاد)
- معالجة النصوص: فئة String مقابل StringBuilder و StringBuffer
- استكشاف الفئات الداخلية، والمداخلة، والمجهولة
- فهم واستخدام التعدادات (Enums)
- معالجة الأخطاء: مقدمة عن الاستثناءات (المفروضة مقابل غير المفروضة)
- كتل Try-Catch-Finally والاستثناءات المخصصة
- مقدمة عن التأكيدات (الكلمة المفتاحية assert)
- مقدمة في إطار عمل المجموعات في Java (Collections Framework)
- العمل مع واجهة List (ArrayList و LinkedList)
- العمل مع واجهة Set (HashSet, TreeSet)
- العمل مع واجهة Map (HashMap, TreeMap)
- أمان النوع باستخدام الأنواع العامة Generics (<T>)
- التنقل في المجموعات باستخدام المكررات (Iterators) وحلقة for المحسنة
- الفئات المساعدة الأساسية (Math, Random, Date/Time API)
- أساسيات التعامل مع الملفات: قراءة وكتابة الملفات (مقدمة NIO.2)
- تدفقات الإدخال والإخراج (تدفقات البايت مقابل تدفقات الأحرف)
- تسلسل الكائنات وإلغاء التسلسل (Serialization and Deserialization)
- مقدمة في تعدد الخيوط وفئة Thread
- التزامن ومشكلات أمان الخيوط (Thread Safety)
- البرمجة الوظيفية في Java: تعبيرات Lambda
- تعمق في واجهة برمجة تطبيقات Streams في Java (Filter, Map, Reduce)
- ماذا بعد؟ (نظرة عامة على Maven و JUnit و Spring Framework)