تغييرات

اذهب إلى التنقل اذهب إلى البحث
ط
فقط بعض التعديلات الاملائية الطفيفة
سطر 1: سطر 1: −
=== أسم الجلسة ===
+
<noinclude>
−
أساسيات البرمجة - جلسة 1
+
{{تصفّح|لاحقة=أساسيات البرمجة - جلسة 2|أخيرة=أساسيات البرمجة - جلسة 3|عليا=إطار منهج الحوسبة لمشروع تمكين الشباب رقميا/تقسيم الموضوعات على جلسات}}
−
=== موجز الجلسة ===
+
</noinclude>
−
هذه الجلسة هي أولى جلسات تعليم البرمجة. و تهدف هذه الجلسات في مجملها إلى تمكين الطلاب من استخدام الأدوات الأساسية اللازمة تحويل أفكارهم و ما يبتكرونه من خوارزميات إلى برمجيات صلاحة للإستخدام. و تشمل هذه الأدوات لغات البرمجة، و بالذات لغة Python و بيئات كتابة البرامج و المترجمات و المفسرات (Compilers and Interpreters). و تعد هذه الجلسات حجر الأساس اللازم لتدريس الخوارزميات بشكل عملي، على هذه، يجب أن يتم تضمين ما يكفي من هذه الجلسات قبل الشروع في شرح الخوارزميات و اسسها.
+
== موجز الجلسة ==
 +
هذه الجلسة هي أولى جلسات تعليم البرمجة. و تهدف هذه الجلسات في مجملها إلى تمكين الطلاب من استخدام الأدوات الأساسية اللازمة تحويل أفكارهم و ما يبتكرونه من خوارزميات إلى برمجيات صالحة للإستخدام. و تشمل هذه الأدوات لغات البرمجة، و بالذات لغة Python و بيئات كتابة البرامج و المترجمات و المفسرات (Compilers and Interpreters). و تعد هذه الجلسات حجر الأساس اللازم لتنفيذ و تجربة الخوارزميات بشكل عملي على الحاسوب، على هذا، يجب أن يتم تضمين ما يكفي من هذه الجلسات قبل البدء في تقديم و شرح الخوارزميات و اسسها.
   −
و تبدأ هذه الجلسة بمراجعة و التأكيد على نموذج عمل البرمجيات الحاسوبية، ثم تتيعها بتعريف اللغات العالية المستوى و مقابلتها بلغة الألة مع التأكيد على ان نموذج عمل البرمجبات الحاسوبية واحد في الحالتين. بعد هذا، تقدم الجلسة أوليات كتابة برنامج بلغة Pyhton و توجه الطلاب نحو كتابة برنامجهم الأول بشكل عملي و تنفيذ هذا البرنامج باستخدام المفسر.
+
و تبدأ هذه الجلسة بمراجعة و التأكيد على نموذج عمل البرمجيات الحاسوبية، ثم تتبعها بتعريف اللغات العالية المستوى و مقابلتها بلغة الألة مع التأكيد على أن نموذج عمل البرمجبات الحاسوبية واحد في الحالتين. بعد هذا، تقدم الجلسة أوليات كتابة برنامج بلغة Pyhton و توجه الطلاب نحو كتابة برنامجهم الأول بشكل عملي و تنفيذ هذا البرنامج باستخدام المفسر.
 
   
 
   
 
يتلو ذلك توجيه الطلاب و مساعدتهم في كتابة برامج خطية بسيطة تستخدم تنويعات مختلفة للدالة print، بحيث تستخدم الدالة للقيام بعمليات حسابية و التعامل مع النصوص بشكل بسيط. و يستخدم الميسر هذه التنويعات لتوضيح الفرق بين تعامل الحاسوب مع الأرقام و تعامله مع النصوص مع الربط بكيفية تمثيل الأعداد و المحارف في الحاسوب و التي سبق أن تعرض لها الطلاب. كما تستخدم تلك البرامج أيضا للتأكيد على التناظر بين كيفية تنفيذ المفسر للبرامج المكتوبة باللغات عالية المستوى و نموذج العمل السابق شرحه.
 
يتلو ذلك توجيه الطلاب و مساعدتهم في كتابة برامج خطية بسيطة تستخدم تنويعات مختلفة للدالة print، بحيث تستخدم الدالة للقيام بعمليات حسابية و التعامل مع النصوص بشكل بسيط. و يستخدم الميسر هذه التنويعات لتوضيح الفرق بين تعامل الحاسوب مع الأرقام و تعامله مع النصوص مع الربط بكيفية تمثيل الأعداد و المحارف في الحاسوب و التي سبق أن تعرض لها الطلاب. كما تستخدم تلك البرامج أيضا للتأكيد على التناظر بين كيفية تنفيذ المفسر للبرامج المكتوبة باللغات عالية المستوى و نموذج العمل السابق شرحه.
   −
كما تعرض الجلسة ايضا من خلال الأمثلة لمفهوم أولويات تنفيذ العمليات الحسابية و استخدام الأقواس لتغيير هذه الأولويات.
+
كما تعرض الجلسة ايضا من خلال الأمثلة لمفهوم أولويات تنفيذ العمليات الحسابية (precedence) و استخدام الأقواس لتغيير هذه الأولويات.
   −
يالإضافة إلى ذلك، تهدف الجلسة (و كل جلسات البرمجة) إلى غرس ثقافة التعاون و الاستفادة من آراء الآخرين و تقبل النقد عن طريق الحرص على ان يقوم الطلاب بالعمل كثنائيات في كتابة البرامج بحيث يقوم احد الطلاب بالكتابة و يقوم الآخر بمراجعة الكود المكتوب ـ على أن يتبادلا الأدوار لاحقاً.
+
بالإضافة إلى ذلك، تهدف الجلسة (و كل جلسات البرمجة) إلى غرس ثقافة التعاون و الاستفادة من آراء الآخرين و تقبل النقد عن طريق الحرص على ان يقوم الطلاب بالعمل كثنائيات في كتابة البرامج بحيث يقوم احد الطلاب بالكتابة و يقوم الآخر بمراجعة الكود المكتوب ـ على أن يتبادلا الأدوار لاحقاً.
   −
=== مدة الجلسة الزمنية ===
+
== مدة الجلسة الزمنية ==
 
أربع ساعات تتخللها فترة أو فترتي راحة
 
أربع ساعات تتخللها فترة أو فترتي راحة
   −
=== المرحلة العمرية المستهدفة ===
+
== المرحلة العمرية المستهدفة ==
 
من 10 سنوات إلى 15 سنة
 
من 10 سنوات إلى 15 سنة
   −
=== مهارات و معارف متوقعة من المتدربين ===
+
== مهارات و معارف متوقعة من المتدربين ==
 
# القراءة و الكتابة.
 
# القراءة و الكتابة.
 
# اتباع التعليمات.
 
# اتباع التعليمات.
سطر 27: سطر 28:  
# استخدام المتصفح و محركات البحث.
 
# استخدام المتصفح و محركات البحث.
   −
=== موضوعات الجلسة ===
+
== موضوعات الجلسة ==
 
* [[إطار منهج الحوسبة لمشروع تمكين الشباب رقميا/الأهداف التعليمية#مقوّمات البرمجة|مقوّمات البرمجة]]
 
* [[إطار منهج الحوسبة لمشروع تمكين الشباب رقميا/الأهداف التعليمية#مقوّمات البرمجة|مقوّمات البرمجة]]
 
** فهم ماهية البرمجة و لغات البرمجة
 
** فهم ماهية البرمجة و لغات البرمجة
سطر 36: سطر 37:  
** القدرة على اتّباع أساليب اختبار البرنامج و اكتشاف البقّات
 
** القدرة على اتّباع أساليب اختبار البرنامج و اكتشاف البقّات
   −
=== الأثر القيمي ===
+
== الأثر القيمي ==
 
غرس و تأصيل القيم التالية
 
غرس و تأصيل القيم التالية
 
* الفضول العلمي
 
* الفضول العلمي
سطر 45: سطر 46:  
* تقبل النقد
 
* تقبل النقد
   −
=== النتائج المتوقعة ===
+
== النتائج المتوقعة ==
 
# كتابة برمجية خطية بسيطة باستخدام لغة Python.
 
# كتابة برمجية خطية بسيطة باستخدام لغة Python.
 
# تشغيل البرمجية باستخدام مفسر Pyhton من على سطر الأوامر.
 
# تشغيل البرمجية باستخدام مفسر Pyhton من على سطر الأوامر.
سطر 53: سطر 54:  
# شرح أثر نموذج عمل الحاسوب على كيفية تنفيذ البرامج المكتوبة باللغات عالية المستوى.
 
# شرح أثر نموذج عمل الحاسوب على كيفية تنفيذ البرامج المكتوبة باللغات عالية المستوى.
 
# شرح دور المفسر و المترجم في تنفيذ البرمجيات المكتوبة بلغات عالية المستوى.
 
# شرح دور المفسر و المترجم في تنفيذ البرمجيات المكتوبة بلغات عالية المستوى.
−
# تعريف الأنواع الرئيسية للبيانات التي يتعامل معها الحاسب و التعرف عليها و توضيح ما بينها من فروق.
+
# تعريف البيانات العددية و البيانات النصية كنوعين من الأنواع الرئيسية للبيانات التي يتعامل معها الحاسوب،  و التعرف عليهما و توضيح ما بينهما من فروق.
   −
=== وسائل تعليمية مطلوبة ===
+
== وسائل تعليمية مطلوبة ==
 
* حواسيب بحيث يكون عدد الحواسيب هو نصف عدد المتدربين (حاسوب لكل متدربين اثنين) بالإضافة إلى حاسوب للميسّر. كل حاسوب يوجد عليه حسابات لكل طالب من الطلاب المشاركين في البرنامج.  
 
* حواسيب بحيث يكون عدد الحواسيب هو نصف عدد المتدربين (حاسوب لكل متدربين اثنين) بالإضافة إلى حاسوب للميسّر. كل حاسوب يوجد عليه حسابات لكل طالب من الطلاب المشاركين في البرنامج.  
 
* جهاز عرض بيانات
 
* جهاز عرض بيانات
سطر 61: سطر 62:  
* لوحة كتابة (Flip Chart)
 
* لوحة كتابة (Flip Chart)
   −
=== تتابع الجلسة ===
+
== تتابع الجلسة ==
−
==== مقدمة ====
+
=== مقدمة ===
 
يهدف هذا القسم الفرعي إلى إثارة فضول الطلاب و تحفيزهم لتعلم البرمجة من خلال إعطاءهم تصور لما يمكن تنفيذه غن طريق برمجيات بسيطة. كما يهدف القسم إلى كسر أي حواجز نفسية لدى الطلاب لتعلم البرمجة بسبب ما يشاع عن صعوبة البرمجة و إحتياجها لمتخصصين.
 
يهدف هذا القسم الفرعي إلى إثارة فضول الطلاب و تحفيزهم لتعلم البرمجة من خلال إعطاءهم تصور لما يمكن تنفيذه غن طريق برمجيات بسيطة. كما يهدف القسم إلى كسر أي حواجز نفسية لدى الطلاب لتعلم البرمجة بسبب ما يشاع عن صعوبة البرمجة و إحتياجها لمتخصصين.
 
    
 
    
سطر 75: سطر 76:  
# يوضح الميسر للطلاب أنهم سيكونون قادرين على كتابة برمجيات مماثلة بعد عدد صغير من الجلسات.
 
# يوضح الميسر للطلاب أنهم سيكونون قادرين على كتابة برمجيات مماثلة بعد عدد صغير من الجلسات.
   −
==== كتابة و تشغيل البرنامج الأول ====
+
=== كتابة و تشغيل البرنامج الأول ===
 
# يعرض الميسر على الطلاب برنامج يقوم بطباعة عبارة بسيطة على الشاشة ثم يطلب منهم فتح محرر نصوص و كتابة البرنامج نقلا عما هو معروض امامهم و حفظ الملف بأسم يختاره هو.
 
# يعرض الميسر على الطلاب برنامج يقوم بطباعة عبارة بسيطة على الشاشة ثم يطلب منهم فتح محرر نصوص و كتابة البرنامج نقلا عما هو معروض امامهم و حفظ الملف بأسم يختاره هو.
 
# يعرض الميسر كيفية تشغيل البرنامج باستخدام مفسر python من سطر الأوامر ثم يطلب من الطلاب تشغيل البرامج التي كتبوها و يساعدهم في حل أي مشاكل يواجهونها، مع شرح اسباب هذه المشاكل.
 
# يعرض الميسر كيفية تشغيل البرنامج باستخدام مفسر python من سطر الأوامر ثم يطلب من الطلاب تشغيل البرامج التي كتبوها و يساعدهم في حل أي مشاكل يواجهونها، مع شرح اسباب هذه المشاكل.
 
#  يشرح الميسر مكونات البرنامج و يشير إلى ان هذا البرنامج مكتوب بلغة python و يوضح كيف استخدمنا مفسر python لتشغيله.
 
#  يشرح الميسر مكونات البرنامج و يشير إلى ان هذا البرنامج مكتوب بلغة python و يوضح كيف استخدمنا مفسر python لتشغيله.
   −
==== مقدمة إلى فكرة لغات البرمجة عالية المستوى و كيفية تنفيذ برامجها ====
+
=== مقدمة إلى فكرة لغات البرمجة عالية المستوى و كيفية تنفيذ برامجها ===
 
# يسأل الميسر الطلبة إن كان الحاسوب قادراً على فهم و تنفيذ البرنامج السابق
 
# يسأل الميسر الطلبة إن كان الحاسوب قادراً على فهم و تنفيذ البرنامج السابق
 
# يناقش الميسر الطلاب في إجاباتهم و يوضح ان الحاسوب غير قادر على فهم و تنفيذ هذا البرنامج لأنه لا يستطيع فهم و التعامل مع أوامر إلا الأوامر المكتوبة بلغة الألة بالنظام الثنائي و ذلك طبقا لما تعلموه في ما سلف من الجلسات.
 
# يناقش الميسر الطلاب في إجاباتهم و يوضح ان الحاسوب غير قادر على فهم و تنفيذ هذا البرنامج لأنه لا يستطيع فهم و التعامل مع أوامر إلا الأوامر المكتوبة بلغة الألة بالنظام الثنائي و ذلك طبقا لما تعلموه في ما سلف من الجلسات.
سطر 92: سطر 93:  
# يطلب الميسر من الطلاب البحث على الانترنت عن اسماء لغات برمجة أخرى و محاولة التعرف على ما إن كانت تستخدم مفسر أم مترجم  و مشاركة هذه المعلومات مع باقي الطلاب.
 
# يطلب الميسر من الطلاب البحث على الانترنت عن اسماء لغات برمجة أخرى و محاولة التعرف على ما إن كانت تستخدم مفسر أم مترجم  و مشاركة هذه المعلومات مع باقي الطلاب.
   −
==== الربط ما بين نموذج عمل الحاسوب و كيفية تنفيذ البرامج ====
+
=== الربط ما بين نموذج عمل الحاسوب و كيفية تنفيذ البرامج ===
 
# يسأل الميسر الطلاب عن كيف يقوم الحاسوب بتنفيذ البرامج المكونة من أوامر مكتوبة بلغة الألة طبقا لما تعلموه في الجلسات السالفة.
 
# يسأل الميسر الطلاب عن كيف يقوم الحاسوب بتنفيذ البرامج المكونة من أوامر مكتوبة بلغة الألة طبقا لما تعلموه في الجلسات السالفة.
 
# يستمع الميسر لإجابات الطلاب و يراجع معهم نموذج عمل الحاسوب.
 
# يستمع الميسر لإجابات الطلاب و يراجع معهم نموذج عمل الحاسوب.
سطر 103: سطر 104:  
# يؤكد الميسر على وجود تناظر  ما بين ترتيب تنفيذ أوامر الكود المصدري و ترتيب تنفيذ أوامر لغة الألة.
 
# يؤكد الميسر على وجود تناظر  ما بين ترتيب تنفيذ أوامر الكود المصدري و ترتيب تنفيذ أوامر لغة الألة.
   −
==== أستخدام البرنامج في القيام بعمليات حسابية ====  
+
=== أستخدام البرنامج في القيام بعمليات حسابية ===
 
# يوضح الميسر للطلاب أننا نستطيع أن نستخدم لغة python و دالة print في القيام بعمليات حسابية
 
# يوضح الميسر للطلاب أننا نستطيع أن نستخدم لغة python و دالة print في القيام بعمليات حسابية
 
# يفتح الميسر البرنامج السابق و يضيف سطر يستخدم دالة print في القيام بعملية حسابية بسيطة (جمع، طرح، إلخ...) ثم يقوم بتشغيل البرنامج.
 
# يفتح الميسر البرنامج السابق و يضيف سطر يستخدم دالة print في القيام بعملية حسابية بسيطة (جمع، طرح، إلخ...) ثم يقوم بتشغيل البرنامج.
سطر 114: سطر 115:  
# يشير الميسر اننا بهذا نكون قادرين على إجراء أي عمليات حسابية و اختيار الترتيب الصحيح للقيام بهذه العمليات.
 
# يشير الميسر اننا بهذا نكون قادرين على إجراء أي عمليات حسابية و اختيار الترتيب الصحيح للقيام بهذه العمليات.
   −
==== الأنواع الأساسية للبيانات ====
+
===  البيانات العددية و البيانات النصية  ===
 
# يطلب الميسر من الطلاب إجراء عملية جمع لنصين، يحتوي كل منهما على عدد و ملاحظة النتيجة (أي ان الأرقام مكتوبة بين علامات تنصيص).
 
# يطلب الميسر من الطلاب إجراء عملية جمع لنصين، يحتوي كل منهما على عدد و ملاحظة النتيجة (أي ان الأرقام مكتوبة بين علامات تنصيص).
 
# يسأل الميسر الطلاب عن رأيهم في السبب في أن الحاسوب لم يقم بجمع الأرقام، بل عرضهم كل بجوار الآخر.
 
# يسأل الميسر الطلاب عن رأيهم في السبب في أن الحاسوب لم يقم بجمع الأرقام، بل عرضهم كل بجوار الآخر.
سطر 121: سطر 122:  
# يسأل الميسر عن رأي الطلاب في الفرق في المعني بين كتابة الأرقام بعلامات تنصيص أو بدونها.
 
# يسأل الميسر عن رأي الطلاب في الفرق في المعني بين كتابة الأرقام بعلامات تنصيص أو بدونها.
 
# يناقش الطلاب في إجاباتهم و يشرح أن علامات التنصيص تشير أن ما بينها هو نص يتكون من محارف يجب أن تحفظ على شكلها بدون محاولة فهمها، حتى و إن كانت تتكون من أرقام، و بالتالي يتعامل معها المفسر على هذا الأساس. أما إن لم نستخدم علامات التنصيص فإن المفسر يحاول فهم معني هذه المحارف و بالتالي يعرف أنها أعداد و يعاملها على هذا الأساس.
 
# يناقش الطلاب في إجاباتهم و يشرح أن علامات التنصيص تشير أن ما بينها هو نص يتكون من محارف يجب أن تحفظ على شكلها بدون محاولة فهمها، حتى و إن كانت تتكون من أرقام، و بالتالي يتعامل معها المفسر على هذا الأساس. أما إن لم نستخدم علامات التنصيص فإن المفسر يحاول فهم معني هذه المحارف و بالتالي يعرف أنها أعداد و يعاملها على هذا الأساس.
−
# يوضح الميسر أن الحاسوب يتعامل مع نوعين اساسيين من البيانات هما النصوص و البيانات الرقمية، و يشرح الفرق بينها بالربط مع ما تعلموه سلفا من تمثيل البيانات في الحاسوب.
   
# يطلب الميسر من الطلاب  تجربة جمع نصوص مختلفة و ضرب عدد في نص، و يوضح من خلال التجارب معنى هذه العمليات.
 
# يطلب الميسر من الطلاب  تجربة جمع نصوص مختلفة و ضرب عدد في نص، و يوضح من خلال التجارب معنى هذه العمليات.
−
# يشير الميسر إلى أننا بهذا نكون تعلمنا نوعي البيانات الأساسيين و كيفية التفرقة بينهما و كيف يتعامل الحاسوب مع كل منهما.
+
# يوضح الميسر أن  البيانات الرقمية و البيانات النصية هما نوعين من الأنواع الأساسية للبيانات التي يستطيع الحاسوب التعامل معها، و يشير إلى أن الحاسوب يميز كل منهما عن الآخر و يتعامل مع كل منهما بشكل مختلف، و يشرح الفرق بينهما بالربط مع ما تعلموه سلفا من تمثيل البيانات في الحاسوب.
 +
# يشير الميسر إلى أننا بهذا نكون تعلمنا نوعين من الأنواع الأساسية للبيانات و كيفية التفرقة بينهما و كيف يتعامل الحاسوب مع كل منهما.
   −
==== خاتمة ====
+
=== خاتمة ===
 
# يطلب الميسر من كل طالب كتابة أهم ما تعلمه في هذه الجلسة على ورقة و يقوم بجمع هذه الأوراق منهم لتقييم مدى استفادتهم من الجلسة.
 
# يطلب الميسر من كل طالب كتابة أهم ما تعلمه في هذه الجلسة على ورقة و يقوم بجمع هذه الأوراق منهم لتقييم مدى استفادتهم من الجلسة.
 
# يبين الميسر إلى أننا تعرضنا في هذه الجلسة للموضوعات الأتية:
 
# يبين الميسر إلى أننا تعرضنا في هذه الجلسة للموضوعات الأتية:
سطر 135: سطر 136:  
#* التناظر بين كيفية تنفيذ المفسر لبرنامج بلغة pyhton و نموذج عمل الحاسوب
 
#* التناظر بين كيفية تنفيذ المفسر لبرنامج بلغة pyhton و نموذج عمل الحاسوب
 
#* القيام بعمليات حسابية بستخدام لغة python، و فهم أولوية تنفيذ هذه العمليات و تغيير ترتيب تنفيذ هذه العمليات باستخدام الأقواس عندما نحتاج لذلك.
 
#* القيام بعمليات حسابية بستخدام لغة python، و فهم أولوية تنفيذ هذه العمليات و تغيير ترتيب تنفيذ هذه العمليات باستخدام الأقواس عندما نحتاج لذلك.
−
#* الأنواع الأساسية للبيانات التي يتعامل معها الحاسب
+
#* نوعين من الأنواع الأساسية للبيانات التي يتعامل معها الحاسب
 
#* كيفية التفرقة بين النصوص و البيانات العددية و كيفية تعامل الحاسوب مع كل منهما.
 
#* كيفية التفرقة بين النصوص و البيانات العددية و كيفية تعامل الحاسوب مع كل منهما.
 
# يختم الميسر الجلسة بالإجابة عن أي أسئلة في هذه الموضوعات
 
# يختم الميسر الجلسة بالإجابة عن أي أسئلة في هذه الموضوعات
   −
=== قراءات و تدريبات إضافية ===
+
== قراءات و تدريبات إضافية ==
 
# بحث: التعرف على اسماء لغات برمجة عالية المستوى بخلاف ما ذكر في الجلسة و استخدامات هذه اللغات و اسباب وجود هذا التنوع في اللغات عالية المستوى
 
# بحث: التعرف على اسماء لغات برمجة عالية المستوى بخلاف ما ذكر في الجلسة و استخدامات هذه اللغات و اسباب وجود هذا التنوع في اللغات عالية المستوى
 
# بحث: التعرف على بعض المصادر الموجودة على شبكة الأنترنت لتعلم البرمجة و بعض مصادر تعلم لغة python
 
# بحث: التعرف على بعض المصادر الموجودة على شبكة الأنترنت لتعلم البرمجة و بعض مصادر تعلم لغة python
 
   
 
   
−
   
[[تصنيف:جلسات مفاهيم حوسبية]]
 
[[تصنيف:جلسات مفاهيم حوسبية]]
 
[[تصنيف:جلسات منهج الحوسبة لشمشر]]
 
[[تصنيف:جلسات منهج الحوسبة لشمشر]]
−
[[تصنيف:منهج الحوسبة لمشروع تمكين الشباب رقميا]]
  −
[[تصنيف:مناهج مشروع تمكين الشباب رقميا]]
  −
[[تصنيف:مشروع تمكين الشباب رقميا]]
  −
[[تصنيف:مناهج الحوسبة]]
  −
[[تصنيف:مناهج أضف]]
 
13

تعديل

قائمة التصفح