المتابعون للمدونة

الاثنين، 30 ديسمبر 2024

sVB docs

 هذه نسخة محدثة من المرجع الشامل للغة سمول فيجوال بيزيك Small Visual Basic.

هذا المرجع يحتوي على كل شيء عن اللغة بالتفصيل والأمثلة: مصمم النوافذ Form Designer ومحرر الكود Code Editor ومصحح الأخط\اء Debugger، وأوامر اللغة وصياغة الكود Syntax، ومكتبة اللغة Code Library وكل ما تحويه من أنواع Types وخصائص Properties ووسائل Methods وأحداث Events.

الكتاب مرفق مع برنامج إعداد اللغة، ويمكنكم أيضا قراءته أونلاين على موقع جوجل درايف أو تنزيله من هناك بصيغة PDF.

الخميس، 26 ديسمبر 2024

خرائط السلحفاة


 نشرت بحمد الله وتوفيقه الكتاب الرابع "خرائط السلحفاة" من سلسلة الطفل المبرمج التي أنشرها باللغة الإنجليزية على أمازن لتعليم البرمجة للأطفال من الصف الأول الابتدائي فأعلى. وبهذا استطعت بفضل الله نشر 4 كتب من هذه السلسة غي عام 2024.

هذا الكتاب الرابع مناسب لسن 9-10 سنوات للأطفال الأجانب، أما العرب فتقديري أن يزيد السن عامين أو ثلاثة لمراعاة ضعف المستوى العام في اللغة الإنجليزية والرياضيات واستخدام نظام الويندوز ولوحة المفاتيح، وإن كانت هذه السلسلة تهدف لحل هذه المشاكل بالتدريج.

بإذن الله سأشرح هذه السلسلة في الدورات الصيفية أونلاين ووجها لوجه (في مدينة الروضة دمياط) بدءا من سن 10 سنوات، وأتوقع أن يحتاج كل من الكتابين الأول والثاني على حدة إلى حصة واحدة (ساعتين)، أما الثالث والرابع فسيحتاج كل منهما منفردا إلى حصتين (4 ساعات)، لأني أقدم فيهما الهندسة المستوية للأطفال بصورة مشوقة باستخدام رسوم السلحفاة Turtle graphics، ومن خلال هذا نرسم المثلثات والأشكال الرباعية والمضلعات بأي عدد أكبر من الأضلاع كالأشكال الخماسية والسداسية... إلخ، إضافة إلى رسم الدوائر والأشكال الحلزونية، مع استخدم هذه الأشكال الأساسية لرسم أشكال مركبة وزخرفية وتلوينها.. ومن خلال كل هذا يتعود الطفل على تقدير الأبعاد والزوايا (ببساطة وبدون استخدام حساب المثلثات) وإدراك مواضع النقاط على النظام الإحداثي المتعامد، مع استخدام أوامر لغة البرمجة لتنفيذ كل هذا كالكائنات وخصائصها ووسائلها وأحداثها، والمتغيرات والمصفوفات وحلقات التكرار وجمل الشرط والإجراءات الفرعية والمعاملات.. إلخ.. إضافة إلى تصميم نوافذ تفاعلية تسمح للمستخدم باختيار خصائص الأشكال التي يريد رسمها من خلال مربعات النص وقوائم العناصر والقوائم المنسدلة والأزرار، مع قدرته على الرسم باستخدام الفأرة Mouse... إلخ.

هذه الكتب تقدم ثروة هائلة من المعلومات على مستويي الرياضيات والبرمجة، وتهدف إلى رفع مستوى الطفل عقليا ومنطقيا ورياضيا وبرمجيا، وهو ما سينعكس على مستواه في العلوم بشكل عام بإذن الله.

وقد بذلت جهدا كبيرا لتقديم كل هذا المحتوى بخطوات تدريجية صغيرة ومتتالية ومن خلال رسوم شيقة وألوان جذابة كي لا يكون الأمر صعبا أو مملا، وكنت أراجع نفسي في كل كتاب، وأزيل فصولا وأؤخرها لكتب تالية (ما زال عندي فصل كان ضمن الكتاب الثاني لم أنشره بعد، كما أن كتاب التحريك animation الذي كنت بدأت كتابته ليكون الكتاب الثاني تأجل ليصير الكتاب الخامس بعد أن رأيت عمليا في الدورات مشاكل الأطفال مع نظام الإحداثيات).

وسأحاول أن أقدم النسخة العربية من هذه السلسلة بإذن الله في الوقت المناسب، ولكن تجربتي لم تكن مبشرة مع الأطفال والأهالي والمدرسين العرب في السنوات الخمس الماضية التي كنت أشرح فيها لغة سمول بيزيك وأطورها إلى لغة سمول فيجوال بيزيك وأشرحها في قناة مخصصة لها على يوتيوب، لهذا قررت نشر اللغة والكتب بين الأجانب أولا (علما بأن منهم أكثر من 1.6 مليار مسلم غير عربي)، فللأسف العقلية العربية لا تمتلك جرأة المغامرة لتجربة أي شيء جديد، والطريقة الوحيدة لإقناعهم بجودة أي شيء هي رؤية الخواجة يستخدمه أولا!.. أعرف حتى الآن مدرسا إيطاليا واحدا يشرح هذه اللغة لتلاميذه باستخدام هذه الكتب.. ربنا يسهل!

وطبعا ينطبق نفس الكلام على الناشرين العرب أيضا، ولدي خبرات سيئة معهم منذ كنت أحاول نشر روايات الخيال العلمي ثم كتبي البرمجية العربية، مع استثناء واحد هو د. نادر الجندي، لأنه مهندس وأستاذ جامعي وليس مجرد ناشر، ولم أحتج لأكثر من 5 دقائق في أول لقاء لي معه لأقنعه بنشر كتبي، وإن كانت مشكلته الوحيدة أنه كان مختصا في الكتب الجامعية ولا يسافر لمعارض خارجية وليست له منافذ توزيع حتى مصر باستثناء مكتبته وبضع مكتبات أخرى كان يتعامل معها، وهذا حد من قدرة كتبي على الوصول لراغبيها.. لكني سأظل مدينا له بالفضل أنه الشخص الوحيد في الوطن العربي الذي اقتنع بشيء من إبداعاتي، ونشر لي 14 كتابا بعضها بطبعات مختلفة عبر 10 سنوات، فجزاه الله خيرا ومتعه بالصحة والعافية.

دعواتكم لي أن يوفقني الله في هذه التجربة، فربما أعود لكم يوما بخطة كاملة لتطوير التعليم من جذوره باستخدام البرمجة في كل المناهج، أو أجد ناشرا كبيرا يستطيع اغتنام الفرصة ودعم التجربة لتقديم هذا المحتوى مكتوبا ومرئيا بإخراج احترافي ومؤثرات جذابة لجيل عربي جديد.

ودعواتي لأبي وجدودي بالرحمة، ولأمي وإخوتي وأقاربي وكل من علموني بشكل مباشر أو تعلمت منهم بشكل غير مباشر أن يجزيهم الله خيرا ويجعل كل هذا في ميزان حسناتهم.

وأخيرا هذه ترجمة لمقدمة الكتاب الرابع "خرائط السلحفاة":

هذا هو الكتاب الرابع من سلسلة الطفل المبرمج

Small Visual Basic Kid Programmer

يأخذك هذا الكتاب في مغامرة مثيرة مع السلحفاة، لاستخدام الخريطة التي ترسمها للبحث عن الكنز الثمين وكل مكافآته القيمة:

·      الإجراءات الفرعية Subriutines.

·      المصفوفات Arrays.

·      حلقات التكرار For and ForEach loops.

·      أدوات التحكم ListBox وComboBox.

·      نافذة اختيار الألوان Color Dialog.

·      وسائل الرسم والتلوين في نافذة الرسوم.

·      أحداث وخصائص الفأرة Mouse events and properties.

·      جمل الشرط If statements.

·      إيقاف تنفيذ البرنامج لبرهة.

·      المضلعات والنجوم والدوائر والأشكال الحلزونية.

هذا كنز غني، يعزز مهاراتك في البرمجة وفهمك للرياضيات، ويعترف بك كمبرمج صاعد متمكن.

هل تشعر بالحماس؟ السلحفاة في انتظارك.. هيا بنا!

 

يحتوي الكتاب على 5 فصول:

الفصل الأول: يعلمك استخدام السلحفاة مع الإجراءات الفرعية وحلقات التكرار لرسم المضلعات المنتظمة مثل الأشكال الخماسية، والسداسية، والسباعية... إلخ. كما يعلمك رسم الدوائر والنجوم.

 

الفصل الثاني: يعلمك المصفوفات، واستخدامها لحمل خريطة من المسافات والاتجاهات وإرسالها إلى إجراء فرعي يستخدم السلحفاة لتتبع هذه الخريطة ورسم الشكل المطلوب.

كما يعلمك تطوير برنامج للسماح للمستخدم بإدخال خريطة السلحفاة باستخدام الأداتين ListBox وComboBox، ويعلمك إضافة العناصر إليهما وتعديلها وإزالتها. كما يعلمك عرض نافذة الألوان للسماح للمستخدم باختيار لون.

 

الفصل الثالث: يعلمك استخدام أحداث وخصائص الفأرة لتطوير برنامج يسمح للمستخدم بالرسم باستخدام الفأرة. كما يعلمك رسم الخطوط على نافذة الرسومات دون استخدام السلحفاة، ويعلمك استخدام جملة الشرط للتحقق من ضغط المستخدم لزر الفأرة الأيسر.

 

الفصل الرابع: يعلمك رسم المستطيلات والأشكال البيضاوية والدوائر على نافذة الرسوم، ويستخدم هذا لتطوير برنامج مثير يرسم دوائر متحدة المركز في النقطة التي النقر بالفأرة. كما يعلمك اختيار عنصر بشكل عشوائي من المصفوفة.

 

الفصل الخامس: يعلمك استخدام حلقات التكرار المتداخلة Nested loops، و لرسم الأشكال الحلزونية.

 

ينتهي كل فصل بملخص وأسئلة وتمارين، وينتهي الكتاب بخاتمة ومشروع تخرج، للتأكد من أنك قد استفدت إلى أقصى حد من المعلومات التي تعلمتها.


الأحد، 22 ديسمبر 2024

زامر الحي

 عيب يا جماعة أن يخبرني مدرس إيطالي أنه يدرس لتلاميذه لغة البرمجة التي أطورها، بينما لم يحاول مدرس مصري أو عربي واحد حتى أن يجربها!


هناك أكثر من 2000 تنزيل للغة سمول فيجوال بيزيك، وهناك أكثر من شخص مهتم بها يطلب مني حل مشاكل أو إضافة ميزات إليها في موقع GitHub الذي نشرت فيه الكود البرمجي لها، وهناك مبرمج صيني يكتب بها مكتبا كود متقدمة تتجاوز ما أنشأت اللغة من أجله.. لكن هذين التعليقين بشكل خاص رفعا معنوياتي لأنهما يتعلقان بتعليمها للأطفال الأجانب وتجاوبهم معها.

هذه ترجمة التعليق الأول:

"أري sVB لغة برمجة رائعة حقًا. قبل سنوات، كنت مبرمجًا شغوفًا بـ VB6  والآن، بفضل sVB، قد نقلت هذا الشغف إلى أبناء إخوتي. حاولت تعريفهم بـ Visual Studio لكنهم وجدوها معقدة جدًا. لكن تجاوب sVB وواجهة المستخدم السهلة الخاصة بها سمحت لهم بالدخول إلى هذا العالم بسهولة. عمل رائع محمد!"

 

وهذه ترجمة التعليق الثاني، وهو لمدرس إيطالي سألته لماذا يشتري كتبي، فكانت هذه إجابته:

"لقد استخدمت Small Visual Basic لتعريف بعض مفاهيم البرمجة الأساسية، جنبًا إلى جنب مع برنامج Scratch وقليلًا من JavaScript، لشرح الأفكار الأساسية مثل جمل الشرط واستخدام المتغيرات والواجهات الرسومية مع لغات مختلفة. طلابي في عمر حوالي 11-12 عامًا بالمدرسة المتوسطة في إيطاليا."

 

المشكلة التي لا أفهمها هي لماذا لا يهتم العرب والمصريون بهذا العمل، مع أني أنجزته خصيصى لأبنائهم، بهدف تطوير التعليم في مصر والوطن العربي؟

لماذا لا يجربها 10 مليون طفل مصري على الأقل، و30 مليون طفل عربي آخر، ويشاهدون دروسها على قناتها على يوتيوب؟!

أنا لا أهدف طبعا لجعل 40 مليون طفل عربي مبرمجين فهذا مستحيل، لكن هدفي الرئيسي رفع المستوى العام للطالب العربي، ورفع مستوى تفكيره المنطقي، وتدريبه على حل بعض المسائل الرياضية باستخدام البرمجة، طبعا كل هذا من خلال الرسوم والتحريك والألعاب وحل الفوازير كي لا يكون مملا.. وكل هذا في النهاية سيرفع مستواه في الرياضيات والعلوم والتعليم بشكل عام.

سيكون غريبا لو بدأت اللغة تنتشر في أمريكا وأوروبا في السنوات التالية، بينما لا يعرف العرب عنها شيئا!

 

الاثنين، 16 ديسمبر 2024

سلسلة الطفل المبرمج


بالنسبة لي، لغة Small Visual Basic هي أهم إنجازاتي بحمد الله.. أهدف بها إلى تعليم البرمجة للأطفال من المرحلة الابتدائية، ورفع مستواهم في الرياضيات والعلوم والتفكير المنطقي وتطوير التعليم بالتبعية.
كما أنها بوابة سهلة لتعلم فيجوال بيزيك دوت نت وسي شارب، ففي ظل هيمنة بايثون على مؤسسات التعليم حاليا، هناك خطورة على مستقبل منصة دوت نت مع قلة من يتعلمونها من الأجيال الجديدة.
* سمول فيجوال بيزيك هي حصيلة 4 سنوات من العمل لتطوير مترجم كود سمول بيزيك وأدواته إلى سمول فيجوال بيزيك وإضافة مصمم النماذج ومكتبة صغيرة لنماذج الويندوز.. الكود بالكامل منشور على GitHub.
* برنامج الإعداد مجاني وخفيف ومرفق به أكثر من 160 مثالا شيقا تغطي كل مناحي اللغة.
* سلسلة دروس مبسطة لتعليم البرمجة للأطفال والمبتدئين في قناة سمول فيجوال بيزيك على يوتيوب.. حوالي 80 فيديو حتى الآن والبقية تترى.
أكثر من 8 شهور لكتابة وتطوير المرجع الإنجليزي الكامل للغة (أكثر من 860 صفحة حتى الآن).. يمكنكم تصفحه على جوجل درايف، كما أني يأتي مع برنامج إعداد اللغة أيضا.
* ثلاثة كتب إنجليزية حتى الآن (والرابع على بداية العام الجديد بإذن الله) ضمن سلسلة sVB Kid Programmer لتعليم اللغة والبرمجة والرياضيات للأطفال من سن 6 سنوات بالتوازي مع مناهج الدراسة، بأبسط أسلوب ومحتوى ممكن.

أرجو أن يستفيد المبرمجون بالكود الأصلي للغة (فيه خبرات هائلة في تصميم الواجهات ومحرر الكود ومصمم النماذج باستخدام XAML)
وأدعو الله أن يستفيد به أطفالهم في تعلم البرمجة.
كما أدعوهم ألا يكسلوا عن المساهمة في إيصال هذا العمل الضخم لمن يستفيد به، وتشجيعي بدعوة صالحة.
أخوكم: م. محمد حمدي غانم


 

sVB is easier than Python!



 أقولها بكل جرأة: لقد جعلت لغة Small Visual Basic أسهل من Python للأطفال والمراهقين!

لقد طورت لغة سمول فيجوال بيزيك بنفسي لتكون أفضل أداة لتعليم البرمجة للأطفال:

1.   فهي تتميز بنفس بساطة لغة Microsoft Small Basic من حيث سهولة أوامر اللغة وروعة نافذة الرسوم والسلحفاة، ولكني أصلحت عيوب Small Basic التي لا تحتوي على نطاق للمتغيرات Variable Domains، ولا دوال Functions، ولا معاملات للإجراءات Subroutine parameters، ولا كائنات Objects.. لغة سمول فيجوال بيزيك تحتوي على كل هذا بجانب تحسينات إضافية لنافذة الرسوم والسلحفاة.

2.   كما أن لغة سمول فيجوال بيزيك لغة عصرية مثل VB .NET، وتستخدم بعض الصياغة الخاصة بها مثل واضع القيم المبدئية للمصفوفة Array Initializer، ويستفيد من أنماط التنسيق Styles الخاصة بلغة توصيف التطبيق XAML. لكن برغم هذا تظل سمول فيجوال بيزيك بنفس سهولة لغة Visual Basic الكلاسيكية، فهي تستخدم نفس مصمم النماذج Form Designer ونفس الآلية البسيطة لمعالجة الأحداث Event Handling.

 

لكن لماذا يمكن أن يفضل أحد سمول فيجوال بيزيك بدلاً من بايثون، وهي الأكثر شهرة وشيوعًا في الوقت الحالي؟ فلنرَ بعض الأسباب:

1.   بايثون هي لغة شاملة لمختلف الأغراض، بينما سمول فيجوال بيزيك مخصصة فقط لتطبيقات سطح المكتب وللأغراض التعليمية، ما يجعلها تركز كل طافتها على هذا الغرض لتقيدم البرمجة بأبسط صورة للطفل.. لكن هذا لا يعني أن سمول فيجوال بيزيك ليس لها مستقبل، أو أنها مجرد لعبة مسلية، فهي أسهل بوابة للعبور إلى منصة تطوير برمجية شائعة وقوية هي DotNET، وبتعلمها تكون على بعد حطوة واحدة من بيئة VS .NET. فمن السهل استخدام فهمك لأكواد سمول فيجوال بيزيك ومكتبتها ومصمم النماذج، وحتى خبراتك مع محرر الكود للانتقال إلى لغة VB .NET (وفيما بعد إلى لغة سي شارب إذا أردت).

وغير هذا، لا تعتبر سمول فيجوال بيزيك مجرد لعبة على الإطلاق، فهي تحتوي في الواقع على بعض المواضيع المتقدمة، مثل تصميم تطبيقات متعددة النوافذ، واستخدام أنماط التنسيق XAML Styles، واستخدام البرمجة متعددة المهام Mutti Threading، وإنشاء مكتبات الكود الخاصة بها.

كما تأتي سمول فيجوال بيزيك أيضًا مع مكتبة خارجية هي LitDev التي تحتوي على محرك ثلاثي الأبعاد ومحرك فيزياء، ما يسمح بإمكانيات متقدمة لا حصر لها.

 

2.   تنتمي كل من بايثون وسمول فيجوال بيزيك إلى اللغات مرنة النوع Dynamically typed، لكن سمول فيجوال بيزيك أسهل في هذا الجانب، لأنها لا يتطلب عمليات تحويل بين الأنواع كما في بايثون .

 

3.   بايثون حساسة لحالة الأحرف (ومن المدهش أن كلا من الكلمتين True وFalse تبدأ بحرف كبير في بايثون)، بينما سمول فيجوال بيزيك غير حساسة لحالة الأحرف، ومحرر الكود يضمن إعادة حروف الكلمات إلى حالتها الأصلية، وهذا يجعل تعلمها أسهل وكتابتها الكود بها أسرع.

 

4.   ترقيم القوائم في بايثون يبدأ من الخانة رقم صفر، بينما يبدأ ترقيم المصفوفات في سمول فيجوال بيزيك من افتراضيًا من الخانة رقم 1، وهذا طبيعي أكثر ويجعل تعامل الأطفال معها أسهل، ولكن لا شيء يمنعهم من استخدام الترقيم صفر أو حتى أرقام سالبة، لأن المصفوفات في سمول فيجوال بيزيك هي في الواقع قواميس، لذا فإن أرقام الخانات هي في الواقع مفاتيح نصية string keys!

 

5.   في كلتا اللغتين تتعامل الدوال المثلثية مع الزوايا بالتقدير الدائري Radian. لكن الطفل يستطيع في سمول فيجوال بيزيك تعطيل هذا السلوك لاستخدام التقدير الستيني Degrees باستخدام هذا الأمر:

Math.UseRadianAngles = False

 

6.   حلقات التكرار For loops في بايثون قد تكون مربكة بسبب عدم دخول نهاية النطاق في الاعتبار.. هذا مثلا كود بايثون الذي يطبع الأعداد عكسيا من 5 إلى 1:

for i in range(5, 0, -1):

    print(i)

بينما حلقات التكرار في سمول فيجوال بيزيك بسيطة جدا ويسهل فهمعا بمجرد النظر:

For i = 5 To 1 Step -1

    TW.WriteLine(i(

Next

7.   استخدام بايثون للمسافات البادئة لتمييز مقاطع الكود Code blooks مربك جدا للأطفال، ويجعل مقاطع الكود المتداخلة أصعب في الفهم وأكثر عرضة للأخطاء بسبب إمكانية الخطأ في عد المسافات، بينما تستخدم سمول فيجوال بيزيك كلمات أساسية لتمييز نهاية كل مقطع مثل EndIf، EndSub، وNext، ما يجعل الكود أوضح وأكثر تنظيما.. وضيق محرر الكود تلقائيًا كلمة نهاية المقطع أثناء كتابة بدايته، كما أنه يضبط المسافات البادئة للمقاطع وينسق حالة الأحرف للكلمات ويضبط المسافات بينها.. بل إنه يفرض أيضا قاعدة تسمية المتغيرات: فالمتغيرات الموضعية والمعاملات تبدأ بحروف صغيرة، بينما المتغيرات العامة والإجراءات والدوال تبدأ بحروف كبيرة.. كل هذا يضبطه محرر الكود بدون تدخل من الطفل على الإطلاق، لذا، لتسمح له سموال فيجوال بيزيك بأن يركز على منطق الكود الذي يكتبه، وليس على شكله وتنسيقه!

 

8.   وبشكل عام، فإن بيئة التطوير المتكاملة IDE الخاصة بلغة سمول فيجوال بيزيك اسهل وأقوي من فإن بيئة التطوير المتكاملة الرسمية التي تأتي مع بايثون.

 

ولأثبت كل هذا عمليا، بدأت نشرت على أمازون حتى الآن 3 كتب باللغة الإنجليزية من سلسلة كتب المبرمج الطفل بلغة سمول فيجوال بيزيك:

sVB kid Programmer

هذه الكتب تستهدف تلاميذ الصفوف الدراسية من أولى ابتدائي إلى 6 ابتدائي، وستستمر السلسلة بإذن الله باسم مختلف للمرحلتين الإعدادية والثانوية.

هذه الكتب ليست فقط لتعليم البرمجة للأطفال، بل لتعزيز مهاراتهم في الرياضيات، والعلوم فيما بعد أيضًا (باستخدام محرك الفيزياء من مكتبة LitDev).

أرجو أن تدعموا لغة ـسمول فيجوال بيزيك بتقديمها للأطفال.. على الأقل جربوها، فهي لغة مجانية وعند تثبيتها على الجهاز يأتي معها أكثر من 160 مثال ممتع، وكذلك المرجعي الأجنبي الكامل للغة بصيغة PDF، كما أني أشرحها للأطفال العرب على قناة يوتيوب خاصة بها، تحتوي حاليا على جوالي 80 درس بمتوسط 10 دقائق لكل منها، وهناك المزيد بإذن الله.

لا تنسوني من دعواتكم وتشجيعكم.

 

الكتاب الثالث من سلسلة المبرمج الطفل


 بحمد لله وفضله وتوفيقه، نشرت للتو على أمازون كتاب: المدخل البرمجي للهندسة المستوية للإخوة مدرسي الرياضيات والحاسب الآلي

ماذا؟.. لا لا لا.. أقصد: كتاب مرحبا بالسلحفاة Hi Turtle لطلبة الصف الثالث الابتدائي!

ما هذه اللخبطة؟.. لحظة حتى نفهم:

لو شئت، يمكنك اعتباره كتابا في الهندسة المستوية Geometry، لكنه متنكر في ثوب كتاب برمجي، لكي لا يبدو مخيفا!

نعم هو كتاب رياضيات زاخر بالمعلومات عن الأشكال الهندسية كالمثلث بأنواعه المختلفة، والمضلعات رباعية الشكل كالمربع والمستطيل ومتوازي الأضلاع والمعين وشبه المنحرف وحتى الشكل الرباعي المتقاطع والشكل الرباعي غير المنتظم.. لكنه يستخدم السلحفاة لرسم وتلوين هذه الأشكال بأكواد برمجية في منتهى البساطة، بالاعتماد على خصائص أضلاعها وزواياها!

كل هذا في مئة صفحة فقط، مليئة بالرسوم والأمثلة والأسئلة والتدريبات التي تبدو كتحديات صغيرة شيقة لاستثمار ما تعلمه الطفل في رسم أشكال مركبة من بعض الأشكال الأساسية.. فمثلا، الفصل الأخير يعلم الطفل كيف يرسم بالسلحفاة هرما من صفوف المربعات، ويلون كلا منها بلون عشوائي.. وفي التدريب على هذا الفصل سألته أن يعيد نفس البرنامج لكن باستخدام المثلثات بدلا من المربعات.

ولكن لماذا السلحفاة؟

السلحفاة أسهل أداة لتعليم البرمجة والرسوم منذ ظهرت في لغة لوجو عام 1967.. فهذه السلحفاة ترسم خطا وهي تمشي للأمام، ويمكنها أن تدور يمينا ويسارا بالزاوية التي نريدها.. وبتكرار هذين الأمرين البسيطين يمكن رسم أشكال مدهشة بسيطة أو حتى معقدة لو شئت.. وستجدون على صفحاتي أمثلة استخدمت فيها السلحفاة لرسم زهور وفراشات وأرابيسك وأشكال مبهرة.. كل هذا بأكواد مختصرة، لكنها تعتمد على قدرة الحاسوب على التكرار بلا كلل أو ملل.

أهمية هذا الأمر للطفل لا تكمن فقط في جاذبية الأشكال والألوان، ولكن أيضا في أنها تسمح بتعليمه رسم الأشكال الهندسية بدون اللجوء إلى حساب المثلثات Trigonometry والدخول في متاهات التربيع والجذر وفيثاغورث والجيب وجيب التمام التي لا تناسب سنه ومعلوماته!.. وإن كانت السلحفاة قادرة على صنع المعجزات حينما نضيف إليها قوة حساب المثلثات في مراحل لاحقة.

مع السلحفاة، يمكن أن يألف الطفل أوامر لغة البرمجة واستخدام الأبعاد والاتجاهات والزوايا، لأنه يظن أنه يلعب ويركز على ما ترسمه السلحفاة له، ويستمتع بالتحدي في إنجاز المطلوب.

وقد مهدت للأمر بنبذة عن الزوايا، والسبب الفلكي التاريخي وراء تقسيم تدريج المنقلة إلى 360 درجة، لأن أحد مشاكل مناهج التعليم هو الاختصار المخل الذي يفرغها من تاريخ العلم وفلسفة العلم، بل وحتى تطبيق العلم!

والحقيقة أنني كنت أحتاج لتأسيس هذه الأرضية، فمن خلال تعاملي مع الطلبة من سن 10 إلى 16 في دورات البرمجة، رأيتهم يعانون مع أمثلة التحريك Animation والألعاب البسيطة الشيقة التي حاولت شرحها لهم، لأنهم عاجزون عن تخيل النظام الإحداثي عمليا رغم دراستهم له، وهكذا كان مجرد تحريك كرة أو سيارة على الشاشة يبدو أمرا معقدا جدا بالنسبة لهم، خاصة عند وصول الشكل إلى حافة النافذة وارتداده عنها أو اصطدامه بشكل آخر!.. مع أني كنت أمهد تصاعديا  لهذه النقطة عبر حصص كثيرة، لكن يظل أغلب الطلبة عاجزين عن الاستيعاب، لأن الرياضيات بالنسبة لهم أمر نظري تماما متعلق بمعلومات توضع في ورقة الامتحان ولا علاقة لها بالواقع، وبالتالي عقولهم غير مدربة على استيعابها وتطبيقها خارج الورقة بشكل آخر غير ما حفظوه.

والنتيجة المؤسفة أن الطالب سيظل محصورا في هذا الجب طوال سنوات الدراسة.. حتى طلبة الحاسبات والمعلومات الذين شرحت لهم، وجدتهم يعانون نفس المشاكل مع الأمثلة الرياضية البسيطة التي تقدم لهم على الشاشة السوداء في منهج مقدمة البرمجة، والتي لا تزيد عن كونها تطبيقا لما درسوه في الرياضيات في المرحلة الثانوية! والسبب في هذا مزيج من ضعف مستواهم في اللغة الإنجليزية والرياضيات واستخدام نظام الويندوز والكتابة على لوحة المفاتيح!

وتغيير كل هذا يحتاج إلى تأسيس وتدريب طويل من سن أصغر، لتشكيل الصلصال في أمثل صورة قبل أن يجف.. وهذا ما أحاول أن أفعله، بجعل البرمجة تسير جنبا إلى جنب مع مناهج المدرسة من الصفوف الأولى.

ولن أيأس أبدا من انتظار اليوم الذي يقرر فيه أصدقائي مدرسو الرياضيات والحاسب الآلي تعلم البرمجة، للخروج من صندوق المدرسة، وتقديم مثل هذا المحتوى لتلاميذهم في الدروس الخصوصية، بدلا من استمرار طاحونة التلخيص والحفظ والتسميع ولم درجات مجوفة من الفائدة.. هذه الطاحونة التي صدعتنا جعجعتها بدون طحين!

ولا يفهم أحد من هذا أنني ضد مناهج التعليم.. على العكس، أنا أحاول باستماتة أن أقنع الأطفال بأنها مدخلهم للبرمجة، وأرفض أي طفل يريد أن أشرح له دورة برمجة أثناء الدراسة، لأن المناهج التي يدرسها جزء من البرمجة وعليه أن يجيدها أولا لأستطيع أن أواصل معه.. لكني بدأت مؤخرا أفكر في عمل دورات أشرح فيها مناهج الرياضيات والعلوم باستخدام البرمجة، إلى أن يتكرم الإخوة المدرسون بإراحتي من هذا العبء!

بالمناسبة: وأنا أجهز لهذا الكتاب، وجدت أن محتوى منهج الرياضات للصف الثالث الابتدائي في مصر هو نفسه تقريبا في الولايات المتحدة.. نحن لا نعاني من مشكلة في المنهج.. نحن نعاني من طريقة شرحه للتلاميذ!.. وهذا ما أحاول أن أدلي بدلوي فيه من جهتي كمبرمج ومهندس.. لكن بالتأكيد ليست هذه هي الطريقة الوحيدة، وعلى كل منا أن يبدع في ابتكار طرق لتطبيق المناهج الدراسية في مجال تخصصه لشد الأطفال إليه.

وهكذا وجدت أن ما بدأته يوما كفيديوهات لشرح لغة سمول بيزيك للأطفال، قد زج بي إلى تطوير لغة برمجة أسميتها سمول فيجوال بيزيك، ثم انتهى بي إلى محاولة وضع مناهج دراسية رياضية برمجية بنفسي!

وقد نشرت حتى الآن بحمد الله ثلاثة كتب في سلسلة "الطفل المبرمج بلغة سمول فيجوال بيزيك":

Small Visual Basic Kid Programmer

وهي سلسلة أكتبها لتعليم البرمجة للأطفال باللغة الإنجليزية، أما الأطفال العرب فقد خصصت لهم قناة على يوتيوب، نشرت فيها حاليا حوالي 80 فيديو (بمتوسط 10 دقائق) وما زلت أواصل النشر.. وبإذن الله سأقدم الكتب العربية يوما ما، حينما تختمر التجربة وتتوفر الظروف الملائمة.. فللأسف ما زلت أعاني من التهميش والتجاهل على جميع المستويات!

لا تبخلوا علي بالدعوات الصادقة بالتوفيق لإكمال هذا المشروع، وأن يستفيد الأطفال والمبتدئون بهذا العمل، ويهتم به الأهالي ومدرسو الحاسب والرياضيات، فهو حصيلة 4 سنوات ونصف متواصلة من البرمجة والشرح والكتابة والدورات، غيرت فيها طريقي وطريقتي أكثر من مرة، في محاولة لاكتشاف أفضل أسلوب للتواصل مع الأطفال برمجيا، واستخدام البرمجة لرفع مستواهم في التعليم بشكل عام، والرياضيات بشكل خاص.. وما زالت أستكشف وأتعلم، وبإذن الله سأجرب في الصيف القادم طريقة جديدة للدورات، لجعل الدورة حصة واحدة أسبوعيا على امتداد شهور الصيف، لأعطي للطفل فرصة للاستيعاب بدون ضغط، ولأستطيع أن أستخدم فيها الخبرات التي اكتسبتها وأنا أكتب هذه السلسلة، فقد كان من المهم أن أعيد ترتيب تفكيري والخطوات التي أستطيع بها تقديم البرمجة للطفل، لتتناسب مع حصيلته العلمية والرياضية، وتناسب نضجه العقلي.. هذا الموضوع ذو أهمية قصوى بالنسبة لي، فبدون أن يهتم الأطفال بالتعليم ويحبوا الرياضيات والعلوم، فلا أمل في المستقبل.. وأظن أنني أعرف كيف يمكن أن تساهم البرمجة في حل ألغاز المناهج، وجعل الطفل يدرك أهميتها ويستمتع بتطبيقها رقميا.. لكن الأمر يحتاج للكثير من العمل.. لهذا سألتكم الدعاء.

هذه ترجمة لمقدمة الكتاب:

لغة Small Visual Basic هي لغة تعليمية سهلة وممتعة، ويهدف هذا الكتاب إلى إثبات هذا باستخدام رسوم السلحفاة Turtle Graphics لتقديم محتوى هندسي بسيط وغني لطلاب الصف الثالث الابتدائي ومن هم أكبر.

إن برامج السلحفاة متشابهة وتستخدم في الغالب أمري التحرك Move والدوران Turn. ويمكن أن يساعد هذا التكرار الأطفال في حفظ صيغ البرمجة، والتعود على استدعاء الدوال، وتمرير المعاملات، وقراءة الخصائص، وتخزين القيم في المتغيرات، إضافة إلى الألفة في التعامل مع المسافات والزوايا في نظام الإحداثيات.

 

كما يقدم الكتاب بعض المهارات البرمجية الجديدة مثل:

·      تغيير الألوان من خلال الكود.

·      تعريف الإجراءات الفرعية subroutines والمعاملات parameters.

·      استدعاء الإجراءات الفرعية وتمرير القيم إليها.

·      استخدام حلقات التكرار Loops لتكرار تنفيذ الأكواد.

 

وعلاوة على ذلك، يهدف الكتاب إلى تعزيز مهارات الطلاب في الرياضيات من خلال:

·      تقديم بعض أساسيات الهندسة المستوية، مثل حساب المحيط والمساحة للمربعات والمستطيلات والدوائر.

·      فهم أولويات العمليات الحسابية.

·      تقديم الخصائص الأساسية لبعض المضلعات، مثل المثلثات والأشكال الرباعية بأنواعها المختلفة.

·      رسم أكثر من 20 شكلاً هندسياً مختلفاً بتحريك وتدوير السلحفاة فقط، دون الحاجة إلى أي حسابات مثلثية.

·      توليد أرقام وألوان عشوائية، واستخدامها في تطبيقات ممتعة.

·      تقريب الأعداد العشرية.

·      تحويل الأطوال المقاسة على الشاشة من البكسل إلى السنتيمتر.

 

بالرغم من صغر حجم هذا الكتاب (103 صفحة)، هناك الكثير من المتعة التي سيجعلك تعيشها في صحبة السلحفاة، والكثير من المعرفة الهندسية التي سيضيفها إليك.

فماذا تنتظر؟

صفحة الشاعر