الكثيرون على دراية بـ Scratch - وهي بيئة برمجة للأطفال ، والتي عادةً ما يكون التدريب لإنشاء مشاريع إبداعية على أساس مبدأ "من البسيط إلى المعقد". في الوقت نفسه ، فإن "النهج الكلاسيكي" لدراسة البرمجة (المتغيرات → الفروع → الحلقات → وظائف → الهياكل → الكائنات → ...) في سكراتش أمر صعب.
ومع ذلك ، فإن تغيير تسلسل دراسة المفاهيم (دعنا نسميها مفاهيم) للبرمجة الهيكلية والموجهة نحو الحدث ، وإخفائها وراء رموز متحركة ساطعة والرسوم المتحركة التفاعلية لا يعني أنه لا ينبغي التأكيد على المفاهيم. خاصة إذا كان الهدف ليس تنمية القدرات الإبداعية بقدر ما هو التدريب على البرمجة.
حاولت التعبير عن هذه الفكرة في
مساقي .
أول شيء يواجهه الخدش المبتدئ هو العفاريت. على الرغم من أن Scratch نفسه لا يحتوي على برمجة موجهة للكائنات ، يمكن اعتبار sprites كائنات. في هذه المرحلة ، يرى الطالب أنه يمكن أن يكون هناك العديد من الكائنات في البرنامج الذي يتم التحكم في سلوكه من خلال البرامج النصية الخارجية لهم. يتلقى Sprites أوامر أو ينقل معلومات حول حالتها عند الطلب ، أي أن البرمجة تأتي لإدارة الكائنات.
الشيء الثاني الذي يقع على الفور في سكراتش على رأس مبرمج شاب هو مفهوم تعدد العمليات. كل شبح يمكن أن يكون له عدة نصوص منفذة في وقت واحد. يمكن للعديد من العفاريت أيضًا تنفيذ برامجهم في وقت واحد مع بعضهم البعض. وتبين أنه من الصعب تنظيم التنفيذ المتسلسل.
بالفعل في الدرس الأول ، لا يمكننا تجنب التعرف على الدورات. خلاف ذلك ، لن يهرب القط بشكل خاص. في هذه المرحلة ، يجب أن تترك المعرفة بديهية وسطحية. نحن نقتصر على دورات "تكرار دائمًا" و "تكرار ... مرات" ، والتي يسهل فهمها. تتم دراسة الحلقة الشرطية في درس مخصص بشكل خاص للحلقات. يتطلب هذا الدرس معرفة التعبيرات المنطقية والمتغيرات.
نظرًا لأن Scratch هي بيئة تحركها الأحداث ، فمن الملائم أكثر دراسة كتل العبارات الشرطية قبل المتغيرات. قد يكون الشرط أحداث معينة.
في رأيي ، هذا التسلسل أفضل ، لأننا نقدم في كل درس حدا أدنى من المفاهيم. وليس مجردة ، ولكن انظر على الفور فوائدها العملية.
إذا قمت بدراسة المتغيرات أولاً ، فمن الصعب توضيح الغرض منها وفائدتها ، نظرًا لأن المشغل الشرطي وإدخال البيانات وتوليد الأرقام العشوائية لم تتم دراستها من قبل.
في Scratch ، بصرف النظر عن القوائم ، يواجه المبرمج ثلاثة أنواع من البيانات: الأرقام والسلاسل وأنواع منطقية. في هذه الحالة ، يرتبط النوع بقيمة ، وليس متغير. تحويل السلاسل إلى أرقام والعكس بالعكس غير مطلوب. سلاسل غير محاطة بعلامات اقتباس.
يمكن إدراج الكتلة التي تُرجع قيمة منطقية ولها شكل زاوي مميز في الحقول المستديرة. العكس ليس صحيحًا: حيث يتم افتراض تعبير منطقي ، لا يمكنك إدراج متغير عادي.
يتم تطبيق Scratch بحيث لا تحدث أخطاء فادحة أثناء التنفيذ. على ما يبدو ، إذا حاولت استخدام سلسلة في عملية حسابية ، فسيتم استبدالها بصفر (انظر الشاشة الأولى).
يجب أن يعلم المبرمج أن المكتبات تعمل على توسيع قدرات لغات البرمجة. أثناء العمل في Scratch ، يمكن للطالب إضافة إضافات تضيف فرقًا جديدة إلى البيئة.
يتم تنفيذ الوظائف في Scratch في قسم "الكتل الأخرى" ، حيث تقوم من ناحية بإنشاء الكتلة الخاصة بك والتي يمكن إدراجها في البرامج النصية الأخرى. من ناحية أخرى ، يجب عليهم تجميع وظائف هذه الوحدة ، أي ما ستفعله.
لا يوجد أي قيمة إرجاع من وظيفة الصفر.
وبالتالي ، فإن دراسة مفاهيم البرمجة في بيئة موجهة نحو الحدث يترك بصماته. في الواقع ، لقد درسنا أولاً مفاهيم أكثر تعقيدًا وتجريدًا ، وبعد الخوض في العملية فقط ، انتقلنا إلى عناصر البرمجة الهيكلية. زائد أو ناقص لأحد معارفه هو نقطة خلافية.