الجمعة، 8 يونيو 2012

البيئة المحيطة

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

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

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

كان الشرح الآن عن struct في لغة ++C. عن ان الstruct لا ينشيء بيانات في الذاكرة، لكن عمل variable منها ينشيء فعلاً البيانات. همممم، كنت اشرح الفصائل في توثيق كلمات اليوم السابق، ربما ينبغي ان ابسّط الشرح قليلاً.

دخل الشرح في الheap. هذا مهم... في كلمات، على عكس ++C، كل كائن عبارة عن reference. كيف اشرح الـreference؟

رسم الheap سهل. لكن الreference؟ دائما نرسمها اسهم تشير إلى اماكن في الذاكرة، لكن السهم ليس قيمة! حين أقول أ = ب، فإن قيمة الreference يتم نسخها. كيف اعبر عن هذا في رسمة تعبر عن البرنامج؟ أرقام؟ لا هذا معقد. أريد شيئاً مرئياً.

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

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

ليست هناك تعليقات: