الفصل 1
2 درس
المنهج البرمجي الكامل للغة بايثون
منظومة تعليمية تفاعلية تعتمد التطبيق العملي المباشر. تقرأ المفهوم في خطوات مركزة، وتكتب الكود وتختبره في المحرر والطرفية الحية، وعند اجتياز فحص المنطق البرمجي ينتقل النظام تلقائياً للخطوة التالية.
01
فهم المفهوم المحدد
قراءة شروحات مركزة تشرح فكرة واحدة محددة بدون استطراد نظري.
02
التطبيق في المحرر (editor) والطرفية (shell)
كتابة الكود بنفسك في المحرر (editor) وتجربة التعبيرات في الطرفية التفاعلية (shell).
03
الفحص الآلي والتقدم التلقائي
التحقق من صحة الكود؛ وعند اجتياز الاختبار تفتح الخطوة التالية فوراً.
الفصل 2
2 درس
أساسيات النصوص (strings)
الفصل 3
4 درس
المتغيرات (variables)
الفصل 4
6 درس
حلقات التكرار (loops)
مقدمة إلى حلقات التكرار (for loops) عبر
for
IntroducingForLoops
المسافات البادئة (indentation) وقواعدها
Indentation
تمارين أساسية على حلقة (for loop)
BasicForLoopExercises
بناء وتجميع النصوص (strings) داخل الحلقة (loop)
BuildingUpStrings
تمارين بناء وتجميع النصوص (strings)
BuildingUpStringsExercises
المصطلحات البرمجية الأساسية للتكرار (iteration)
BasicTerminology
الفصل 5
7 درس
الجمل الشرطية (conditionals)
مقدمة إلى الجمل الشرطية (if statements)
IntroducingIfStatements
دمج العبارات البرمجية المركبة (compound statements)
CombiningCompoundStatements
فهم وتتبع خطوات تنفيذ الكود عبر أداة
snoop
UnderstandingProgramsWithSnoop
الشروط المتفرعة (conditionals):
if و else
IfAndElse
معامل التحقق من المساواة (equality operator)
==
TheEqualityOperator
مقدمة إلى الشروط الإضافية (elif conditions)
IntroducingElif
معاملات المقارنة الأخرى (comparison operators) (
<, >, <=, >=)
OtherComparisonOperators
الفصل 6
13 درس
القوائم (lists)
مقدمة إلى القوائم (lists)
IntroducingLists
إنشاء وتعديل القوائم (lists)
BuildingNewLists
الخروج المبكر من الحلقة باستخدام
break
UsingBreak
فهرسة العناصر (indexing) ودالتي
range() و len()
GettingElementsAtPosition
تمارين تطبيقية على
range() و len()
GettingElementsAtPositionExercises
المصطلحات: استدعاء الدوال (functions) والأساليب (methods)
CallingFunctionsTerminology
الدوال (functions) والأساليب (methods) الخاصة بالقوائم (lists)
FunctionsAndMethodsForLists
أساليب ودوال متقدمة للقوائم (lists)
MoreListFunctionsAndMethods
أساليب النصوص (string methods) وخاصية ثبات الكائن (immutability)
StringMethodsUnderstandingMutation
مهارات البحث البرمجي الفعال على الويب
HowToFindInformationWithGoogleAndMore
تتبع تنفيذ الأكواد بصرياً عبر
Python Tutor
UnderstandingProgramsWithPythonTutor
الفرق بين تطابق القيمة
== وتطابق الهوية is
EqualsVsIs
تعديل محتوى القائمة (list) أثناء التكرار (looping)
ModifyingWhileIterating
الفصل 7
2 درس
التعامل المتقدم مع النصوص (strings)
الفصل 8
4 درس
الحلقات المتداخلة (nested loops)
الفصل 9
5 درس
الدوال البرمجية (functions)
تعريف الدوال (functions) باستخدام
def
DefiningFunctions
استدعاء الدوال (calling functions) من داخل دوال أخرى
CallingFunctionsWithinFunctions
إرجاع المخرجات (return values) من الدوال
ReturningValuesFromFunctions
اختبار وتأكيد صحة عمل الدوال (testing functions)
TestingFunctions
أمر
return ونقطة إنهاء الدالة (function return)
MoreOnReturn
الفصل 10
5 درس
المعاملات المنطقية (boolean operators)
مقدمة إلى المعامل المنطقي (boolean operator)
or
IntroducingOr
مقدمة إلى المعامل المنطقي (boolean operator)
and
IntroducingAnd
كتابة التعبيرات البرمجية الطويلة على أسطر متعددة
MultiLineExpressions
الدمج المتقدم بين
and و or وأسبقية العمليات
CombiningAndAndOr
مقدمة إلى معامل النفي المنطقي (not operator)
not
IntroducingNotPage
الفصل 11
7 درس
مشروع لعبة (Tic-Tac-Toe)
فحص صفوف اللوحة لتحديد الفائز (row_winner)
IntroducingTicTacToe
حرف السطر الجديد
\n ودالة تنسيق اللوحة (format_board)
NewlinesAndFormatBoard
أنواع البيانات (data types) ودالة التحقق
type()
Types
البرامج التفاعلية ودالة استقبال المدخلات (input)
input()
InteractiveProgramsWithInput
تسجيل حركات اللاعبين بتعديل القوائم المتداخلة (nested lists)
NestedListAssignment
توليد وإنشاء لوحة اللعبة ديناميكياً
MakingTheBoard
التجميع النهائي: تشغيل لعبة
Tic-Tac-Toe المتكاملة
TheFullTicTacToeGame
الفصل 12
4 درس
القواميس (dictionaries)
مقدمة إلى القواميس (dictionaries)
IntroducingDictionaries
الاستخدام العملي للقواميس (dictionaries) في البرامج الواقعية
UsingDictionaries
التكرار على مفاتيح القاموس (keys) والقيم (values)
keys() / values()
DictionaryKeysAndValues
إنشاء وتحديث أزواج المفاتيح والقيم (key-value pairs)
CreatingKeyValuePairs