💡 For the best experience, set your browser zoom level to 75%
75% للحصول على أفضل تجربة، اضبط مستوى تكبير المتصفح على 💡
الشهادة:
عند إتمام متطلبات هذه الدورة، يتأهل المشارك للحصول على شهادة إتمام 40 ساعة تدريبية من اتحاد المدربين العرب (ATU).
الفئات المستهدفة
· المبتدئين الذين لا يمتلكون خبرة سابقة في البرمجة
· الطلاب والمتعلمين في الجامعات المهتمين بتعلم البرمجة
· المهنيين الراغبين في أتمتة المهام أو تحليل البيانات
· المبرمجين المنتقلين إلى بايثون من لغات برمجة أخرى
· روّاد الأعمال الذين يسعون لبناء نماذج أولية أو أدوات رقمية
· أي شخص مهتم بالذكاء الاصطناعي أو تحليل البيانات أو تطوير الويب باستخدام بايثون
سواء كنت تطمح لأن تصبح مطور برامج أو محلل بيانات أو متخصصًا في الذكاء الاصطناعي، فهذه الدورة توفّر لك أساسًا متينًا للانطلاق.
معلومات المدرب
الدرس 1 - الواجب
الهدف:
التأكد من أن الطلاب يستطيعون تثبيت بايثون، وفهم الصياغة (Syntax) والمسافات البادئة (Indentation)، واستخدام التعليقات بشكل فعّال.
مهام الواجب:
الدرس 2 - الواجب
الهدف:
التدرّب على إنشاء واستخدام المتغيرات بأنواع بيانات مختلفة في بايثون.
المهام:
إنشاء وطباعة المتغيرات:
قم بإنشاء 4 متغيرات:
طباعة كل متغير ونوعه:
استخدم الدالة type() لطباعة نوع البيانات لكل متغير.
الدرس 3 - الواجب
الهدف:
فهم كيفية إنشاء متغيرات بأسماء صحيحة، وإسناد قيم متعددة، والتحويل بين أنواع البيانات.
المهام:
١. إسناد متعدد (Multiple Assignments):
٢. تدريب على التحويل (Casting Practice):
الدرس 4 - الواجب
الهدف:
تطبيق الفهرسة (Indexing) والتقطيع (Slicing) وتغيير حالة الأحرف (Case Conversion) والتحقق من النصوص (String Checking) في بايثون.
المهام:
1. أنشئ متغيرًا نصيًا باسم message وأسنِد له القيمة:
" The best things in life are free! "
2. نفّذ العمليات التالية على المتغير message:
الدرس 5 - الواجب
الهدف:
التدرّب على استخدام دوال النصوص (String Methods)، وإدخال المستخدم (User Input)، والمنطق المنطقي (Boolean Logic) في بايثون.
المهام:
.1 معالجة النصوص (String Manipulation):
.2 التدريب على القيم المنطقية (Boolean Practice):
الدرس 6 – الواجب
الهدف:
التدرّب على استخدام العمليات الحسابية (Arithmetic)، وعمليات الإسناد (Assignment)، وعمليات المقارنة (Comparison)، والعوامل المنطقية (Logical Operators) في بايثون.
المهام:
1. العمليات الحسابية (Arithmetic Operators):
2. عمليات الإسناد (Assignment Operators):
الدرس 7 – الواجب
الهدف:
استخدام الحلقات for و while، وتطبيق أوامر التحكم في الحلقات مثل break، وcontinue، ودالة range() في بايثون.
المهام:
1. حلقة For مع قائمة:
2. استخدام Break و Continue:
3. استخدام دالة range():
الدرس 8 – الواجب
الهدف:
فهم كيفية إنشاء القوائم (Lists) والوصول إليها وتعديلها ومعالجتها في بايثون.
المهام:
1. إنشاء وطباعة قائمة:
2. الوصول إلى العناصر وتعديلها:
3. التقطيع (Slicing):
4. التحقق من وجود عنصر:
5. إضافة وحذف عناصر:
الدرس 9 – الواجب
العنوان: مدير سجلات الطلاب باستخدام القواميس (Dictionary Student Records Manager)
المهمة:
اكتب برنامجًا بلغة بايثون ينفّذ ما يلي:
1. أنشئ قاموسًا باسم student يحتوي على المفاتيح: "name", "age", و "grade".
2. اقرأ واطبع جميع القيم من القاموس.
3. غيّر قيمة المفتاح "grade" إلى قيمة جديدة.
4. أضف مفتاحًا جديدًا باسم "school" مع قيمة مناسبة.
5. احذف المفتاح "age" من القاموس.
6. اطبع القاموس النهائي.
الدرس 10 – الواجب
المطلوب:
اكتب برنامجًا بلغة بايثون يحتوي على ما يلي:
1. دالة باسم full_name تستقبل first_name و last_name كوسيطات وتعيد الاسم الكامل.
2. دالة باسم sum_all تستخدم معاملات عشوائية (*args) وتعيد مجموع جميع القيم الممررة.
3. دالة lambda تقوم بتربيع الرقم (square).
4. استدعِ جميع هذه الدوال واطبع النتائج بشكل واضح.
الدرس 11 – الواجب
المطلوب:
اكتب برنامجًا بلغة بايثون يحتوي على صنف (Class) باسم Student يتمتع بالمميزات التالية:
1. مُنشئ (__init__) يستقبل المعاملات: name, age, و grade.
2. دالة (Method) باسم info() تقوم بطباعة جميع تفاصيل الطالب.
3. أنشئ كائنًا باسم s1 من الصنف Student.
4. غيّر قيمة grade للطالب.
5. احذف الخاصية age من الكائن.
6. احذف الكائن نفسه.
الدرس 12 – الواجب
المطلوب:
اكتب برنامجًا بلغة بايثون يقوم بما يلي:
1. إنشاء متغير عام (Global) باسم x = 50.
o داخل دالة، غيّر قيمته إلى 100 باستخدام الكلمة المفتاحية global.
o اطبع القيمتين (قبل وبعد التغيير).
2. أنشئ كائن datetime يمثل تاريخ ميلادك، ثم اطبعه باستخدام strftime() بالصيغة:
اليوم الشهر، السنة (مثال: 24 May, 1998).
3. باستخدام مكتبة math:
o احسب واطبع الجذر التربيعي (Square Root) لعدد.
o قرّب عدد عشري إلى أقرب عدد صحيح.
o احسب قيمة sin(90°) باستخدام الدرجات المحولة إلى radians.
الدرس 13 – واجب
اكتب برنامج بلغة Python يقوم بما يلي:
1. يطلب من المستخدم إدخال رقم.
2. يحاول قسمة العدد 100 على هذا الرقم باستخدام try-except.
o التعامل مع الخطأ ZeroDivisionError وخطأ ValueError.
o استخدام else لطباعة النتيجة إذا لم يحدث أي استثناء.
o استخدام finally لطباعة "تم إنهاء التنفيذ." بغض النظر عن أي شيء.
3. استخدام الكلمة raise لرفع خطأ إذا كان الرقم سالبًا.
4. تنسيق الرسالة النهائية باستخدام .format() لإظهار الرقم المدخل والنتيجة.
الدرس 14 – واجب
اكتب برنامجًا بلغة Python يقوم بما يلي:
1. ينشئ ملف نصي باسم data.txt ويكتب فيه ثلاث أسطر من النص.
2. يعيد فتح نفس الملف ويقرأ:
o كامل المحتوى باستخدام read()
o السطر الأول باستخدام readline()
3. يغلق الملف.
4. يستخدم الدالة os.path.exists() للتحقق مما إذا كان الملف data.txt موجودًا.
o إذا كان موجودًا، يتم حذفه باستخدام os.remove()
o إذا لم يكن موجودًا، اطبع "الملف غير موجود."
5. ينشئ مجلدًا باسم test_folder ثم يحذفه باستخدام os.rmdir() (بعد التحقق من وجوده).
الدرس 15 – واجب
اكتب سكربت قصير (أو استخدم سطر الأوامر) لتنفيذ المهام التالية:
1. التحقق وطباعة إصدار pip الحالي المثبت.
2. عرض جميع الحزم المثبتة.
3. تثبيت الحزمة requests باستخدام pip.
4. ترقية الحزمة requests.
5. إلغاء تثبيت الحزمة requests.
الدرس 16 - واجب
1. إنشاء قاعدة بيانات MySQL باسم company.
2. باستخدام لغة Python ومكتبة pymysql:
o الاتصال بخادم MySQL.
o إنشاء جدول باسم employees يحتوي على الحقول التالية:
§ id (من النوع INT، المفتاح الأساسي Primary Key)
§ name (من النوع VARCHAR(50))
§ position (من النوع VARCHAR(50))
§ salary (من النوع FLOAT)
o إدخال ما لا يقل عن 3 سجلات داخل جدول employees.
الدرس 17 – واجب
العنوان: رسم مشهد بسيط باستخدام رسومات بايثون
الهدف:
استخدام مكتبة graphics.py لرسم مشهد رسومي بسيط يحتوي على الأشكال والنصوص التالية:
التعليمات:
1. استيراد كل شيء من مكتبة الرسوميات:
2. from graphics import *
3. إنشاء كائن GraphWin مع تحديد العنوان والحجم.
4. استخدام الأشكال Circle, Line, Oval, و Text لتصميم المشهد.
5. استخدام الدالة draw(window) لعرض كل كائن على النافذة.
6. إضافة ألوان إلى شكلين على الأقل باستخدام setFill().
الدرس 18 – واجب
العنوان: إنشاء تطبيق ساعة رقمية بميزات محددة
المميزات:
1. عرض الوقت الحالي داخل عنصر Label بحجم كبير، ويتم تحديثه كل ثانية.
2. توفير قائمة منسدلة (OptionMenu) أو أزرار اختيار (Radiobuttons) لاختيار واحدة من ثلاثة سمات على الأقل، مثل:
o فاتح (Light): خلفية بيضاء ونص أسود.
o داكن (Dark): خلفية سوداء ونص أبيض.
o أزرق (Blue): خلفية زرقاء ونص أصفر.
3. توفير عنصر منزلق (Scale) للتحكم في حجم خط نص الساعة بشكل ديناميكي.
4. عند تغيير السمة أو حجم الخط من قبل المستخدم، يتم تحديث العرض فورًا.
5. عرض الوقت بصيغة 24 ساعة (HH:MM:SS).
الدرس 19 – واجب
العنوان: تطبيق Flask باستخدام الجلسات — تخزين وإعادة تعيين اسم المستخدم
الهدف:
بناء تطبيق ويب صغير باستخدام Flask يحتوي على واجهة أمامية (form) تُمكّن المستخدم من إدخال اسمه. يتم تخزين الاسم باستخدام Flask session، مع إمكانية إعادة تعيين (مسح) الاسم.
المتطلبات:
1. إنشاء نموذج HTML بسيط (باستخدام render_template) حيث يمكن للمستخدم إدخال اسمه.
2. تخزين الاسم باستخدام session['name'].
3. عرض الاسم بعد إدخاله.
4. توفير زر لإعادة التعيين/المسح (حذف الاسم من الجلسة).
5. استخدام مسارات (routes) مثل:
o /
o /submit
o /reset
الدرس 20 – واجب
العنوان: مشروع تنظيف البيانات وعرضها بصريًا
الهدف:
تحليل ملف بيانات CSV من خلال معالجة القيم المفقودة، وإزالة التكرارات، وتحويل أنواع البيانات، وحساب الارتباطات، وعرض النتائج باستخدام الرسوم البيانية (Scatter و Line plots).
التعليمات:
1. تحميل ملف CSV باستخدام pandas.
2. معالجة البيانات المفقودة عبر:
o حذف الصفوف التي تحتوي على عدد كبير من القيم المفقودة.
o ملء القيم المفقودة في الأعمدة الرقمية بالمتوسط.
3. إزالة التكرارات باستخدام drop_duplicates().
4. تحويل أنواع البيانات:
o تحويل عمود التاريخ إلى النوع datetime.
o تحويل عمود رقمي من نص (string) إلى عدد (float/int).
5. إجراء تحليل الارتباط:
o استخدام df.corr() للعثور على الارتباط بين الأعمدة الرقمية.
6. إنشاء مخطط مبعثر (scatter plot):
o إظهار العلاقة بين عمودين رقميين باستخدام plt.scatter().