حقيبة تدريبية
أساسيات برمجة الحاسب الآلي
24 يوماً، 48 ساعات تدريبية
تتضمن الحقيبة الملفات التالية:
- شرائح العرض PowerPoint
- دليل المدرب Word
- دليل المتدرب Word
- أوراق العمل "التمارين والحالات العملية" Word
- الاختبار القبلي والبعدي Word
- الدليل التعريفي للحقيبة Word
- نموذج تقييم دورة تدريبية Word
جميع الملفات مفتوحة وقابلة للتعديل (تصميم إنفوجرافيك)
وصف الدورة:
- في هذا المقرر يتم تدريب المتدرب على الإلمام بمعارف ومهارات مفاهيم برمجة الحاسب والخوارزميات والتحكم في التدفق والهياكل البيانية والتعرف على الأنواع الأساسية للبيانات بالإضافة إلى البرمجة البيانية والبرمجة الكائنية.
أهمية الدورة:
- تأسيس قاعدة قوية في البرمجة بلغة Java.
- تنمية مهارات التفكير التحليلي وحل المشكلات.
- تجهيز المتدربين لسوق العمل وفرص تطوير البرمجيات.
- اكتساب خبرة عملية من خلال تطبيقات ومشاريع عملية.
- تعزيز الإبداع والابتكار عبر البرمجة الرسومية ومتعددة الوسائط.
الهدف العام:
- إكساب المتدرب مهارات التعرف على أساسيات برمجة الحاسب.
الأهداف التفصيلية:
- المفاهيم الأساسية لبرمجة الحاسب.
- الخوارزميات .
- التحكم في التدفق.
- الهياكل البيانية.
- البرمجة بلغة java.
- الأنواع الأساسية للبيانات .
- الدوال.
- البرمجة الكائنية .
- معالجة الاستثناءات.
- مشاريع برمجية .
- التوجيهات البرمجية.
المحاور التدريبية:
اليوم الأول: مقدمة في البرمجة ولغة java وأهمية البرمجة في حياتنا العملية
عناصر البرمجة الأساسية:
- مقدمة: التعرف على البرمجة وأهميتها في العصر الرقمي.
- أهداف البرمجة وعلاقتها بتقنيات العصر الحديث.
- نبذة تاريخية عن لغة Java ومجالات استخدامها.
- خصائص لغة Java ومميزاتها.
- تمرين وخلاصة: مناقشة استخدامات Java في الحياة اليومية وتلخيص الفروقات مع لغات أخرى.
اليوم الثاني: بيئة التطوير وتشغيل البرامج – التعرف على أدوات المبرمج
عناصر البرمجة الأساسية:
- مقدمة: أهمية بيئة التطوير IDE في تسهيل كتابة وتشغيل الأكواد.
- مكونات بيئة التطوير (NetBeans/IntelliJ) وكيفية تثبيتها.
- إنشاء أول مشروع بلغة Java وكتابة أول برنامج “Hello World”.
- التعرف على تصحيح الأخطاء Debugging.
- تمرين وخلاصة: تنفيذ مشروع بسيط وتحليل الأخطاء وتصحيحها.
اليوم الثالث: المتغيرات والثوابت وأنواع البيانات
عناصر البرمجة الأساسية:
- مقدمة: المتغيرات والثوابت كأساس لتخزين البيانات.
- أنواع البيانات الأساسية (int, double, boolean, String).
- القواعد العامة لتسمية المتغيرات والثوابت.
- العمليات الحسابية والمنطقية على المتغيرات.
- تمرين وخلاصة: كتابة برنامج بسيط يستخدم متغيرات مختلفة ويحسب نتائج رياضية
اليوم الرابع: عبارات الإدخال والإخراج والجمل الشرطية والحلقات التكرارية
عناصر البرمجة الأساسية:
- مقدمة: التفاعل مع المستخدم والتحكم في تدفق البرنامج.
- أوامر الإدخال والإخراج (Scanner, System.out.println).
- الجمل الشرطية (if, if-else, switch).
- تراكيب التكرار (for, while, do-while).
- تمرين وخلاصة: برنامج تطبيقي يجمع بين الإدخال والإخراج والشروط والحلقات.
اليوم الخامس: مفهوم الدوال وأهميتها في تنظيم البرامج
بيئة البرمجة والدوال:
- مقدمة: دور الدوال في تبسيط الكود وإعادة الاستخدام.
- تعريف الدالة وتركيبها (الترويسة والجسم).
- الفرق بين الدوال الجاهزة والمُنشأة من قبل المستخدم.
- أمثلة على دوال بسيطة في Java.
- تمرين وخلاصة: كتابة دالة تطبق مفهوم الدوال وحل مسألة رياضية صغيرة.
اليوم السادس: تمرير المعاملات ونطاق المتغيرات (المتغيرات المحلية والعالمية)
بيئة البرمجة والدوال:
- مقدمة: كيفية تمرير البيانات للدوال ونطاق المتغيرات.
- تمرير المعاملات By Value وBy Reference.
- نطاق المتغيرات: محلي وعام.
- استخدام المتغيرات داخل وخارج الدالة.
- تمرين وخلاصة: تطبيق عملي لكتابة دوال مع معاملات متنوعة.
اليوم السابع: الدوال ذاتية الاستدعاء وتنظيم الكود وإعادة الاستخدام
بيئة البرمجة والدوال:
- مقدمة: الاستدعاء الذاتي Recursive وأهميته في حل المسائل المتكررة.
- تطبيق الاستدعاء الذاتي على مسائل بسيطة (مثل عامل n!).
- تنظيم الكود إلى وحدات فرعية (Modules) وإعادة استخدامه.
- تمرين وخلاصة: تصميم دوال مترابطة وتنفيذ مشروع صغير يطبق الاستدعاء الذاتي.
اليوم الثامن: التدريب العملي على كتابة الدوال وحل المشكلات
بيئة البرمجة والدوال:
- مقدمة: تعزيز مهارات كتابة الدوال وتنظيم البرنامج.
- تصميم برنامج يحتوي على عدة دوال مترابطة.
- تحليل الأخطاء وتصحيحها.
- توثيق الكود باستخدام التعليقات.
- تمرين وخلاصة: نشاط جماعي لكتابة برنامج متكامل بالدوال.
اليوم التاسع: المصفوفات الأحادية والثنائية الأبعاد
البيانات والهياكل:
- مقدمة: أهمية المصفوفات في تخزين ومعالجة البيانات.
- المصفوفات الأحادية: الإعلان، التهيئة، العرض.
- المصفوفات الثنائية: الصفوف والأعمدة واستخدام الحلقات.
- تمرين وخلاصة: إدخال وعرض بيانات مصفوفة متعددة الأبعاد.
اليوم العاشر: القوائم المرتبة والمكدسات (Stacks) والطوابير (Queues)
البيانات والهياكل:
- مقدمة: هياكل البيانات الأساسية وفوائدها.
- الفرق بين القوائم والمصفوفات والقوائم المرتبطة.
- مفهوم المكدس (Stack) وآلية LIFO.
- مفهوم الطابور (Queue) وآلية FIFO.
- تمرين وخلاصة: تطبيق عملي على استخدام Stack وQueue.
اليوم الحادي عشر: هياكل البيانات الديناميكية وتطبيقاتها
البيانات والهياكل:
- مقدمة: الهياكل الديناميكية ومرونتها في البرمجة.
- الفرق بين الهياكل الثابتة والديناميكية.
- إنشاء هياكل بيانات باستخدام الفئات Classes.
- تمرين وخلاصة: تطوير برنامج صغير لإدارة البيانات باستخدام هياكل ديناميكية.
اليوم الثاني عشر: التمارين التطبيقية والمشاريع الصغيرة باستخدام الهياكل
البيانات والهياكل:
- مقدمة: مراجعة شاملة لهياكل البيانات.
- حل مسائل عملية باستخدام المصفوفات والقوائم.
- تحليل الأداء الزمني للبرامج ومقارنة بين الهياكل.
- تمرين وخلاصة: تنفيذ مشروع صغير يجمع المفاهيم السابقة ومناقشته.
اليوم الثالث عشر: مقدمة في مفاهيم الكائنات والفئات (Classes & Objects)
البرمجة كائنية التوجه (OOP):
- مقدمة: البرمجة كائنية التوجه وأهميتها.
- تعريف الكائن Object والفئة Class.
- خصائص الفئة: Attributes وMethods.
- تمرين وخلاصة: إنشاء كائنات واستخدامها في برنامج بسيط.
اليوم الرابع عشر: المُنشئون (Constructors) والوراثة (Inheritance)
البرمجة كائنية التوجه (OOP):
- مقدمة: دور المنشئين والوراثة في تنظيم الكود.
- تعريف المُنشئ Constructor وأنواعه.
- العلاقة بين الفئات Super – Sub ومفهوم الوراثة.
- تمرين وخلاصة: إنشاء فئتين مرتبطتين وتجربة الوراثة.
اليوم الخامس عشر: تعدد الأشكال (Polymorphism) والتغليف (Encapsulation)
البرمجة كائنية التوجه (OOP):
- مقدمة: التعريف بمفهوم تعدد الأشكال (Polymorphism) وأهمية التغليف (Encapsulation) في حماية البيانات وتحسين تنظيم الكود.
- الكلاس المجرد (Abstract Class) واستخدامه لإنشاء فئات أساسية يمكن أن ترثها فئات أخرى.
- الواجهة (Interface) في Java وأهميتها لتوحيد سلوك الكائنات المختلفة.
- دمج تعدد الأشكال مع التغليف في البرامج العملية وكيفية كتابة كود نظيف ومرن.
- خلاصة وتمرين: تصميم برنامج صغير يحتوي على عدة فئات تستخدم Abstract Class وInterface مع تطبيق Polymorphism وEncapsulation.
اليوم السادس عشر: التدريب العملي على إنشاء الكائنات واستخدامها في مشاريع مصغرة
البرمجة كائنية التوجه (OOP):
- مقدمة: تطبيق مفاهيم OOP في مشروع عملي.
- تصميم فئات وعلاقات بينها.
- توظيف الوراثة والتغليف.
- تمرين وخلاصة: بناء مشروع مكتبة أو إدارة مكتبة، وتشغيله وتوثيقه.
اليوم السابع عشر: خوارزميات البحث والترتيب وتحليلها
التطبيقات العملية في البرمجة:
- مقدمة: فهم الخوارزميات وأهميتها في البرمجة.
- خوارزمية البحث الخطي والثنائي.
- خوارزميات الترتيب Bubble – Selection – Insertion.
- تمرين وخلاصة: تطبيق عملي على البحث والترتيب ومقارنة الأداء.
اليوم الثامن عشر: البرمجة العشوائية (Random Programming) وتطبيقاتها
التطبيقات العملية في البرمجة:
- مقدمة: استخدام العشوائية في البرمجة والألعاب لتوليد سيناريوهات متنوعة.
- مفهوم العشوائية وأهميتها في البرمجة.
- استخدام الدوال العشوائية random() في Java.
- تطبيق العشوائية في الألعاب والمحاكاة.
- دمج العشوائية مع المتغيرات والحلقات في برنامج صغير.
- خلاصة وتمرين: إنشاء برنامج يولد أرقامًا عشوائية ويطبق عليها شروط معينة.
اليوم التاسع عشر: تصميم حلول للمشكلات باستخدام الخوارزميات
التطبيقات العملية في البرمجة:
- مقدمة: تحويل المشكلات الواقعية إلى حلول برمجية فعّالة.
- تحليل المشكلات وتحديد المدخلات والمخرجات.
- خطوات كتابة الخوارزمية وتنظيمها.
- تحويل الخوارزمية إلى كود برمجي بلغة Java.
- تحسين الحلول البرمجية واختبار صحتها.
- خلاصة وتمرين: تطوير مشروع مصغّر لحل مشكلة واقعية.
اليوم العشرين: تدريب عملي شامل على مشاريع صغيرة
التطبيقات العملية في البرمجة:
- مقدمة: تعزيز التعلم بالممارسة العملية الجماعية.
- تقسيم المتدربين إلى مجموعات والعمل على مشروع برمجي.
- كتابة الكود وتحليل الأخطاء وإصلاحها.
- تقديم المشاريع ومناقشتها مع المجموعات الأخرى.
- تقييم الأداء الفردي والجماعي واستخلاص الدروس.
- خلاصة وتمرين: تنفيذ مشروع جماعي متكامل.
اليوم الواحد والعشرين: استخدام مكتبة Java لإنشاء الرسوم البيانية
البرمجة الرسومية ومتعددة الوسائط:
- مقدمة: التعرف على البرمجة الرسومية وأهميتها في التطبيقات التفاعلية.
- التعرف على مكتبات Java الرسومية مثل AWT وSwing.
- إنشاء نافذة رسومية بسيطة وعناصر التحكم الأساسية.
- رسم الأشكال الأساسية (دائرة، مربع، خط) باستخدام Java.
- دمج الرسوميات مع الحلقات والدوال لبرامج ديناميكية.
- خلاصة وتمرين: تصميم نافذة رسومية تحتوي على عدة أشكال متحركة أو ثابتة.
اليوم الثاني والعشرين: إنشاء الرسومات البيانية والواجهات الرسومية
البرمجة الرسومية ومتعددة الوسائط:
- مقدمة: تصميم واجهات المستخدم الرسومية GUI بشكل تفاعلي وجذاب.
- استخدام الأزرار ومربعات النصوص وربطها بالأحداث.
- التعامل مع الأحداث (Events) وكتابة البرمجيات المناسبة.
- تصميم واجهة متكاملة لمشروع برمجي صغير.
- تحسين تجربة المستخدم وتنسيق الواجهة بشكل جذاب.
- خلاصة وتمرين: إنشاء نموذج واجهة تفاعلية يحتوي على أزرار وحقول إدخال.
اليوم الثالث والعشرين: البرمجة متعددة الوسائط والتفاعل مع المستخدم
البرمجة الرسومية ومتعددة الوسائط:
- مقدمة: دمج الصور، الصوتيات، والفيديوهات لتعزيز تجربة المستخدم.
- تحميل وتشغيل الصور والأصوات داخل البرنامج.
- استخدام الوسائط لتحسين التفاعل مع البرنامج.
- دمج الرسوميات مع الصوتيات لتطبيق عملي متكامل.
- تطوير مشروع تفاعلي بسيط متعدد الوسائط.
- خلاصة وتمرين: إنشاء برنامج تفاعلي يجمع بين الرسوم والصوتيات.
اليوم الرابع والعشرين: مشروع ختامي وتقييم شامل للمهارات المكتسبة
البرمجة الرسومية ومتعددة الوسائط:
- مقدمة: تطبيق جميع المفاهيم المكتسبة في مشروع برمجي متكامل.
- تصميم المشروع باستخدام البرمجة الكائنية والرسومية.
- تنفيذ المشروع وكتابة الكود وتحليل النتائج.
- عرض المشروع أمام المجموعة ومناقشة الحلول.
- تقييم الأداء الفردي والجماعي واستخلاص الدروس.
- خلاصة وتمرين: تنفيذ مشروع ختامي يدمج كل المفاهيم السابقة.