English Content - Second Year
Lecture 1 — Introduction to Programming and Python
●What is programming? Algorithms and execution flow.
●Why Python? An interpreted, readable language used in AI and data analysis.
●Installing Python and VS Code, understanding the Interpreter and the Shell.
●The print() function and writing your first Hello World program.
●Comments (# and single-line), code writing rules (Indentation).
Lecture 2 — Variables and Data Types
●Declaring variables and naming rules (case-sensitive, no reserved words).
●Core data types: int, float, str, bool.
●Checking a type with type().
●Type conversion: int(), float(), str(), bool().
●Dynamic typing — how Python differs from statically typed languages.
Lecture 3 — Operators.
●Arithmetic operators: + - * / // % ** .
●Comparison operators: == != > < >= <= .
●Logical operators: and, or, not.
●Shorthand assignment operators: += -= *= /= .
●Operator precedence and using parentheses .
Lecture 4 — Input, Output & String Basics.
●input() function and converting input to numbers.
●String concatenation (+) vs f-strings.
●Common string methods: upper(), lower(), strip(), len(), replace().
●String indexing and slicing basics [start:end].
●Escape characters: \n, \t, \" .
Lecture 5 — Conditional Statements: if / elif / else.
●The basic if statement and indentation structure.
●if / else for choosing between two cases .
●if / elif / else for choosing among multiple cases .
●Nested if statements.
●Combining conditions with and / or.
Lecture 6 — The for Loop and Repetition.
●The for loop syntax and how it iterates .
●range(start, stop, step) in detail .
●Looping over strings character by character .
●break — exiting a loop early .
●continue — skipping to the next iteration .
●Nested for loops (basic patterns).
Lecture 7 — The while Loop and Loop Control.
●The while loop structure and its continuation condition.
●When to use while instead of for .
●Infinite loops and how to avoid them .
●Using break and continue inside while.
●while True with an internal exit condition .
Lecture 8 — Lists (Arrays) — The Basics.
●What is a list? Ordered, mutable collections .
●Creating a list and accessing elements by index (including negative indexing) .
●Slicing lists list[start:end:step] .
●Modifying elements, len() of a list .
●Lists vs strings — similarities in indexing/slicing .
Lecture 9 — List Methods.
●append(), insert(), remove(), pop() .
●sort(), sorted(), and reverse() .
●The in operator to check for an element's presence.
●Iterating over a list with for item in list .
●Combining lists (+) and repeating them (*) .
●A simple introduction to List Comprehension .
Lecture 10 — 2D Lists and Tuples.
●Creating a list of lists (2D array) — rows and columns .
●Accessing elements list[row][col] .
●Looping through a 2D list with nested for .
●Tuples: fixed, immutable sequences () vs [] .
●When to use a tuple instead of a list .
Lecture 11 — Functions — The Basics .
●Why use functions? .
●Defining a function with def and calling it .
●Parameters and arguments .
●The return statement and returning a value from a function .
●Local vs global scope — an introduction .
●Default parameter values .
Lecture 12 — Advanced Functions & Final Project .
●Functions that accept and return lists .
●*args — passing a variable number of arguments .
●Combining functions + lists + conditionals + loops .
●Basic idea of recursion (a function calling itself) .
=========================================== محتوي بالعربي - الصف الثاني الثانوي ============================
المحاضرة 1 — مقدمة في البرمجة ولغة البايثون .
●ما هي البرمجة؟ الخوارزميات وتسلسل التنفيذ
●لماذا Python؟ لغة مفسّرة، سهلة القراءة، مستخدمة في الذكاء الاصطناعي وتحليل البيانات
●تثبيت Python وبيئة VS Code، التعرف على الـ Interpreter والـ Shell
●أمر print() وكتابة أول برنامج Hello World
●التعليقات Comments (# وسطر واحد)، قواعد كتابة الكود (Indentation)
المحاضرة 2 — المتغيرات وأنواع البيانات .
●تعريف المتغيرات وقواعد التسمية (حساسة لحالة الأحرف، لا تستخدم كلمات محجوزة)
●أنواع البيانات الأساسية: int, float, str, bool
●معرفة نوع المتغير باستخدام type()
●تحويل الأنواع: int(), float(), str(), bool()
●الأنواع الديناميكية — كيف تختلف Python عن اللغات ذات النوع الثابت
المحاضرة 3 — العمليات والمعاملات (Operators) .
●المعاملات الحسابية: + - * / // % **
●معاملات المقارنة: == != > < >= <=
●المعاملات المنطقية: and, or, not
●معاملات الإسناد المختصرة: += -= *= /=
●أولوية التنفيذ (Operator Precedence) واستخدام الأقواس
المحاضرة 4 — الإدخال والإخراج ومعالجة النصوص
●دالة input() وتحويل المدخلات إلى أرقام
●دمج النصوص (+) مقابل f-strings
●دوال النصوص الشائعة: upper(), lower(), strip(), len(), replace()
●أساسيات فهرسة وتقطيع النصوص [start:end]
●رموز الهروب (Escape Characters): \n, \t, \"
المحاضرة 5 — جمل الشرط if / elif / else
●جملة if الأساسية وبنية الإزاحة (Indentation)
●if / else للاختيار بين حالتين
●if / elif / else للاختيار بين أكثر من حالة
●الشروط المتداخلة (Nested if)
●دمج الشروط باستخدام and / or
المحاضرة 6 — حلقة for والتكرار
●بنية حلقة for وكيفية عملها
●دالة range(start, stop, step) بالتفصيل
●الدوران على النصوص حرفًا حرفًا
●break — الخروج من الحلقة مبكرًا
●continue — الانتقال إلى التكرار التالي
●حلقات for المتداخلة (أنماط أساسية)
المحاضرة 7 — حلقة while والتحكم في التكرار
●بنية حلقة while وشرط الاستمرار
●متى نستخدم while بدلاً من for
●الحلقة اللا نهائية (Infinite Loop) وكيف نتجنبها
●استخدام break و continue داخل while
●حلقة while True مع شرط خروج داخلي
المحاضرة 8 — القوائم (المصفوفات) — الأساسيات
●ما هي القائمة؟ مجموعة مرتبة وقابلة للتعديل
●إنشاء قائمة والوصول للعناصر بالفهرس (بما في ذلك الفهرسة السالبة)
●تقطيع القوائم list[start:end:step]
●تعديل العناصر، ودالة len() لمعرفة طول القائمة
●القوائم مقابل النصوص — أوجه التشابه في الفهرسة والتقطيع
المحاضرة 9 — عمليات ودوال القوائم (List Methods)
●append(), insert(), remove(), pop()
●sort() و sorted() و reverse()
●عامل in للتحقق من وجود عنصر
●الدوران على القائمة for item in list
●دمج القوائم (+) وتكرارها (*)
●مقدمة مبسطة عن List Comprehension
المحاضرة 10 — القوائم ثنائية الأبعاد والـ Tuples (مقدمة)
●إنشاء قائمة داخل قائمة (مصفوفة ثنائية الأبعاد) — الصفوف والأعمدة
●الوصول للعناصر list[row][col]
●الدوران على القائمة ثنائية الأبعاد بحلقات for متداخلة
●الـ Tuples: تسلسلات ثابتة غير قابلة للتعديل () مقابل []
●متى نستخدم Tuple بدلاً من List
المحاضرة 11 — الدوال (Functions)
●لماذا نستخدم الدوال؟
●تعريف دالة باستخدام def واستدعاؤها
●المعاملات (Parameters) والوسائط (Arguments)
●جملة return وإعادة قيمة من الدالة
●المتغيرات المحلية والعامة (Local vs Global scope) — مقدمة
●القيم الافتراضية للمعاملات (Default Parameters)
المحاضرة 12 — الدوال المتقدمة والمشروع النهائي
●دوال تستقبل وتُرجع قوائم
●*args — تمرير عدد متغير من الوسائط
●الدمج بين الدوال والقوائم والشروط والحلقات
●فكرة مبسطة عن الاستدعاء الذاتي (Recursion) — مقدمة مفاهيمية
●المشروع النهائي: نظام إدارة درجات الطلاب يجمع كل مواضيع الـ40 ساعة