‏إظهار الرسائل ذات التسميات computational-thinking. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات computational-thinking. إظهار كافة الرسائل

الثلاثاء، 21 أكتوبر 2025

السنن الكونية (2): كل شيء حسابات

( هذا المقال يعتبر "الرأي المقابل" أو "الوجه الآخر للعملة" لمقال سابق هو "النهضة بين التصوير والمنطق".)

 يسير الكون بعمليات حسابية.

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

 ونحن حين نفكّر نحاول أن نسبق الكون في حساباته على أمل أن نتحكم أو نؤثر في النتيجة النهائية. لو حاولت ان ترمي الكرة نحو السلّة، فإنك تحاول ان تحسب "ماذا ستفعل قوانين الطبيعة بالكرة؟" قبل ان يحدث هذا فعلا.. وآلة الحساب هي تدريب الرمي الذي تدربته قبل ذلك -- هذا التدريب قد ترك ارقاما في جهازك العصبي وهذه الارقام تقوم بعمل simulation للرمية قبل ان تحدث، 

وبهذا الsimulation يقوم جهازك العصبي بعمل حسابات عكسية ايضاً: تبدأ بالنتيجة المطلوبة ،وهي أن تسقط الكرة في السلة، وتنتهي بالرمية الصحيحة التي تؤدي لهذه النتيجة، أي أنك تستطيع تفعيل قوانين الطبيعة بالعكس في حساباتك!

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

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

 وكل شيء يمكن تسميته تفكيراً يمكن في رأيي تسميته حسابات. وسوف أظهر لك هذا بأمثلة كثيرة:

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

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

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

 لكن كيف يمكن لأنسان أن يتوقع كيف سيرد شخص آخر؟ نحن نتوقع هذا لأن الطرف الآخر هو الآخر يحسب حسابات بناءً على كلامنا، فلو عرفنا كيف يحسب هذا لأمكننا أن نسبقه في حساباته.

وبشكل عام فإن أي مجال يشتمل تخاطباً مع البشر، مثل التسويق، التأليف، الصحافة، الخ، يشتمل حسابات في صورة "كيف سيشعر الشخص لو قرأ أو سمع أو عرف كذا" 

(ربما لهذا أنا شخص قليل الكاريزما؛ لأن 'المعادلات' التي احسب بها مختلفة عن معظم الناس، وبالتالي حساباتي خاطئة فأقول شيئا احسبه سيسرّهم لكن يضايقهم)

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

وكثير من التفكير لا يبدو كحسابات لأننا نقوم به تلقائيا أو فطرياً، فأنت حين تتحدث مع خالك فإنك لا تمسك بورقة وقلم وتحسب بل أنك..تتحدث! هنا يأتي دور علم الـcomputer science، وهو في رأيي علم كل خطوة له يحول التفكير الفطري إلى حسابات رياضية.
 
  حساب مرتبات الموظفين » لعب الشطرنج »» الرسم »» التعرف على الوجوه »» حركات الروبوت »» التخاطب البشري
 
في كل خطوة من هؤلاء تحول شيء كنا نظنه "تفكيراً" فإذا هو..حسابات رياضية
 
أما البرمجة فجزء كبير منها هو فكرة "الحسابات العكسية" أو "التفكير بالعكس"، تبدأ بتخيل البرنامج النهائي كيف تريده أن يعمل، وتنتهي بالكود التي تجعله يعمل كما تخيلت، وقوانين الطبيعة هنا هي قواعد لغة البرمجة التي تستخدمها...لكن تنبٌه! الكمبيوتر ساينس يحول كل أنواع التفكير إلى حسابات، وبالتالي قواعد لغة البرمجة هذه تصلح لأن تحاكي 'قوانين الطبيعة' أو 'المعادلات' في أي مجال آخر
 
وأي مجال لم تصل له الكمبيوتر ساينس (أي أنه مازال "حسابات تلقائية أو فطرية") أرى أنه يمكن ان يتحول إلى حسابات حقيقية في وقت ما، وأن الإنسانية ستستفيد حين يحدث هذا، ويتحول العلم من شيء غامض نفعله تلقائيا بدون أن نفهمه تماماً إلى معادلات يمكن ان نطبق عليها كل ما نعرفه عن الحوسبة، وتصير الكمبيوتر ساينس هي "علم التفكير" او "علم التفكير كحسابات" الذي يربط بين كل العلوم الأخرى 
 
أو بمعنىً آخر..علّموا الأطفال البرمجة 

الجمعة، 28 سبتمبر 2012

المستقبل للحوسبة

في كاليفورنيا، تم السماح قانونياً بتسيير السيارة التي تقود نفسها. هل هي سيارة حقاً؟ هي مليئة بأجهزة الرادار، الكاميرات، GPS، والقائد الذي يتعامل مع كل هذه الإشارات، يفسر الصور ويخطط للرحلة ويرسل الأوامر للسيارة، هو في النهاية برامج. هو algorithms. هو حوسبة. ما نسميه سيارة يسميه آخرون كمبيوتر على عجلات. والتحدي الأكبر في صنع السيارة لم يكن الجزء الميكانيكي، بل الـAI, Computer Vision, ...الخ

ماذا عن السيارات "المملة" التي يقودها إنسان؟ مليئة هي الأخرى بالحوسبيات. يقول هذا المقال أن بعض السيارات المرسيدس الحديثة بها حوالي 100 معالج دقيق، ويتحدث بالتفصيل في هذا الموضوع.

فلنترك العملي ونذهب للنظري: نظرية الألوان الأربعة Four color theorem لم يكن من السهل إثباتها بالورقة والقلم مثل النظريات الرياضية التقليدية، بل تم الاستعانة بالكمبيوتر في إثباتها (اختزال كل الحالات إلى بضعة آلاف من الحالات الخاصة، ثم التأكد بالكمبيوتر أن كل من هذه الحالات الخاصة يمكن تلوينها بأربعة ألوان). هنا لم يكن الكمبيوتر يقوم بدور "IT"، بل بدور بحثي علمي صرف.

ماذا عن الروبوتات؟ هذا الروبوت الذي صممته تويوتا، هل تظنه مجرد أجزاء ميكانيكية مترابطة، تم تجميعها بمفك؟ لو كنت مبرمجياً لأتى على بالك كمية البرمجة المطلوبة ليعمل مثل هذا الجهاز مثلما تراه يعمل.

وسوف يكون للروبوتات دور كبير عسكري. هل لعبت ألعاباً استراتيجية مثل Red Alert أو Age of empires؟ الآن تخيل لو كان الذكاء الاصطناعي الخاص بهذه الألعاب قد ارتفع مستواه كثيراً، وصار يتحكم في "وحدات" حقيقية. جيش من بضع عشرات من الآليين يفكرون كأنهم عقل واحد ينفذون خطة مشتركة. من سيبرمج هذا؟

لاحظ أن مصطلح الحوسبية ليس معناه "اخبرني نتيجة 5+12" فحسب. بل إن كل ما يلي جزء من الحوسبة:
  • برنامج يأخذ صورة ويضع دائرة حول كل الوجوه البشرية فيها.
  • برنامج يخطط أفضل مسار للسيارة للوصول إلى شارع معين.
  • برنامج يأخذ وصفاً للوحداث العسكرية المتاحة والبيئة المحيطة ويقدم خطة حربية.
  • برنامج يأخذ بيانات المبيعات للعشر سنين الماضية ويقدم نصائح لخطط تسويقية أفضل.
  • برنامج يأخذ خريطة للموائد في قاعة الاحتفالات، وقائمة للمدعوين والعلاقات بينهم [صداقة، أسرية] ويقدم خطة مثلى لتوزيع المدعوين على الموائد.

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

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

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

السبت، 18 أغسطس 2012

كلها برمجة. كلها لغات.

لو كنت ممن يقرأون هذه المدونة منذ فترة، لعلمت أنني في طفولتي كنت أتمنى أن أكون مخترعاً. ثم كبرت وصرت مبرمجاً.

وماهي البرمجة؟
  • أنت تكتب برنامجاً لتحقيق هدف ما، برنامج حسابات، لعبة، بحث علمي...
  • وهذا البرنامج تكتبه بلغة لها قواعد، syntax. هذه القواعد غالباً عبارة عن مكونات بدائية (أقواس، كلمات محجوزة) وطرق مفصّلة محددة لتركيب هذه المكونات.
  • هناك قواعد أخرى لطريقة تنفيذ البرنامج، semantics.
  • ويأتي في النهاية مفسّر، interpreter، يأخذ البرنامج وينفذه.
وما هو الاختراع؟
  • أنت تصنع تركيباً فيزيائياً لتحقيق هدف ما، اختراع يسير بك، ينقل الصورة عبر الأثير، يرش الأطفال به الماء على أصدقائهم...
  • وهذا التركيب محكوم بقيود فيزيائية معينة: الوزن والحجم والtopology في ثلاثة أبعاد مكانية. كما أن الاختراع من مكونات بدائية: (سوست، سيور، خراطيم).
  • وحين تقوم بتشغيل اختراعك، فإنه هناك قواعد معينة تحكم عمله: المجال المغناطيسي يولّد حركة عند مرور تيار كهربائي؛ البخار يتمدد ويولّد ضغطاً..هذه القواعد نطلق عليها اصطلاحاً قوانين الطبيعة ويدرسها العلماء كل يوم.
  • و"الكون" نفسه يقوم بدور المفسر الذي ينفّذ برنامجك - أقصد اختراعك.
(على الأقل أمنية من أماني الطفولة قد تحققت.)

ولو كان الاختراع برمجة، فما هي خصائص لغة البرمجة التي يتم بها الاختراع؟ وما خصائص بيئة التطوير IDE؟

أولاً، هي لغة dynamic تشبه نوعاً ما Smalltalk. انت تقوم بكتابة البرنامج في نفس بيئة تنفيذه، وفي ظروف معينة قد تكون تعدّل فيه بينما هو ينفّذ.

ثانياً، قواعد الـsyntax هي نفسها قواعد الـsemantics، وإن كان هناك شيء من الفصل الفكري بينها: بينما تقوم بتركيب السيارة تفكر في جزء من قوانين الطبيعة مختلف عن الجزء الذي تفكر فيه بينما هي تعمل. أحياناً تكون هناك أجزاء مشتركة.

ثالثاً، هناك شيء يشبه الـtype checking: الصواميل التي لا تتركب إلا مع مسامير من نوع مطابق، الـdimensional analysis في الفيزياء، ...الخ. مثل المبرمجين، يحاول المخترعون تقليل الأخطاء وتسهيل الحياة على أنفسهم.

رابعاً، البرمجة في الاختراع تبدو متوازية أكثر من البرمجة المعتادة.

وهل هذه قضية فلسفية بحتة؟ لا، بل هذه قضية تفكير حوسبي؛ مما يجعلها أمراً عملياً جداً، مرتبط بالتطور التكنولوجي وتطوير التعليم، وبالنهضة، كما وعدناكم دائماً :)

لو أمكننا تكويد بعض أنواع الاختراع في لغات نصية مثل لغات البرمجة، لأمكننا عمل IDEs لها، تقوم بعمل model checking للتأكد من خلو الاختراع من بعض الاخطاء التي يمكن الكشف عنها بسهولة.

ولأمكننا عمل libraries جاهزة بطريقة اوتوماتيكية بدلاً من التفتيش وسط التصميمات السابقة، ولأمكننا التفكير في الاختراعات على مستوى أعلى حين نقدم الـabstractions المعروفة في البرمجة: تخيل أن يكون لديك abstraction مثل "مانع لتسرب الحرارة" ثم يأتي compiler ويقوم بتحويل هذه الفكرة عالية المستوى إلى فلاتر وعوازل وقياسات.

ويمكن تطبيق refactoring واستبدال مكونات ابسط بمكونات معقدة.

ولم اذكر حتى الـsimulation، فهو بديهي.

ولم أذكر الجوانب التعليمية.

و...و...أفكار لا تنتهي، فقط تنتظر المجتمع الذي يمسك بها وينهض.

في الواقع هناك أدوات برمجة من هذا النوع: Labview، برامج CAD/CAM، لكن لا اظن ان الفكرة منتشرة جداً ان هذه الأدوات مثل لغات البرمجة، وتطبيق تكنولوجياً الـcompilers, programming language theory, IDE عليها.

كلما تأملت في التفكير الحوسبي شعرت أكثر وأكثر أن علوم لغات البرمجة لها دور كبير فيه..

الأربعاء، 21 مارس 2012

تطبيق التفكير الحوسبي عملياً: المجال التعليمي

كان المقال السابق امثلة عن تطبيق الفكرة في مجالات متنوعة، لكن هذا المقال الجديد عن تطبيقه في التعليم، ولتكن نظرة اكثر تعمقاً وتفصيلاً في هذا المجال بالذات.

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

التعليم قبل الجامعي

تهدف الفكرة لتغيير الخارطة التعليمية بحيث تكون علوم الحاسب - وليس بالضرورة البرمجة - جزءاً من المنهج الرياضي في الاعدادي والثانوي مثلها مثل اخواتها مباديء الرياضيات الحديثة الأخرى (المجموعات، الإحصاء...). هناك ابحاث حاليا تجري في تقريب علوم الحاسب للاطفال لهذا السبب يقوم بها اطراف من MIT، CS Unplugged، وغيرهم.

إذا تم وضع ذلك الاساس يمكن تطوير المناهج ذاتها لتكون مثل البناء الموضوع على اساس رياضي قوي. مثل ذلك:

- تحويل البراهين الهندسية إلى عملية state space search أو مثل ذلك من التقنيات الموجودة في الذكاء الاصطناعي.

- تحويل تعلم اللغات العربية/الانجليزية/...الخ إلى شيء مبني على فكرة syntax, semantics من اللغويات الحوسبية.

- استخدام افكار simulation في شرح الفيزياء.

- استخدام افكار من الdebugging لاضافة اجزاء للمناهج على غرار "كيف اعرف ان عملي ليس خطأ"، مثل التأكد من نتائج تجربة العلوم او انني لم انس شيئا في حل مسألة الجبر...الخ

- يمكن استخدام هياكل البيانات مثل lists, graphs, trees في تدريس كل العلوم تقريبا، بل أيضا كوسائل للمذاكرة وتجميع الافكار. مثلاً: الاسناد في علم الحديث في صورة Graph، او تجارب التعرف على المواد الكيماوية في صورة decision tree.

- تصنيف فصائل الكائنات الحية في شجرة تشبه class hierarchy المستخدمة في البرمجة الشيئية OOP.

- استخدام البرمجة كوسيلة للتعبير الفني، بحيث يكون هناك حصص رسم ثلاثي الابعاد او رسم متحرك مثلا مع حصص الرسم العادية.

- هناك ايضا وسائل حوسبية في المواد الادبية مثل التاريخ..علم الاجتماع، الخ. لا يزال البحث فيها جارياً.

التعليم الجامعي

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

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

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

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

ارجو ان تكون الفقرات السابقة قد ساهمت أن تكون نتائج التفكير الحوسبي اقرب للواقع وابعد عن الافكار العلمية المجردة.

تطبيق التفكير الحوسبي عملياً: فكرة عامة

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

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

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

اما على المدى الاقرب، فيمكن الحديث عن اثار ايجابية في التعليم، البحث العلمي، الاقتصاد، والحياة العامة.

من الامثلة على التعليم والبحث العلمي:

  • تحديث علم النحو العربي بربطه بعلوم computational linguistics، وكذلك تحديث تدريسه في المدارس. مثل ذلك الهندسة، الفيزياء..الخ
  • انواع جديدة من الابحاث الطبية تعتمد على التكامل بين علوم الحاسب والطب، مثلا استخدام الشبكات العصبية في فهم كيفية تعلم الاطفال الرضع للكلام، المشي،...الخ او العكس: استخدام العلوم الطبية في تعليم الاجهزة ما يشبه هذه المهارات.
  • تحديث دراسة وتطوير القوانين عن طريق الاستفادة من العلوم المكتسبة من الذكاء الاصطناعي من rule based systems...الخ. لا اتحدث فقط عن استخدام نظم برمجية في المجال القانوني يصنعها مبرمجون -- اتحدث عن استخدام طلبة وخريجي الكليات القانونية انفسهم لهذه الطرق لتسهيل الدراسة والممارسة مثلما استخدم الجبر قديما في شرح وتطبيق المواريث مثلاً.

من الامثلة على الاقتصاد:
  • تحديث الصناعة، لأن المصنوعات الحديثة دائما لها نصف برمجي، والسيارة Toyota Prius مثلا بها شغل software اخذ نسبة كبيرة من المجهود المبذول فيها تضاهي الجانب الهندسي.
  • ظهور انواع جديدة من الشركات، مثل شركات اجهزة طبية تعتمد على جهاز الموبايل + sensors، أو شركات لعب اطفال تستخدم الrobotics، وهكذاً. القصد انه حين يعرف المجتمع كله علوم الحاسب تكون هذه الشركات كثيرة ومعتادة وليس "فلتات" كما نرى الآن.

من الامثلة في الحياة العامة:
  • رفع الكفاءة في ادارة الشركات، أو حتى في الحياة اليومية، بسبب معرفة الكثيرين لتقنية Algorithm analysis وتطبيقها.
  • ارتفاع قدرة الناس على تنظيم افكارهم حين يعلمون trees, lists, graphs...الخ، إن فكرة الmind map بقدر ما فيها من فائدة ما هي إلا محاولة تقريب الgraphs لعموم الناس.

هذه فكرة مختصرة راعيت فيها التنوع اكثر من التفصيل. في الجزء الثاني نركز بالتفصيل في جانب واحد: التعليم.

الأربعاء، 11 يناير 2012

التفكير الحوسبي: مفتاح لنهضة علمية عربية

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

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

قبل ان اقول ماذا اقترح القيام به في هذا المجال، سآخذكم في جولة عبر ما يفعله الآخرون في العالم الغربي في هذا المجال. الفقرة القادمة من ورقة بحثية بعنوان"Computational thinking: What and why"

At Carnegie Mellon, computational thinking is everywhere. [...]
We have programs in computer music, and in computation, organizations, and society. We have joint programs between computer science and other disciplines, e.g.,
  • Algorithms, combinatorics, and optimization (computer science & mathematics, business)
  • Computer science and arts
  • Entertainment technology (computer science & drama)
  • Human-computer interaction (computer science & design, psychology)
  • Language technologies (computer science and linguistics)
  • Logic and computation (computer science and philosophy)
  • Pure and applied logic (computer science & math, philosophy)
  • Robotics (computer science & electrical and computer engineering, mechanical engineering)."
يعني باختصار، جامعة كارنجي ميلون (على سبيل المثال) يبحثون في كل المجالات العلمية في كل الكليات: اللغويات والفلسفة والأعمال والهندسة و...و...كيف يمكن حوسبتها؟
تعالوا الآن ننظر للشركات والمؤسسات الحكومية الأمريكية والبريطانية كيف تمول هذه المشاريع
  • On May 29,2009 an event about computational thinking was sponsored by ACM, CRA, CSTA, IEEE, Microsoft, NCWIT, NSF, and SWE...
  • CSEdWeek is sponsored by ABI, ACM, BHEF, CRA, CSTA, Dot Diva, Google, Globaloria, Intel, Microsoft, NCWIT, NSF, SAS, and Upsilon Pi Epsilon
  • In August 2010, the British Royal Society announced that it is leading an 18-month project to look “at the way that computing is taught in schools, with support from 24 organisations from across the computing community including learned societies, professional bodies, universities, and industry” (http://royalsociety.org/Education-Policy/Projects/).
من هذه الأمثلة يتضح أن فئات المجتمع كلها، من شركات ومؤسسات حكومية وعلمية، يركضون حتى يصدم بعضهم بعضاً لتمويل مثل هذه الأنشطة.
ألم يأت دورنا نحن؟ سأقول لكم الآن الخطة التي لدي؛
المشروع هو مركز ابحاث لدعم نشر التفكير الحوسبي في مصر والعالم العربي، يقوم بنشاطات مثل الآتي:
  • التعاون مع طلبة الماجستير والدكتوراه في المجالات الحوسبية أو التعليمية أو العلمية، لبحث تطوير تدريس علوم الحاسب أو تطبيق علوم الحاسب على العلوم الأخرى
  • التعاون مع الاساتذة الجامعيين أو المدارس في تجربة تطبيق علوم الحاسب في المناهج التي يدرسونها
  • استخدام منهج البحث العلمي (أي عمل افتراضية ومحاولة اثباتها أو نفيها بتجربة) في تطوير مناهج تعليم البرمجة لتلاميذ المدارس، وذلك عن طريق التجربة مع اطفال حقيقيين
  • عمل الندوات في الجامعات، المؤتمرات، والاماكن العامة (مثل ساقية الصاوي) لتعريف المجتمع بأهمية التفكير الحوسبي
  • السعي لتطوير مناهج جاهزة يمكن استخدامها بالمدارس في مصر وخارجها
  • تطوير لغات برمجة جديدة، العاب الكترونية يمكن برمجتها، وغير ذلك من وسائل التعليم المتطورة المخصصة للأطفال
المركز سيبدأ صغيراً ويكبر مع الوقت، وسيقوم بجزء بحثي وجزء توجيهي، أي أنه سيقوم بجزء من البحث الكلي، بينما لكن ينبغي أن يشارك المجتمع كله بجامعاته ومؤسساته بعد ان تبدأ الفكرة في الانتشار.
هذه الفكرة اسعى لها منذ مدة طويلة، كما يتضح من اول تدوينة لي في هذا الموضوع، انها كانت عام 2009
http://iamsamy.blogspot.com/2009/04/blog-post.html
وقد قمت بخطوات فعلية في هذا الموضوع، مثل تصميم وتنفيذ لغة "كلمات" لتعليم الأطفال البرمجة:
http://www.kalimat-lang.com
ومدونة "التفكير الحوسبي في مصر"
http://ctegypt.blogspot.com
وهذه روابط للمزيد من المعلومات
The Official Project Proposal:

Presentation (research-oriented) about CT and Egypt:
Computational thinking: why and how (Paper)

مقال بالتفصيل يجيب عن السؤال: كيف يمكن للتفكير الحوسبي أن يغير العلم
بالانجليزية:
http://ctegypt.blogspot.com/2011/12/computational-thinking-why-is-it-that.html

بالعربية:
 http://iamsamy.blogspot.com/2011/12/blog-post_27.html

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

الثلاثاء، 27 ديسمبر 2011

التفكير الحوسبي: هل سيغير العلم حقا؟

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

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

هذا المقال هو مجموعة من الأفكار حاولت تجميعها لأفسر للقاريء - خاصة خارج المجال - أهمية هذا العلم.

تفاصيل بلا التباس

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

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

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

لغة مشتركة بين العلوم

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

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

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

لم يبق لنا إذاً سوى استخدام علوم الحاسب لوصف والتفاهم حول هذه المجالات بيننا وبين انفسنا، وليس فقط بيننا وبين الآلة.

لغة لوصف العمليات السارية

تشبه البرامج خطة أو وصفة كوصفات الطهي يأخذها الكمبيوتر وينفذها (ولكن ليس منفذها بالضرورة آلة، قد ينفذها إنسان أو فريق من البشر).

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

وسيلة للتفكير في الكفاءة بطريقة علمية منظمة

يهتم علماء الحاسب كثيراً بالكفاءة، فهم يريدون للبرامج أن تحل المشكلة المطلوبة في أقل عدد من الخطوات وبأقل موارد ممكنة. ومن أجل هذا فقد طوروا علوما راقية وفنوناً.

اخترعوا مثلاً مقاييس رياضية مثل time complexity ليمكن بها المقارنة بين كفاءة وسيلتين لحل نفس المشكلة، والمشاكل نفسها صنفوها في فصائل حسب كفاءة افضل حل ممكن لكل منهاـ وهناك كتب وابحاث وعلماء لا يعدون قد تخصصوا لأجل هذا الجانب الذي يعد اساسيا في مجالنا.

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

لغة، نَصِف بها تفكيرنا!

وإن نفس الوسائل الفكرية لنجدها تتكرر في كل مشكلة وكل تطبيق: مثلاً فكرة الـgraph، أي مجموعة من العناصر وعلاقات بينها، نجدها في شبكة النقل بالمدن، وفي علم الحديث، وفي الابحاث العلمية التي يتخذ بعضها البعض مراجع، وفي الmind maps، وفي آلاف التطبيقات.

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

هذه الأشياء البسيطة في ظاهرها، الـgraph أو tree أو queue أو stack، هي خبز علماء الحاسوبيات الذي يعيشون عليه: يبحثون فيها ويكتبون الأبحاث عنها منذ عقود، كيفية التعبير عنها رياضياً بكفاءة، كيفية حساب خصائص معينة لها (مثل أقصر طريق بين نقطتين)، وغير ذلك الكثير.

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

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

أرجو أن أكون قد ساهمت في توضيح أهمية هذا العلم الجديد الشيق.

الأربعاء، 12 أكتوبر 2011

يوم في حياة اعضاء بمركز التفكير الحوسبي

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

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

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

ماذا عنك أنت؟ أول مهمة سنكلفك بها هي موقع برمجة على الانترنت، يسمح للطفل - أو أي شخص - أن يكتب الكود ويراها تنفّذ فوراً. سوف يكون مكتوبا بتكنولوجيا HTML5، ويحتاج لحيل كثيرة بالـ Ajax ليقوم بدوره. أيضاً يمكنك إن أردت أن تبدأ القراءة عن MindStorms و Adruino، لأن مهمتك التالية ستكون دراسة فكرة عمل لعب الكترونية صغيرة يمكن برمجتها.

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

يحتاج العمل هنا إلى خبرة في مجالات كثيرة، ونحن نعلم أنك لست ملماً بها كلها..لذلك يوجد مجلس علم اسبوعي نتحدث فيه عن مواضيع متنوعة. احيانا عن الdistributed computing، احيانا عن النحو او الزخارف الإسلامية، احيانا عن علم النفس الإدراكي وعلاقته بتعليم الأطفال. من حين لآخر نأتي بضيوف من الخارج (من خارج المركز أو من خارج مصر) ليقدموا ندوات في مجالاتهم المختلفة.

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

(هذه الرؤية لم تتحقق بعد. تريد لها أن تتحقق؟ لماذا لا نفتح حواراً عن تمويل المركز؟ لو لم تراها بعد، هذه رؤية للمركز من زاوية أخرى)

الجمعة، 9 سبتمبر 2011

يوم في حياة أطفال مبرمجين

نحن في عام 2018. محسن لديه ثلاثة أبناء: مروة (13 عاماً)، منى (8 سنوات) ومصطفى (5 سنوات).

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

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

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

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

مع الوقت لن تكتفي منى بالرسم على الpaintbrush، بل سوف تكتب برامج لرسم مربعات ونجوم وزخارف كالزخارف الإسلامية، وفي كل مرة سوف تسير السيارة بها لتنفذ ما قد خُطّط لها.

لكن اليوم سوف تلهو قليلاً، بينما أختها الكبرى تتقدم قليلاً في مشروع الروبوت ثم تذهب لأخذ محاضرة في خوارزمية Depth first search.

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

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

قال بصوت رفيع: آه! أنا تائهة! أريد أن أعود إلى أمي!

ثم غير صوته لصوت أكثر غلظة (على الأقل بالنسبة لطفل في الخامسة) وحرك صورة الرجل قليلاً وقال: لا تخافي أيتها القطة الصغيرة! أنا أعرف أين هي أمك! تعالي معي!

ثم بصوت القطة: أصحيح هذا؟؟ حسناً أيها الرجل الطيب! سوف آتي معك.

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

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

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

كانت زوجة محسن تعمل معلّمة، وكانت مهمتها حالياً تحضير درس النحو الجديد، وقد تم تعديل منهج النحو ليستفيد من الطرق الحوسبية؛ مثلاً الإعراب يُكتب الآن في صورة شجرة إعرابية parse tree. بدايات صغيرة لكنها تنمو مع الوقت.

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

كانت نهاية القصة سعيدة، إذ قبض الشرطي على لص القطط وأعاد القطة الصغيرة لأمها، بينما عادت مروة ومنى من المركز. قال الأب لمنى: هل كنت سعيدة اليوم؟

قالت منى: نعم!

قال لها: وهل تريدين الذهاب غداً؟

قاطعته مروة: ولكنها سوف تعطلني عما أفعل يا أبي!

قال محسن: لا تقلقي، سوف أذهب معها أنا.

الا تريد لهذا أن يصبح حقيقة؟ يمكننا أن نبدأ بحوار عن الفكرة (بريدي الاكتروني هو samy2004 على gmail.com )، ولديّ خطة أعمال مبدئية هنا.

الجمعة، 18 مارس 2011

البدء في مشروع مركز التفكير الحوسبي

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

أولاً: عرض الهدف

الفكرة باختصار هي أنه هناك في مصر مركزين لتعليم الأطفال البرمجة (انظر هنا و هنا). أنا أريد فتح مركز ثالث.

لماذا؟ أولاً زيادةً في الخير والتنمية. ثانياً أريد تجربة شيء جديد هو تطوير وسائل تعليم البرمجة ذاتها. ما معنى ذلك؟

معناه أنني أريد سلوك منهج البحث العلمي الذي يعتمد على الافتراضية ثم التجربة والملاحظة. على سبيل المثال:

1- هناك اقتراح ان طريقة كذا افضل لتعليم طفل البرمجة
2- يتم تغيير المنهج قليلا ليستخدم الطريقة الجديدة
3- يتم تقسيم الطلبة إلى مجموعتين: مجموعة تجريبية تستخدم المنهج الجديد ومجموعة control group تستخدم المنهج التقليدي.
4- يتم تقييم المجموعتين وتسجيل الملاحظات، مع تحليل النتائج تحليلاً علميّا.
5- إما أن تكون الملاحظات كافية لعمل استنتاجات أو يتم تكرار التجربة
6- نشر التجارب في صورة أبحاث كلما أمكن ليكررها سائر العلماء في مؤسسات أخرى ويراجعوها.

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

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

ثانياً: فتح باب التعاون

أ) الخطة الحالية هي التدريس بلغة كلمات للأعمار الصغيرة (8-12)، ودراسة فكرة تقديم لغة أخرى "كبيرة" للأعمار فوق ذلك.

ب) الموضوع يحتاج مجموعات العمل الآتية:
- مجموعة لوضع منهج دراسي عبارة عن كتاب + خطة دراسية [بمعنى كل درس له محتواه + تمارينه + ....]
- مجموعة لشرح الكورسات نفسها
- مجموعة لاختبار لغة كلمات لتكون جاهزة لمواجهة المجتمع :)
- على المدى الطويل هناك مجموعة بحثية دورها تطوير المناهج، تطوير الأدوات التعليمية (برامج وخلافه)، البحث العلمي في سبل التعليم.

ج) يفضل الانتهاء من تجهيز المنهج قبل عطلة الصيف للمدارس، ليمكن وضع الإعلانات وخلافه في الوقت المناسب لتقديم الكورسات في الإجازة.

د) هل الموضوع تطوعي أم بمرتبات؟ قل لي رغبتك وسأحاول تحقيقها بقدر الإمكان :)

هـ) ماذا عن المقر؟ مازال التخطيط يجري للاستحواذ على مقر للمركز. إما أن أؤجر مكانا رسميا وإما أن احاول أن اصنع مثلما حدث في حاسبات القاهرة حين صنعوا اتفاقاً مع الكلية نفسها.

و) من سيشرف على تحضير المناهج؟ غالبا أنا أو معيدين أحاول الإتيان بهم.

ز) هل المركز خيري أو يهدف الربحية؟ أتمنى أن يستطيع المركز الإنفاق على نفسه على المدى الطويل، لذلك أنوي أن يكون التعليم بأجر عاجلا أو آجلا. ربما يمكن في البداية جعله خيريا لفترة إن دعى الأمر لذلك.

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

ط) كيف يمكن التقدم بالمساعدة؟ حاليا احاول فتح حوار غير رسمي مع من يريد التقدم. يمكن مراسلتي بالبريد الالكتروني على samy2004@gmail.com . لو رأيت العدد كبيراً ربما يمكن عمل اجتماع مع المساهمين كلهم. بعد ذلك يمكن الحديث عن الأدوار الرسمية. لو أردت المحادثة أرجو إخباري بالمساهمة المفضلة لديك [تحضير مناهج، اختبار اللغة، تقديم الكورس في الصيف، دور بحثي].

ي) هل سيتطلب الأمر بذل وقت طويل من المساهمين؟ كل شخص يقدر أن يقدم ما يستطيع. إن كتبت لعبة snake بلغة كلمات بغرض اختبارها ستكون ساهمت مساهمة قيمة. لو دخلت في مجموعة تأليف منهج ستكون ساهمت مساهمة قيمة كذلك. لا تحتاج لأن تكون ملتزما التزاماً 'وظيفياً' لتساهم بشيء :)