ملخص تقنية المعلومات

الصف العاشر · الفصل الدراسي الثاني · Python & Artificial Intelligence

PROGRAMMED BY

PROG_O.G

٢
وحدة
٧
درس
١٣٥
صفحة
١

الوحدة الأولى — المعالجة الرقمية · Digital Processing

Python Programming · القوائم · الصفوف · القواميس · الدوال

📋

القوائم — Lists

هياكل البيانات غير الأولية

القائمة = مجموعة مرتبة وقابلة للتغيير تحتوي أي نوع من البيانات — تُكتب بـ [ ]
خصائص القوائم:
الخاصية القيمة الشرح
Mutable ✅ نعم يمكن التعديل بعد الإنشاء
Ordered ✅ نعم ترتيب العناصر محفوظ
Indexing ✅ نعم يمكن الوصول بالفهرس
Unique Elements ❌ لا تسمح بتكرار القيم
Delimiters [ ] أقواس مربعة
Mutable✅ قابلة للتعديل
Ordered✅ مرتبة
Indexing✅ فهرسة
Delimiters[ ] أقواس مربعة
الصيغة العامة:
list_name = [ item1 , item2 , ... ]
إنشاء القوائم:
# قائمة فارغة
list_1 = []

# قائمة أعداد صحيحة
numbers = [1, 2, 3, 4, 5]

# قائمة سلاسل نصية
names = ['Ahmed', 'Sara', 'Ali']

# قائمة من أنواع مختلفة
multi = ['Hello', 16, 3.14, True]
العمليات على القوائم:
العملية الدالة / الطريقة مثال
الوصول list[index] list[0] → أول عنصر · list[-1] → آخر عنصر
التعديل list[index] = value list[1] = 'جديد'
إضافة في النهاية .append(item) sports.append('Basketball')
إضافة في مكان محدد .insert(i, item) sports.insert(2, 'Tennis')
حذف بالقيمة .remove(value) sports.remove('Volleyball')
حذف بالفهرس .pop(index) sports.pop(1)
حذف الأخير .pop() sports.pop()
حذف الكل .clear() sports.clear()
الطول len(list) len(GCC) → 6
الوصولlist[0] أول · list[-1] آخر
التعديلlist[i] = value
appendإضافة في النهاية
insert(i)إضافة في مكان محدد
removeحذف بالقيمة
pop(i)حذف بالفهرس
clear()حذف الكل
len()الطول / عدد العناصر
💡الفرق بين remove و pop:
remove('value') — يحذف حسب القيمة | pop(index) — يحذف حسب رقم الموقع
التطبيقات العملية:
# التحقق من وجود عنصر
if 'Apple' in fruits_list:
    print('موجود!')

# طباعة كل العناصر بـ for
for animal in animals:
    print(animal)
🔒

الصفوف — Tuples

بيانات ثابتة غير قابلة للتغيير

الصف = مجموعة مرتبة وغير قابلة للتغيير (Immutable) — تُكتب بـ ( )
مقارنة Lists vs Tuples:
الخاصية List Tuple
Mutable ✅ نعم ❌ لا
Ordered ✅ نعم ✅ نعم
Indexing ✅ نعم ✅ نعم
Unique ❌ لا ❌ لا
Delimiters [ ] ( )
السرعة أبطأ نسبياً ⚡ أسرع — ذاكرة أقل
MutableList ✅ · Tuple ❌
DelimitersList [ ] · Tuple ( )
السرعةTuple أسرع وذاكرة أقل
الصيغة والأمثلة:
# إنشاء Tuple
week_days = ('Sunday', 'Monday', 'Tuesday', ...)

# Tuple بأنواع مختلفة
location = ('Kuwait', 29.3759, 47.9774)

# الوصول بالفهرس
print(week_days[0]) # Sunday
print(week_days[-1]) # Saturday
Sequence Unpacking:
# تخصيص عناصر Tuple لمتغيرات
city, lat, lon = ('Kuwait', 29.37, 47.97)
print(city) # Kuwait
💡متى نستخدم Tuple؟ لما نريد بيانات ثابتة مضمونة لا تتغير — مثل إحداثيات جغرافية، أيام الأسبوع
📖

القواميس — Dictionaries

بيانات بأزواج مفتاح وقيمة

القاموس = مجموعة من أزواج Key : Value — تُكتب بـ { }
خصائص القواميس:
الخاصية القيمة
Delimiters { } أقواس معقوفة
Mutable ✅ قابلة للتعديل
Ordered ✅ محفوظ (Python 3.7+)
Unique Keys ✅ المفاتيح فريدة — لا تكرار
الوصول بالمفتاح وليس بالفهرس
Delimiters{ } أقواس معقوفة
الوصولبالمفتاح (Key)
Unique Keysالمفاتيح لا تتكرر
الصيغة والعمليات:
# إنشاء قاموس
student = {'name': 'Ahmed', 'age': 16, 'grade': 10}

# الوصول بالمفتاح
print(student['name']) # Ahmed

# إضافة / تعديل قيمة
student['school'] = 'Kuwait High'

# حذف مفتاح
del student['age']

# التكرار على القاموس
for key, value in student.items():
    print(key, ':', value)
دوال القواميس المهمة:
الدالة الوصف
.keys() إرجاع جميع المفاتيح
.values() إرجاع جميع القيم
.items() إرجاع أزواج (key, value)
.get(key) الحصول على قيمة بأمان
.pop(key) حذف مفتاح وإرجاع قيمته
.clear() حذف جميع العناصر
.keys()جميع المفاتيح
.values()جميع القيم
.items()أزواج key:value
.get(key)الحصول بأمان
⚙️

الدوال — Functions

كتلة برمجية قابلة لإعادة الاستخدام

الدالة = مجموعة تعليمات برمجية لها اسم، تُنفَّذ عند استدعائها — تُعرَّف بـ def
الصيغة العامة:
def function_name(parameter1, parameter2):
    # كود الدالة
    return result
أمثلة على الدوال:
# دالة بسيطة بدون return
def greet(name):
    print(f'مرحباً يا {name}')
greet('Ahmed')

# دالة ترجع قيمة
def add(a, b):
    return a + b
result = add(5, 3) # result = 8
أنواع الدوال:
النوع الشرح
بدون بارامترات def greet(): — لا تأخذ مدخلات
بارامتر واحد def greet(name): — تأخذ مدخلاً واحداً
بارامترات متعددة def add(a, b): — تأخذ أكثر من مدخل
مع return ترجع قيمة يمكن استخدامها لاحقاً
بدون return تنفذ عملية فقط ولا ترجع شيئاً
defالكلمة المحجوزة لتعريف دالة
parameterمدخل الدالة عند التعريف
argumentالقيمة عند استدعاء الدالة
returnإرجاع قيمة من الدالة
💡فائدة الدوال: تجنب تكرار الكود · سهولة الصيانة · إعادة الاستخدام في أكثر من مكان
✦ نهاية الوحدة الأولى ✦
٢

الوحدة الثانية — المنتجات الرقمية · Digital Products

Modules & Packages · مدخل إلى AI · مشروعات الذكاء الاصطناعي

📦

الوحدات والحزم — Modules & Packages

تنظيم الكود وإعادة استخدامه

Module = ملف يحتوي تعليمات برمجية جاهزة للاستخدام · Package = مجموعة من الـ Modules
أقسام الوحدات والحزم:
📦
Third-Party
خارجية — تُثبَّت عند الحاجة
🔧
Standard
مدمجة — تُثبَّت تلقائياً مع Python
👨‍💻
Custom
خاصة — تُنشأ من قبل المبرمج
أهمية الحزم
توفر الوقت · إعادة الاستخدام · سهولة الصيانة
أشهر الوحدات والحزم:
الاسم النوع الاستخدام
datetime Standard التاريخ والوقت
random Standard توليد قيمة عشوائية
sqlite3 Standard قواعد البيانات
OpenCV (cv2) Third-Party الرؤية الحاسوبية · الصور والفيديو
NumPy Third-Party العمليات الحسابية · المصفوفات
datetimeالتاريخ والوقت — مدمجة
randomأعداد عشوائية — مدمجة
OpenCVصور وفيديو — خارجية
NumPyمصفوفات وحسابات — خارجية
طرق الاستيراد:
# استيراد وحدة كاملة
import random
num = random.randint(1, 10)

# استيراد دالة محددة فقط
from random import randint
num = randint(1, 10)
تثبيت وحذف الحزم الخارجية:
# تثبيت حزمة
pip install opencv-python

# حذف حزمة
pip uninstall opencv-python
مثال: عرض صورة بـ OpenCV:
import cv2
image = cv2.imread('photo.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow('Image', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
🧠

مدخل إلى الذكاء الاصطناعي

Introduction to Artificial Intelligence

الذكاء الاصطناعي (AI) = علم تصميم أنظمة تحاكي القدرات العقلية للإنسان — الفهم والتعلم وحل المشكلات واتخاذ القرار
المفاهيم الأساسية:
المفهوم التعريف
AI أنظمة تحاكي التفكير البشري وتتخذ قرارات ذاتية
Machine Learning (ML) فرع من AI — يتعلم من البيانات السابقة دون برمجة صريحة
Deep Learning (DL) فرع من ML — يعتمد على الشبكات العصبية الاصطناعية (ANNs)
Generative AI ذكاء اصطناعي يُنشئ محتوى جديد (نص، صور، فيديو، صوت)
AIمحاكاة التفكير البشري
MLتعلم من البيانات ذاتياً
Deep Learningشبكات عصبية اصطناعية
Generative AIينشئ محتوى جديداً
وظائف تعلم الآلة (Machine Learning):
الوظيفة الهدف مثال تطبيقي
التصنيف — Classification تحديد الفئة التي تنتمي إليها البيانات بريد عادي أو مزعج · صورة قطة أم كلب
التنبؤ — Prediction تقدير حدث مستقبلي هل سينجح الطالب في الاختبار؟
الانحدار — Regression تقدير قيم رقمية مستمرة التنبؤ بسعر منتج أو درجة حرارة
التجميع — Clustering تجميع البيانات المتشابهة تقسيم العملاء حسب سلوك الشراء
كشف الشذوذ — Anomaly Detection اكتشاف السلوكيات غير الطبيعية كشف الاحتيال البنكي
Classificationتصنيف البيانات لفئات
Predictionالتنبؤ بحدث مستقبلي
Regressionتقدير قيم رقمية
Clusteringتجميع متشابهات
Anomaly Detectionكشف السلوكيات الغريبة
أنواع تعلم الآلة:
النوع الشرح مثال
Supervised Learning (الموجَّه) يتعلم من بيانات مصنَّفة مسبقاً تصنيف البريد الإلكتروني
Unsupervised Learning (غير الموجَّه) يكتشف الأنماط في بيانات غير مصنَّفة تجميع الصور المتشابهة
Reinforcement Learning (المعزَّز) يتعلم بالتجربة والخطأ عبر مكافآت وعقوبات تدريب روبوت على المشي
Supervisedبيانات مصنَّفة مسبقاً
Unsupervisedيكتشف الأنماط ذاتياً
Reinforcementتعلم بمكافأة وعقوبة
أنواع الشبكات العصبية في Deep Learning:
الشبكة الاختصار الاستخدام
Convolutional Neural Networks CNNs معالجة الصور والفيديو · التعرف على الوجوه · كشف الأورام
Recurrent Neural Networks RNNs البيانات المتسلسلة زمنياً · الترجمة · التعرف على الكلام
Transformers معالجة النصوص الطويلة · الذكاء التوليدي · تلخيص النصوص
CNNsصور وفيديو — وجوه وأورام
RNNsبيانات زمنية — ترجمة وكلام
Transformersنصوص طويلة — ذكاء توليدي
الذكاء التوليدي — Generative AI:
يُنشئ محتوى جديداً يشبه ما ينتجه الإنسان — نصوص · صور · فيديو · صوت
التطبيق الشرح مثال
Text Generation توليد نصوص ومحادثات ChatGPT
Image Generation توليد صور خيالية GANs · Diffusion Models
Video Generation توليد فيديو من وصف نصي Google Veo
Voice Generation تحويل النص إلى كلام TTS Models
ChatGPTتوليد نصوص ومحادثات
GANsتوليد صور خيالية
Google Veoتوليد فيديو من نص
أشهر أدوات الذكاء الاصطناعي:
ChatGPT
ChatGPT
نموذج لغوي كبير من OpenAI
Google Gemini
Google Gemini
نموذج متعدد الوسائط من Google
MS Copilot
MS Copilot
مساعد ذكي على Microsoft Teams
IoT
IoT
إنترنت الأشياء — تحكم عن بُعد
مستويات الذكاء الاصطناعي:
المستوى الاختصار الوصف الحالة
الذكاء الضيق ANI يتميز في مهمة محددة واحدة — Siri, Alexa, شطرنج ✅ موجود الآن
الذكاء العام AGI قدرات شبيهة بالإنسان في أي مهمة ⏳ الجيل القادم
الذكاء الفائق ASI يتجاوز قدرات البشر في كل المجالات 🔮 افتراضي
ANIمهمة واحدة — موجود الآن
AGIمثل الإنسان — قيد التطوير
ASIيتجاوز الإنسان — افتراضي
مراحل عمل نظام الذكاء الاصطناعي:
  1. جمع البيانات — Data Collection: الحصول على بيانات من مصادر متنوعة (قواعد بيانات، صور، استبيانات)
  2. معالجة البيانات — Data Processing: تنظيف البيانات وإزالة التكرارات وتصحيح الأخطاء
  3. التدريب — Training: تعليم النموذج باستخدام البيانات وتحسين دقته
  4. التنبؤ — Prediction: استخدام النموذج لاتخاذ قرارات أو تقديم نتائج
  5. التقييم والتحسين — Evaluation: مقارنة النتائج بالأهداف وتحسين الأداء
  6. نشر النموذج — Deployment: نشر النموذج للاستخدام في التطبيقات الحقيقية
تصميم الأوامر — Prompt Design:
مهارة كتابة الطلبات بشكل دقيق وواضح للحصول على أفضل النتائج من أدوات الذكاء الاصطناعي
💡كلما كان الأمر محدداً وواضحاً وموجَّهاً لهدف محدد، كانت إجابة الذكاء الاصطناعي أكثر دقة ومناسبة
مبادئ أخلاقيات الذكاء الاصطناعي:
  • الاستخدام الآمن والمسؤول للتقنيات الحديثة
  • حماية خصوصية البيانات وعدم إساءة استخدامها
  • الشفافية في آلية عمل الأنظمة الذكية
  • تجنب التحيز في النماذج وضمان العدالة
  • اليونسكو وضعت وثيقة تاريخية لأخلاقيات AI
🚀

مشروعات الذكاء الاصطناعي

Artificial Intelligence Projects — OpenCV

مشروع تعليمي في تقنية التعرف على الوجوه باستخدام مكتبة OpenCV المفتوحة المصدر
التجربة الأولى — اكتشاف الوجوه:
import cv2

# تحميل مصنّف الوجوه الجاهز
face_cascade = cv2.CascadeClassifier(
  cv2.data.haarcascades + 'haarcascade_frontalface_default.xml'
)

# طلب مسار الصورة من المستخدم
image_path = input('Enter the image path: ')
colored_image = cv2.imread(image_path)
gray = cv2.cvtColor(colored_image, cv2.COLOR_BGR2GRAY)

# عرض الصورة الملونة أولاً ثم الرمادية
cv2.imshow('Colored Image', colored_image)
cv2.waitKey(2000)
cv2.destroyAllWindows()
cv2.imshow('Grayed Image', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
التجربة الثانية — اكتشاف حركة الأشخاص:
import cv2

# تشغيل الكاميرا
video = cv2.VideoCapture(0)
bg_subtractor = cv2.createBackgroundSubtractorMOG2()

while True:
    ret, frame = video.read()
    if not ret: break
    fg_mask = bg_subtractor.apply(frame)
    cv2.imshow('Motion', fg_mask)
    if cv2.waitKey(1) == ord('q'): break
cv2.destroyAllWindows()
مكتبة OpenCV — أهم الدوال:
الدالة الاستخدام
cv2.imread(path) تحميل صورة من المسار
cv2.imshow(name, img) عرض صورة في نافذة
cv2.cvtColor(img, code) تحويل نظام الألوان (BGR←→Gray)
cv2.VideoCapture(0) الاتصال بالكاميرا
cv2.rectangle() رسم مربع على الصورة
cv2.waitKey(ms) الانتظار بالميلي ثانية
cv2.destroyAllWindows() إغلاق جميع النوافذ
imreadتحميل صورة
imshowعرض صورة
cvtColorتحويل الألوان
VideoCaptureتشغيل الكاميرا
waitKeyالانتظار بالميلي ثانية
🔬Haar Cascade Classifier: خوارزمية جاهزة لاكتشاف الوجوه في الصور — مدمجة في مكتبة OpenCV ومجانية الاستخدام
✦ نهاية الكتاب — الصف العاشر · الفصل الثاني ✦