Ahmed Aljaberi
Ahmed Aljaberi

@ahmed_aljabri

16 تغريدة 71 قراءة Apr 30, 2022
كيف نشرح اساسيات عمل الكمبيوتر و البرمجة لطفل عمره 6 سنوات؟! حسب رأي اينشتاين, اذا ما قدرت فانت اصلا لم تفهم
. لكن طبعاً الطفل يحتاج لمعارف اساسية تبني عليها ما تريد تعليمه اياه كمعرفته بالارقام.
(سلسلة)
لو قلت لطفل عندك 20 عشوائي رقم مكونة من خانتين فقطل للتسهيل .. مثل 19 و 49 و 66 .. الخ. وطلبت منه يستخرج اكبر رقم بطريقة تعلمه فيها ايضا اساسيات البرمجة و الكمبيوتر.
لنبدأ.
عندك سردك للارقام امامه سينساها و سيحتاج إلى ورقة و قلم ليكتب عليها الارقام. ننبه هنا ان الورقة هنا تقابل ذاكرة Memory الكمبيوتر فهو ايضا يحتاج لشيء يشبه الورقة. وبما ان الطفل سيتسخدم الورقة لايجاد الحل فهي مؤقته و سيرميها بعد الانتهاء .. هذه هي الRAM او الذاكرة المؤقتة.
عند كتابته للأرقام قد نحتاج لننبه أن يكتب الأرقام اسفل بعضها او بجانب بعضها او نرسم له اسطر او مربعات فهو هنا خلق شيئاً اشبه ب"عنواين الذاكرة". كذلك يفعل الكمبيوتر.
بعدها ستعطيه الأرقام رقما رقماً .. هذا هو مفهوم الInput و اما الOutput فهو الجواب الذي تنتظره منه وهو أي الاعداد اكبر. لو اضفت لأحد الأرقام كلمة مثل "أرنب" سينتبه هنا إلى انها ليست رقم.
و هذا مدخل لمعرفة الTypes و الفرق بين الانواع ولو على الاقل الNumber و الString. و لذا يجب ان يفهم مبدئياً ان المجموعات لابد ان تكون من نفس النوع.
و لأن الأرقام اصطفت فكونت مجموعة فهنا يمكن تمرير فكرة المجموعات و على الأقل فكرة الList وانها مجموعة من اشياء من نفس النوع.
كما نحتاج لأن نبين له ان لكل رقم ( مكان او Index ) و نرقمها له و للتسهيل نبدأ بالرقم واحد إلى عشرين بدل من صفر الى 19. و نخبره أن الكمبيوتر ايضاً لديه ارقام يعرف بها مكان كل قيمة Memory Address و كذلك الList لها ارقام.
بعدها سيحتاج لأن يمر عليها جميعا بتسلسل Sequence ليرى الأكبر باستخدام عينيه و عقله و في المقابل نبين له ان الكمبيوتر لديه CPU و ان عينيه هي الطرفيات Terminal التي ندخل بها المعلومات كلوحة المفاتيح مثلاً. كما نبين له ان الورقة هنا اخذت في نفس الوقت دور الشاشة او الطابعة.
طريقة الاختيار اعتماداً على العين بدائية و هذا كان حال حتى الكبار قبل ابتكار خوارزمية الMax. و التي يمكن شرحها له كالتالي:
خذ اول رقم و اعتبر انه الأكبر. و قد نرسم له مربع نسميه الأكبر Max و يضع فيه اول رقم في القائمة ثم يقارنه بما بعده هل
هو اكثر ام اقل؟ اذا اقل لن نعدل شيء و اذا اكبر سنمسح الرقم في مربع الMax و نستبدله بالرقم الجديد الاكبر.
هذا هو مفهوم الBranching في البرمجة .. قرار If و Else.
اختياره و تقريره ايهم الاكثر و الأقل الذي تم في عقله, كذلك في الكمبيوتر لديه عقل وهو المعالج او الCPU و عملية الاختيار تتم في وحدة هي الALU او الArthimetic Logic Unit بداخل الCPU و انه حتى الدماغ لديه جزء خاص "فص جبهي" مسؤول عن هذا الشيء ( متقدم )
كذلك نبين له ان المسؤول عن نقل الارقام من الملف او لوحة المفاتيح او من الذاكرة و أخذ التعليمات ثم ارسالها للشاشة هو الControl Unit وهو جزء اخر من اجزاء الCPU.
نحتاج لننبه الطفل أن الرقم في مربع Max يتغير مع كل رقم جديد في القائمة و هنا يمكن تمرير فكرة الVariables له .. وان Max هو متغير Variable. و عندما نقول له كرر العملية بنفسك لباقي الأرقام فهنا قدمنا له فكرة الLooping او الIteration.
البرمجة لا تخرج عن ال3 مباديء المذكورة الLooping و الBranching و التسلسل Sequence الذي فعله من بداية
كتابته للارقام و جعلها في قائمة ثم استخدامه للBranching و الLooping. مع فهم ماذا تعني الVariables و الTypes. الباقي اضافات.
في الأخير نخبره انه كما تحدثنا معه باللغة العربية مثلا وفهمها وارشدناه ليحل المسألة فالكمبيوتر له ايضا لغات يفهمها و بعدها قد نريه كيف نكتب برنامجاً يقوم بما قام به هو باستخدام الورقة و القلم و حفظ الله اطفالكم.
- انتهى.

جاري تحميل الاقتراحات...