دورة البرمجة بلغة جافا Java

الوصف
دورة جافا سنركز فيها على تعلم البرمجة ومفاهيمها باستخدام لغة جافا. سنتعلم أيضا لغة جافا Java وهي لغة غنية عن التعريف من ناحية سعة انتشارها والاحتياج السوقي لها.
تتميز هذه الدورة بالتكثيف حيث سنتعلم الكثير والكثير في وقت قياسي وسندخل في مواضيع رئيسية في البرمجة مثل الخوارزميات وهياكل البيانات وممارسات في البرمجة النظيفة وبعض الأنماط المتعارف عليها.
لغة جافا تعد من اللغات الشهيرة جدا في المجالات التالية:
- نظام الهواتف الذكية Android
- تطبيقات سطح المكتب Desktop
- مواقع الإنترنت Websites
- الاعتمادية العالية عليها في قطاعات الأعمال الكبرى Enterprise Solutions
ماذا سنتعلم في هذه الدورة؟
- تعريف بلغة جافا واستخداماتها
- ضبط بيئة التطوير المحلية
- بناء الجملة البرمجية Syntax
- المتغيرات وأنواع البيانات
- المعدلات وأنواعها Modifiers
- مجالات الدوال والمتغيرات Scopes
- الاستدعاء الذاتي Recursion
- المقارنات الرياضية والمنطقية Logic
- الخوارزميات وهياكل البيانات Algorithms and Data Structures
- مفاهيم في البرمجة النظيفة Clean Coding
- اتخاذ القرارات Conditions
- التكرار وأنواعه while, do while, for
- البرمجة الكائنية Object Oriented Programming
- OOP Methods
- OOP Inheritance
- OOP Overriding
- OOP Polymorphism
- OOP Abstraction
- OOP Encapsulation
- OOP Interfaces
- الحزم الخاصة بجافا والتحزيم المخصص Packages
- المصفوفات Arrays & ArrayLists
- Enums, LinkedLists, HashMaps, HashSets
- التعامل مع مدخلات لوحة المفاتيح User Inputs
- الوقت والتاريخ Date & Time
- التعامل مع مدخلات ومخرجات الملفات File I/O
- التعامل مع الاستثناءات والأخطاء Exception Handling
- كيف يمكنك الحصول على معلومات أكثر وممارسات متقدمة
المدرب
الأقسام
المقدمة وتهيئة البيئة المحلية
سنأخذ في هذه السلسلة تعريف بلغة جافا والدورة ثم نبدا بتهيئة جهازك ليحتوي على بيئة تطوير محلية يمكنك البدء من خلالها بالبرمجة بلغة جافا
الأساسيات
هذا القسم مخصص لتعلم أساسيات لغة جافا والتي سبدأ بها من كيفية كتابة الجملة البرمجية بلغة جافا مرورا بالعوامل الرياضية والمنطقية وغيرها
القرارات Conditions
في هذا القسم سوف نتطرق إلى دراسة كيفية اتخاذ القرارات برمجيا بحيث يصبح لدينا طريقة للتحكم بمسار البرمجة على حسب القرارات التي نتخذها وسنتعرف هنا على الشروط ومنها if, else, if else, switch
التكرار Loops
في سلسلة الدروس القادمة سنتطرق لشرح عمليات التكرار التي تحدث برمجيا واسباب استخدامها وأنواع التكرار مثل for, while, do while
المصفوفات Arrays
المصفوفات Arrays هي أحدى الطرق المستخدمة في تنظيم وهيكلة البيانات Data structure وفي السلسة القادم سنقوم بالتعرف على المتغيرات وأنواعها وطرق أخرى لعمليات التكرار مثل nested loop و for each loop
الأساليب (الدوال) Methods
في القسم التالي سنتعرف على أهمية استخدام methods في البرمجة وكيف يمكن من خلالها اعادة استخدام الشفرات البرمجية في طرق متعددة وسوف نتعرف أيضا على مفاهيم هامة ومنها overriding, parameters
السلاسل النصية Strings
سنتعلم بالسلسلة القادمة كيفية التعامل السلاسل النصية Strings من حيث تعديلها والبحث بها والتحقق من المعلومات والمقارنات أيضا
أساسيات البرمجة الكائنية OOP
سنتطرق في هذا القسم لمفاهيم أساسية في البرمجة الكائنية OOP ونتعرف على أهمية استخدامها وماذا سوف تقدم للمبرمج
OOP Encapsulation
سنتعلم في هذا القسم مفاهيم التغليف Encapsulation والتي تهدف إلى حماية البيانات من الوصول والتأكد من صحة مخرجاتها
حزم جافا Packages
تحتوي لغة جافا على حزم افتراضية يمكن الاستفادة منها وسنتعلم أيضا كيف نقوم ببناء الحزم الخاصة بنا في الدروس القادمة
الوراثة OOP Inheritance
وصلنا في هذا القسم إلى الوراثة في لغة جافا وسنتعلم كيف يمكن توريث خصائص الكلاس إلى آخر وسنتعلم أهمية ذلك وأيضا مفهوم Polymorphism
التجريد OOP Abstraction
في السلسة القادمة من الدروس سنتعرف على ممارسات متقدمة في OOP وهي مفهوم Abstract Class و Interfaces وكيف يمكن الاستفادة منها ومالفروقات بينها
التعامل مع التاريخ والوقت
في السلسلة القادمة سندخل في كيفية التعامل مع الوقت والتاريخ وذلك من خلال الكلاسات LocalDate, LocalTime & LocalDateTime
Generics
تحتوي جافا على مفهوم يسمى Generics وهو أنواع بيانات "عامة" يمكن استغلالها لتبسيط العمل البرمجي وتكوين عمليات ديناميكية
المصفوفات الديناميكية ArrayList
المصفوفات المرنة ArrayList هي نوع من أنواع البيانات الكائنية في جافا سنتعلمها في الدروس القادمة وسنرى الفرق بينها وبين Array وكيف يمكن التعديل عليها والبحث بها وترتيبها
القوائم المترابطة LinkedLists
سنتعرف على القوائم المترابطة LinkedLists بهذا القسم وهي عبارة عن سلسلة متتالية من البيانات وكل سلسلة تحتوي على بياناتها ومعلومات عن ماقبها ومابعدها
البيانات المجزئة HashMaps
HashMaps عبارة عن بيانات تحتوي على زوج من المعلومات pairs وتتكون من مفتاح و قيمة لهذا المفتاح وهي إحدى هياكل البيانات الشائع استخدامها
الأنواع التعدادية Enums
سنتعرف في السلسلة القادمة على نوع من البيانات يسمى Enum وهو عبارة عن قيم ثابته في اللغة لا تقبل التكرار ومحددة في نطاق معين
المجموعات HashSets
سنتعرف في السلسلة القادمة على مفهوم HashSet وكيف من خلاله نستطيع الحصول على تراكيب بيانات فريدة
التعامل مع الأخطاء Exceptions
file IO التعامل مع الملفات
السلسلة القادمة تحتوي على كيفية التعامل مع الملفات من ناحية الكتابة input والقراءة output وكيف يمكن الاستفادة من ذلك
عينة من الدروس المجانية
-
تعرف على الدورة والمدرب ولغة جافا
بهذا الدرس سنتعرف سويا على لغة جافا واستخداماتها وعلي كمدرب سعيد بتواجدك معي
المدة: 09:18
-
تثبيت بيئة تطوير جافا المحلية
بهذا الدرس سنتطرق لكيفية تثبيت بيئة التطوير المحلية والمحرر للبرمجة بلغة جافا
المدة: 08:30
-
بناء الجمل البرمجية Syntax
لكل لغة برمجة طريقة لبناء الجمل البرمجية بها وسنتعرف في هذا الدرس على أهم الأساسيات في بناء جمل جافا
المدة: 08:15
-
مقدمة عن الخوارزميات
سنتعرف في هذا الدرس على علم الخوارزميات وماهي الفائدة منه في البرمجة
المدة: 11:38
-
ماهو التكرار والتعرف على while
سنتعرف في هذا الدرس على مفهوم التكرار في البرمجة وسوف نتعلم أول الانواع وهو تكرار while
المدة: 07:24
-
مقدمة في هياكل البيانات Data Structure والمصفوفات
نسمع كثيرا عن هياكل البيانات أو "تراكيب البيانات" سنتعرف عليها في هذا الدرس وسنأخذ مقدمة عن المصفوفات
المدة: 06:40
-
ماهي الدوال وكيف نستخدمها Methods
سنتعرف في هذا الدرس على مفهوم methods وكيف يمكن توظيفها لإعادة استخدام الشفرات البرمجية دون تكرارها
المدة: 05:14
-
مدخل للسلاسل النصية وماذا سنتعلم بها
بهذا الدرس سنتعرف على السلاسل النصية وماهي أهمية التعامل معها في البرمجة وماذا سنتعلم بها
المدة: 03:23
-
ماهي البرمجة الكائنية ولماذا نستخدمها
بهذا الدرس راح نتعلم مفهوم البرمجة الكائنية OOP وايش فوائد استخدامها وكيف تعمل
المدة: 11:37
-
سمات الكلاس Attributes
المدة: 06:25
-
إنشاء كلاسات متعددة وكائنات منها
حان الوقت للتضبيط، كيف ممكن الكلاسات تتواصل مع بعضها؟ راح نتعرف على هذا الآن
المدة: 04:12
-
التعرف على Constructors
بهذا الدرس راح نتعلم شيء ممتع، أول شيء يشتغل بالكلاس أيش هو؟ تعال نشوفه
المدة: 07:55
-
حالات الظهور Modifiers
عندنا حالات ظهور نستخدمها في الكلاس وهذا راح يسمح لنا بحماية البيانات
المدة: 05:37
-
ماهو التغليف Encapsulation؟
مفهوم التغليف أو التعليب هو قدرتك على إخفاء الأجزاء الحساسة في الكلاس مع إمكانية التعديل عليها أيضا
المدة: 04:44
-
Encapsulation setters and getters
حتى يكون عندك إمكانية للإخفاء والتعديل بنفس الوقت عليك استخدام setters & getters بهذا الدرس راح نشوف كيف
المدة: 05:15
-
حل تمرين تحديد مفاتيح الدول الجزء الأول
قدرت تحل التمرين؟ بهذا الجزء راح ندخل في ممارسات برمجة وراح "نسولف" سوا ونشوف كيف يمكن ايجاد اكثر من حل لمشكلة وحدة
المدة: 13:56
-
حل تمرين تحديد مفاتيح الدول الجزء الثاني
وصلنا للجزء الثاني الآن وهي النهاية كيف نقدر نطبع رمز الدولة مع رقم الهاتف؟
المدة: 18:34
-
ماهي الحزم وكيف نستخدمها Java Packages
عند وضعك لكلاس في مجلد ما، فأنت الآن قمت بإنشاء أول حزمة خاصة فيك وهذا ما سوف نتعرف عليه الآن
المدة: 03:46
-
حزم لغة جافا وطريقة التعامل مع مدخلات لوحة المفاتيح
جافا ذاتها لها حزم خاصة فيها وراح نشوف كيف نوصل لها وكيف نتعامل معها، وراح نتعلم أيضا كيف نبدا ناخذ مدخلات لوحة المفاتيح بهذا الدرس
المدة: 06:07
-
ماهي الوراثة مع أمثلة عملية عليها Inheritance
مفهوم الوراثة هو استخدام نفس الخصائص الموجودة في بعض الكلاسات في كلاس آخر لدينا بحيث يمكننا اختصار كتابة الكود البرمجي وتوحيد طرق التعامل مع البيانات
المدة: 05:43
-
حالات الظهور في الوراثة
تعلمنا سابقا المُعدلات modifiers وهي public, private والأن سنتعلم أثرها على الوراثة مع التعمق في خاصية protected
المدة: 08:10
-
تعدد النماذج Polymorphism
كلاس ورث كلاس آخر، تمام؟ لكن بعد الوراثة وجد أنه بحاجة لتغيير التعامل مع بعض الخصائص الأساسية بشكل ما. هنا يحدث ما يسمى البوليمورفيزم
المدة: 08:46
-
مفهوم التجريد Abstraction وطريقة تطبيقه
تذكر شغلنا في Vehicle؟ الآن راح يكون أفضل بكثير وهذا بسبب استخدامنا لمفهوم Abstraction الي راح يساعدنا على ضبط الورثة
المدة: 12:33
-
مفهوم واجهة الكلاس Interfaces وطريقة تطبيقه
Interface عبارة عن خاصية جميلة تسمح لنا بمشاركة وفرض الدوال بين الكلاسات الي يجمعها بعض التشابهات
المدة: 07:35
-
Abstract VS Interface
حتى لا يحدث عندك لبس، بهذا الدرس سنشرح الفروقات الأساسية مابين Interface و Abstraction حتى تستطيع تحديد حالة الاستخدام المناسبة
المدة: 05:02
-
التعرف على كلاس LocalDate
بعد أن تعلمنا OOP سنبدا الآن بتعلم الكلاسات الأخرى المفيدة في لغة Java وسنبدأ الآن بالتعرف على كلاس التاريخ
المدة: 08:30
-
ماهي Generics ولماذا يتم استخدامها؟
Generics تعتبر أنواع بيانات عامة قد يتم تعريفها مسبقا بحيث تحل لنا عدد من المشكلات التي سنتعرف عليها في هذا الدرس
المدة: 09:17
-
ماهي ArrayList وفرقها عن Array
وصلنا للمصفوفات الديناميكية، مرونة عالية ومزايا لا تجدها في Array، مع ArrayList مش حتقدر تغمض عينيك
المدة: 04:50
-
ماهي linkedlist والفرق بينها وبين arraylist
بهذا الدرس سوف نتعرف على linkedlist وهي تركيبة من تراكيب البيانات التي تحتوي على سلسلة من القيم، تشابه كثيرا arraylist ولكن لها استخدامات سنتعرف عليها بهذا الدرس
المدة: 18:42
-
ماهي exceptions ومقدمة عن try catch
يظهر لك أثناء تشغيل برنامجك خطأ ويوقف عملية التشغيل؟ هذا مايسمى بـ Exception سنتعرف عليه وعلى طريقة التعامل معه
المدة: 03:51
-
ماهو File IO ولماذا تحتاجه كمبرمج؟
سنتعرف بهذا الدرس على أهمية استخدام File I/O برمجيا وحالات استخدام مفيدة له
المدة: 06:55