php //// End //// ?>
يواجه كثير من المبتدئين صعوبة في فهم البرمجة بسبب التعقيد اللغوي والنظري، وهو ما يجعل البداية مربكة حتى قبل كتابة أول فكرة، وتأتي دورة Scratch لتقدّم مدخلًا بصريًا ومنظّمًا يساعد على فهم منطق البرمجة من خلال التجربة والتطبيق.
هذه الدورة لا تعلّم الطفل أو المبتدئ استخدام برنامج فقط، بل تضعه أمام منطق البرمجة نفسه: التفكير، التجربة، وتصحيح الخطأ بطريقة مرئية ومفهومة.
يركّز هذا الكورس على بناء التفكير البرمجي قبل تعلّم الأكواد، من خلال ربط الأوامر البصرية بالمنطق، وتسلسل الأحداث، والتفاعل بين الكائنات داخل المشروع.
في هذا الكورس، على مدار 13 حلقة تدريبية، لن تكتفي بتعلّم الأوامر، بل ستفهم كيف تفكّر مثل المبرمج: كيف تنشئ كائنات تتفاعل مع بعضها، تضيف الحوارات، تتحكم في الحركات، تضبط الأصوات، بل وتُعدّ أكثر من مرحلة داخل لعبتك. كما ستتعلّم كيف تضيف لمستك الخاصة على مشروعك من خلال الخلفيات والتفاعل مع المستخدم. خلال الحلقات الثلاثة عشر، ستخوض تجربة متكاملة تبدأ من الصفر وتنتهي بقدرتك على بناء مشروعك البرمجي البصري الأول.
سواء كنت طالبًا، معلّمًا، أو ولي أمر، يوفّر هذا الكورس مدخلًا مبسّطًا لفهم أساسيات البرمجة البصرية وبناء مشروع تطبيقي باستخدام Scratch.
Check the frequently asked questions about this course.
Explore newly published courses and stay updated.
This course includes 1 modules, 13 lessons, and 0 hours of materials.
في الحلقة الأولى، سأصطحبك معي في مقدمة تعريفية ممتعة نشرح فيها سويًا لماذا يُعتبر تعلّم سكراتش خطوة مهمة في بداية طريقك نحو البرمجة. سأتحدث معك عن الفئات العمرية التي يناسبها هذا البرنامج، من سن 4 سنوات وحتى 18 سنة، وكيف يختلف مستوى الفهم والاستيعاب من طفل لآخر.
وسأوضح لك أن سكراتش ليس فقط سهل الاستخدام، بل أيضًا ممتع جدًا، ويُعدّ مدخلًا رائعًا لفهم مفاهيم البرمجة بطريقة بسيطة ومحببة للأطفال والمراهقين.
في هذه الحلقة، أبدأ معك من الأساس. سنفهم سويًا كيف يعمل جهاز الكمبيوتر، وما العلاقة بين المكونات المادية والبرمجيات، وكيف تطورت لغات البرمجة عبر الزمن حتى ظهر برنامج سكراتش الذي سنعمل عليه سويًا.
ثم ننتقل لأول خطوة عملية داخل سكراتش، حيث أشرح لك واجهة البرنامج وكيفية التعامل مع العناصر، الخلفيات، والأصوات. سنتعرّف معًا على طريقة إدخال الأكواد وتعديل مظهر المشروع بشكل مبسط وسلس. هذه الحلقة ستُشكّل لك قاعدة أساسية لا غنى عنها في بداية رحلتك في عالم البرمجة.
في هذه الحلقة، أبدأ معك بشرح مفهوم الحركة داخل برنامج سكراتش، ونفهم سويًا كيف ينتقل العنصر من مكان إلى آخر على الشاشة. سأعرفك أولًا على مفهوم البكسل، وحدة القياس التي يستخدمها الكمبيوتر في الحركة، ثم أوضح لك كيف يتحرك هذا العنصر على المحورين الأفقي والرأسي باستخدام الإحداثيات.
سنتحدث أيضًا عن تقسيم الشاشة إلى مربعات من حيث الطول والعرض، وسأشرح لك أن مركز الشاشة هو النقطة (0,0)، وما الفرق بين الاتجاهات الأربعة، والربع الأول والثاني، ولماذا الاتجاه إلى اليمين موجب وإلى اليسار سالب.
بعد ذلك، أوضح لك كيف نغيّر حجم العنصر أو نعدّل اتجاهه، بالإضافة إلى شكل المحاور والخلفية في مشروعك. ثم نبدأ معًا في التدرّج لشرح أوامر الحركة: من أمر "move" لتحريك الالعنصر للأمام، إلى "turn" لتغيير الاتجاه، ثم "go to" لإرساله إلى موقع معين سواء عشوائيًا أو باستخدام الماوس.
سأشرح لك أيضًا أمر "glide" لتحريك العنصر خلال فترة زمنية، و"point in direction" لتحديد اتجاهه بدقة، وأمر "point towards" الذي يجعله يتجه نحو عنصر آخر.
وفي الجزء الأخير من الحلقة، نتعرّف على أربعة أوامر مهمة للتحكّم في المحورين X وY: وهي "change x", "set x", "change y", "set y"، مع توضيح الفرق بينها. كما نمر على أوامر إضافية مثل "if on edge bounce" لجعل العنصر يرتد عند حواف الشاشة، و"set rotation style" لتحديد نمط دورانه أو منعه من الانقلاب.
وفي نهاية الحلقة، أشير سريعًا إلى بعض المفاهيم التي ستقابلها لاحقًا، مثل قراءة قيم X وY والاتجاه مباشرة من على الشاشة.
في هذه الحلقة، سنخوض معًا تجربة عملية ممتعة من خلال تصميم لعبة بسيطة نستخدم فيها أوامر البرمجة التي تعلمناها، ونتعرف على أوامر جديدة. سأبدأ بإضافة عنصر تفاحة وطبق، مع اختيار خلفية مناسبة، ثم نعدّل معًا حجم ومكان الطبق باستخدام أدوات البرنامج.
سنركّز هذه المرة على الأوامر الخاصة بـ الأحداث والمميزة باللون الأصفر. أشرح لك أولًا أمر:
"when green flag clicked" وهو المسؤول عن بدء تشغيل اللعبة.
ثم ننتقل إلى أمر:
"when key pressed" وسنستخدمه لتفعيل زر الاتجاه الأيمن، وبعدها أريك كيف نفعّله أيضًا مع الاتجاه الأيسر.
بعد ذلك، نستخدم أمر "forever" حتى تستمر حركة التفاحة تلقائيًا حتى تصل إلى الطبق، وسأوضح لك كيف نتحكم في سرعة الحركة من خلال أمر "wait" وتعديل مدته.
سأشرح لك بعدها ثلاثة شروط مهمة باستخدام أمر "if":
# إذا لمست التفاحة الطبق، تنتقل إلى مكان جديد على الشاشة.
# إذا لمست الحاجز، تنتهي اللعبة ويُعتبر اللاعب خاسرًا.
# وأخيرًا، نستخدم أمر "say for seconds" لعرض جملة على الشاشة مثل: "لقد خسرت".
كما سنتحدث عن أهمية ترتيب الأوامر داخل الكود، وسأوضح لك كيف نحدّد موضع ظهور كل من التفاحة والطبق عند بدء اللعبة. وفي نهاية الحلقة، نستخدم أمر "stop" لإيقاف اللعبة تمامًا بعد تحقق شرط الخسارة.
في هذه الحلقة، سنتعلم معًا كيفية إضافة عداد نقاط داخل اللعبة بطريقة تفاعلية وسهلة. سأبدأ بتوضيح مفهوم المتغير (Variable) الذي يشبه صندوقًا نقوم بتخزين الأرقام فيه، مثل عدد التفاحات التي ينجح اللاعب في جمعها أثناء اللعب.
سأريك أولًا خطوات إنشاء متغير جديد لعرض عدد النقاط على الشاشة، ثم نتعلم كيف نربط هذا المتغير بحركة التفاحة، بحيث يزيد العدد في كل مرة ينجح فيها اللاعب في إدخال التفاحة داخل الطبق.
بعد ذلك، سنتعلم شرطين أساسيين في اللعبة:
- زيادة واحدة في عدد النقاط عند ملامسة التفاحة للطبق.
- إعادة التفاحة إلى مكان البداية بعد نجاح المحاولة.
بعد تنفيذ هذه الخطوات، سنجرب اللعبة عمليًا معًا للتأكد من أن الأكواد تعمل بشكل صحيح. ثم سأوضح لك خطوة مهمة جدًا، وهي كيفية تصفير العداد (Score) مع بداية كل لعبة جديدة باستخدام أمر "set my variable to 0". سأشرح لك الفرق بين هذا الأمر وبين أمر "change" بطريقة سلسة، بحيث تفهم وظيفة كل منهما.
وفي نهاية الحلقة، سنتناول أمرين إضافيين وهما:
# "show variable" لإظهار المتغير على الشاشة.
# "hide variable" لإخفائه.
سأشرح كل منهما من خلال تطبيق عملي داخل اللعبة.
في هذه الحلقة، نأخذ خطوة جديدة في تصميم الألعاب من خلال استكشاف أوامر "المظهر" (Looks)، وهي المسؤولة عن شكل ومكان العناصر داخل اللعبة.
أبدأ أولًا بتوضيح أن لكل عنصر (Sprite) مجموعة من الأشكال المختلفة (Costumes) يمكن التبديل بينها بسهولة، وأن أي تغيير نقوم به على عنصر معين لا يؤثر على بقية العناصر في المشروع.
بعدها ننتقل معًا إلى شرح طريقة التبديل بين الكلام والحركات داخل اللعبة. سنبدأ بأمر "Say" الذي يجعل العنصر يتحدث، وسأوضح الفرق بين استخدامه للتحدث المستمر وبين التحدث لفترة زمنية محددة باستخدام "Say for seconds". وسنشرح أيضًا كيف نغيّر شكل فقاعة الكلام لتبدو وكأن العنصر "يفكر".
ثم ننتقل إلى أوامر التبديل بين الأشكال، وهي:
- "Switch costume to" للتنقل مباشرة إلى شكل معين.
- "Next costume" للتبديل بالتسلسل بين الأشكال المتاحة.
بعد ذلك سنتعلم كيف نتحكم في حجم العنصر باستخدام:
- "Change size by" لتكبير أو تصغير الحجم تدريجيًا.
- "Set size to" لتحديد حجم ثابت ومحدد.
نستعرض بعدها أوامر المؤثرات (Effects) التي تسمح بتغيير شكل العناصر من حيث الألوان أو الشفافية أو تأثيرات بصرية ممتعة، وسنتعلم كيف نتحكم فيها بالأرقام. كما نشرح أمر "Clear graphic effects" الذي يعيد العنصر إلى شكله الأصلي.
ثم ننتقل إلى أوامر:
# "Show": لإظهار العنصر على الشاشة.
# "Hide": لإخفائه.
وسنوضح كيف يمكن استخدام هذه الأوامر في أكثر من سيناريو داخل اللعبة، وستلاحظ معنا أنها ستتكرر كثيرًا في الحلقات القادمة.
وفي ختام الحلقة، نتعرف على مفهوم الطبقات (Layers) وكيفية ترتيب العناصر على الشاشة، بحيث يظهر عنصر فوق أو تحت الآخر، كما نوضح طريقة عرض رقم الشكل الحالي (Costume number) وحجم العنصر (Size) على الشاشة بطريقة عملية وتطبيقية.
في هذه الحلقة، سأشرح لك كيف يمكن تنسيق الأوامر بين العناصر داخل اللعبة، بحيث تتفاعل مع بعضها بطريقة منظمة. سنتعلم أيضًا كيفية بناء مراحل متعددة للعبة خطوة بخطوة، إلى جانب استخدام أدوات جديدة تساعدنا على التحكم في حركة العناصر وتغيير الخلفيات بشكل أكثر احترافية. هذه الحلقة ستمنح مشروعك مستوى أعلى من التفاعل والإتقان.
في هذه الحلقة، سنتعلم معًا كيف ننتقل من مرحلة إلى أخرى داخل نفس اللعبة، وذلك باستخدام أمر "broadcast message" الذي يسمح لنا بإرسال رسالة تؤدي إلى تغيير الخلفية وبدء مستوى جديد.
سنستخدم معه أمر "say for seconds" لعرض رسالة مؤقتة على الشاشة، ثم نجعل التفاحة تختفي باستخدام "hide"، وبعدها نوقف السكربت الحالي بأمر "stop this script".
سأشرح لك أيضًا أهمية إعادة ضبط نقطة البداية في المستوى الجديد باستخدام أمر "stop" في بداية السكربت، خصوصًا إذا كنا قد استخدمنا شرطًا في المستوى السابق.
بعد ذلك، نبدأ في إعداد المرحلة الثانية من خلال ظهور تفاحة جديدة باستخدام "when I receive message1"، مع حذف بعض أوامر المستوى الأول لأنها لم تعد مطلوبة.
وفي نهاية الحلقة، سترى كيف ننسخ التفاحة من المستوى الأول باستخدام زر "duplicate"، وننشئ سكربتًا جديدًا للمستوى الثاني. ويمكنك تكرار هذه الخطوات بسهولة لإضافة مراحل جديدة إلى لعبتك.
في هذه الحلقة، سأصطحبك في جولة داخل قسم الأصوات في سكراتش، حيث سنتعرف معًا على كيفية تسجيل صوت جديد أو إضافة صوت من مصدر خارجي لكل عنصر داخل اللعبة.
سنبدأ بشرح أوامر تشغيل الصوت:
أولًا سنتعلم كيف نستخدم أمر "play sound until done" لتشغيل الصوت حتى ينتهي، ثم ننتقل إلى أمر "start sound" لتشغيل الصوت دون انتظار، وبعد ذلك نتعرف على أمر "stop all sounds" لإيقاف جميع الأصوات في المشروع دفعة واحدة.
بعد ذلك، ننتقل إلى التحكم في مستوى الصوت باستخدام الأوامر التالية:
"change volume by" لزيادة أو تقليل الصوت تدريجيًا،
"set volume to" لضبط الصوت على قيمة محددة،
و"clear sound effects" لإزالة أي تأثيرات صوتية تم إضافتها.
سأشرح لك الفرق بين هذه الأوامر، وكيف نستخدمها أثناء اللعب بطريقة تجعل اللعبة أكثر تفاعلًا ومتعة.
وفي نهاية الحلقة، سنتعرف على طريقة عرض مستوى الصوت على الشاشة خلال اللعب، وسنستخدم أمر "when loudness > 10" لتنفيذ أحداث معينة عندما يصل مستوى الصوت إلى درجة معينة، وبذلك نضيف تفاعلًا صوتيًا مميزًا داخل لعبتنا.
في هذه الحلقة من كورس الـ Scratch، سنتعرف على أوامر الكنترول التي تشكل أدوات أساسية للتحكم في حركة العناصر داخل اللعبة وتفاعلها.
أبدأ معك بشرح أمر "wait"، والذي يسمح لك بتحديد وقت معين قبل تنفيذ الأمر التالي.
بعد ذلك، ننتقل إلى أمر "if"، الذي يمكنك من تنفيذ أمر معين عندما يتحقق شرط محدد. ثم سنتعرف على أمر "forever" الذي يكرر الأوامر إلى ما لا نهاية، وسأوضح لك الفرق بينه وبين أوامر "repeat" و"if then else" و"repeat until"، وسأشرح لك متى تستخدم كل واحد منها بناءً على متطلبات لعبتك.
بعد ذلك، سنتناول أوامر أكثر دقة مثل "wait until"، الذي يعتمد على حدوث تغيير معين بدلاً من الوقت، وكذلك تأثير أوامر "stop all" و"stop this script" التي تتحكم في إيقاف الكود سواء جزئيًا أو كليًا.
وفي نهاية الحلقة، سنتعرف على ثلاثة أوامر مهمة لإنشاء نسخ من العناصر داخل اللعبة، وهي:
# "create clone of" لإنشاء نسخة من الكائن.
# "when I start as a clone" لتحديد ما يحدث عند بدء تشغيل النسخة.
# "delete this clone" لمسح النسخة بعد الانتهاء من استخدامها.
من خلال هذه الأوامر، ستكون قادرًا على التحكم بشكل أكبر في طريقة عمل اللعبة وتوسيع إمكانياتها بشكل مرن.
في هذه الحلقة، ننتقل من مرحلة التعرف على الأدوات إلى تطبيق عملي داخل برنامج الـ Scratch، حيث سنقوم بإنشاء قصة بسيطة بين عنصرين. سأبدأ معك بتحديد الشخصيات وتوزيع الأوامر بشكل واضح، لتوضيح طريقة التواصل بينهما.
نستخدم أوامر مثل "say" و"broadcast message" لتنظيم الحوار وترتيب التفاعل بين الشخصيات. سأريك كيف يبدأ أحد الشخصيات بالكلام، ثم ينتقل الحديث تلقائيًا إلى الطرف الآخر، وأوضح لك كيف أن استخدام الرسائل يساعد في تسلسل القصة بشكل منظم ويجعل التفاعل بين الكائنات أكثر سلاسة.
كما ستتعلم كيفية إضافة الصوت إلى الجمل لزيادة التفاعل وجعل القصة أكثر واقعية، مما يضيف لمسة من الحيوية على مشروعك.
وفي ختام الحلقة، سأؤكد لك أن هذا النموذج البسيط يمكن تطويره وتوسيع نطاقه بعدد أكبر من الشخصيات أو الأحداث، وأشدد على أهمية ترتيب السكربتات بحيث لا تتحدث شخصية قبل أن تنتهي الآخرى.
في هذه الحلقة، سأأخذك في جولة ممتعة داخل أوامر الاستشعار (Sensing) المميزة بلونها اللبني، حيث سنتعرف معًا على كيفية تفاعل الكائنات مع محيطها داخل اللعبة.
سأشرح لك وظيفة المؤشر، وأستعرض مجموعة من الأوامر التي ستتيح لك التحقق مما إذا كان الكائن يلمس شيئًا أو لونًا معينًا، وسأوضح لك الفرق بين هذه الأوامر من حيث الدقة والاستخدام.
سنتعرف أيضًا على بعض الأوامر المعتمدة على القيم مثل المسافات بين الكائنات، ومواقعها على المحورين، ومستوى الضوضاء في اللعبة. بعد ذلك، سأنتقل بك إلى أوامر التفاعل مثل طرح الأسئلة واستقبال الإجابات، بالإضافة إلى كيفية التحكم في الكائنات باستخدام لوحة المفاتيح أو الماوس.
وفي نهاية الحلقة، سأشرح لك بعض الأوامر المرتبطة بالوقت، مثل تحديد التاريخ واسم المستخدم، بل وحتى حالة الخلفية. هذه الحلقة مليئة بالأدوات التي ستفتح لك الباب لتجارب أكثر تفاعلًا واحترافية داخل Scratch.
في هذه الحلقة الختامية من كورس Scratch، سأصطحبك إلى واحدة من أهم المراحل في البرمجة البصرية، وهي مرحلة العمليات (Operators) التي تتميز بلونها الأخضر.
في هذه الحلقة، سنتعرف معًا على كيفية استخدام هذه الأوامر لتنفيذ الحسابات، إجراء المقارنات، وربط الأوامر ببعضها البعض لصنع تجربة تفاعلية وذكية.
سنبدأ بالتعرف على الأوامر الأساسية في الحساب مثل الجمع والطرح، ثم نستكشف أدوات المقارنة مثل الأكبر من والأقل من والمساواة. كما سنتعرف على كيفية استخدام الأوامر المنطقية مثل AND وOR وNOT لدمج شروط متعددة بطريقة مرنة، مما سيضيف مرونة كبيرة إلى مشاريعك.
بعد ذلك، سأشرح لك أدوات التعامل مع النصوص مثل حساب عدد الحروف أو التحقق مما إذا كانت كلمة تحتوي على جزء معين، مما سيساعدك على تعزيز إمكانيات البرمجة اللغوية داخل اللعبة.
ستكون هذه الحلقة الختامية بمثابة تلخيص شامل لما تعلمناه طوال الكورس، وستمنحك الأدوات اللازمة لبناء مشاريع متقدمة باستخدام Scratch.