تغييرات

اذهب إلى التنقل اذهب إلى البحث
حذف قسم اسم الجلسة؛ إعادة هيكلة مستويات الترويسات لتبدأ من الثاني لا الثالث
سطر 3: سطر 3:  
</noinclude>
 
</noinclude>
   −
=== أسم الجلسة ===
+
== موجز الجلسة ==
أساسيات البرمجة - جلسة 3
  −
=== موجز الجلسة ===
   
تستمر هذه الجلسة في بناء قدرات الطلاب على كتابة البرامج عن طريق تعريفهم بمفاهيم إضافية من مفاهيم البرمجة و شرح أدوات لغة python الازمة لتطبيق هذه المفاهيم بشكل عملي. تبدأ الجلسة بتقديم مفهوم البيانات المركبة (Compound Data structures) و مقابلتها بالبيانات البسيطة (Simple Data Structure) التي عرضوا لها في الجلستين السابقتين، ثم تشرح بعض أنواع البيانات المركبة التي تدعمها لغة python و توضح من خلال أمثلة و تدريبات عملية كيفية استخدامها.
 
تستمر هذه الجلسة في بناء قدرات الطلاب على كتابة البرامج عن طريق تعريفهم بمفاهيم إضافية من مفاهيم البرمجة و شرح أدوات لغة python الازمة لتطبيق هذه المفاهيم بشكل عملي. تبدأ الجلسة بتقديم مفهوم البيانات المركبة (Compound Data structures) و مقابلتها بالبيانات البسيطة (Simple Data Structure) التي عرضوا لها في الجلستين السابقتين، ثم تشرح بعض أنواع البيانات المركبة التي تدعمها لغة python و توضح من خلال أمثلة و تدريبات عملية كيفية استخدامها.
    
تُتْبِع الجلسة ذلك بشرح مفهوم التكرار (الحلقات - loops) و كيفية استخدام عبارتي for و while في تطبيق هذا المفهوم، ثم تتيح المساحة للطلاب لاختبار قدراتهم و التدريب على ما تعلموه حتى الأن من مفاهيم البرمجة في بناء برامج ذات امكانيات أكبر.
 
تُتْبِع الجلسة ذلك بشرح مفهوم التكرار (الحلقات - loops) و كيفية استخدام عبارتي for و while في تطبيق هذا المفهوم، ثم تتيح المساحة للطلاب لاختبار قدراتهم و التدريب على ما تعلموه حتى الأن من مفاهيم البرمجة في بناء برامج ذات امكانيات أكبر.
   −
=== مدة الجلسة الزمنية ===
+
== مدة الجلسة الزمنية ==
 
أربع ساعات تتخللها فترة أو فترتي راحة
 
أربع ساعات تتخللها فترة أو فترتي راحة
   −
=== المرحلة العمرية المستهدفة ===
+
== المرحلة العمرية المستهدفة ==
 
من 12 إلى 15 سنة
 
من 12 إلى 15 سنة
   −
=== مهارات و معارف متوقعة من المتدربين ===
+
== مهارات و معارف متوقعة من المتدربين ==
 
# القراءة و الكتابة.
 
# القراءة و الكتابة.
 
# اتباع التعليمات.
 
# اتباع التعليمات.
سطر 29: سطر 27:  
# القدرة على كتابة برنامج بسيط بلغة python و تشغيله باستخدام المفسر من سطر الأوامر.
 
# القدرة على كتابة برنامج بسيط بلغة python و تشغيله باستخدام المفسر من سطر الأوامر.
   −
=== موضوعات الجلسة ===
+
== موضوعات الجلسة ==
 
* [[إطار منهج الحوسبة لمشروع تمكين الشباب رقميا/الأهداف التعليمية#مقوّمات البرمجة|مقوّمات البرمجة]]
 
* [[إطار منهج الحوسبة لمشروع تمكين الشباب رقميا/الأهداف التعليمية#مقوّمات البرمجة|مقوّمات البرمجة]]
 
** فهم العناصر العامة للغات البرمجة و صفاتها
 
** فهم العناصر العامة للغات البرمجة و صفاتها
سطر 46: سطر 44:  
** التعرف على و فهم بعض إستراتيجيات حل المشكلات (تحليل المشكلة إلى مشاكل ابسط، جمع المعلومات، التجريد، العصف الذهني، إلخ...)
 
** التعرف على و فهم بعض إستراتيجيات حل المشكلات (تحليل المشكلة إلى مشاكل ابسط، جمع المعلومات، التجريد، العصف الذهني، إلخ...)
   −
=== الأثر القيمي ===
+
== الأثر القيمي ==
 
غرس و تأصيل القيم التالية
 
غرس و تأصيل القيم التالية
 
* الفضول العلمي
 
* الفضول العلمي
سطر 53: سطر 51:  
* التعاون
 
* التعاون
   −
=== النتائج المتوقعة ===
+
== النتائج المتوقعة ==
 
# التعرف على بعض أنواع البيانات المركبة (القوائم - Lists و الصفوف - Tuples و المعاجم - Dictionaries) و شرح ما بينها من فروق و استخدامها في حفظ و استرجاع البيانات.
 
# التعرف على بعض أنواع البيانات المركبة (القوائم - Lists و الصفوف - Tuples و المعاجم - Dictionaries) و شرح ما بينها من فروق و استخدامها في حفظ و استرجاع البيانات.
 
# كتابة براج تستخدم الحلقات (أدوات التكرار - Loops) لأداء مهام متكررة.
 
# كتابة براج تستخدم الحلقات (أدوات التكرار - Loops) لأداء مهام متكررة.
   −
=== وسائل تعليمية مطلوبة ===
+
== وسائل تعليمية مطلوبة ==
 
* حواسيب بحيث يكون عدد الحواسيب هو نصف عدد المتدربين (حاسوب لكل متدربين اثنين) بالإضافة إلى حاسوب للميسّر. كل حاسوب يوجد عليه حسابات لكل طالب من الطلاب المشاركين في البرنامج.  
 
* حواسيب بحيث يكون عدد الحواسيب هو نصف عدد المتدربين (حاسوب لكل متدربين اثنين) بالإضافة إلى حاسوب للميسّر. كل حاسوب يوجد عليه حسابات لكل طالب من الطلاب المشاركين في البرنامج.  
 
* جهاز عرض بيانات
 
* جهاز عرض بيانات
سطر 63: سطر 61:  
* لوحة كتابة (Flip Chart)
 
* لوحة كتابة (Flip Chart)
   −
=== تتابع الجلسة ===
+
== تتابع الجلسة ==
==== مقدمة ====
+
=== مقدمة ===
 
# ينوه الميسر إلى أن هذه الجلسة ستبني على ما تعلمه الطلاب في الجلسات السابقة بحيث تمكنهم من كتابة برامج أكثر تطورا و أكثر نفعا.
 
# ينوه الميسر إلى أن هذه الجلسة ستبني على ما تعلمه الطلاب في الجلسات السابقة بحيث تمكنهم من كتابة برامج أكثر تطورا و أكثر نفعا.
 
# يسأل الميسر الطلاب إذا ما كان في استطاعتهم كتابة برنامج يماثل الذي كتبوه في المرة السابقة و لكنه يقوم بحساب عدد السنوات المتبقية لبلوغ العشرين لطالبين، عوضا عن طالب واحد.
 
# يسأل الميسر الطلاب إذا ما كان في استطاعتهم كتابة برنامج يماثل الذي كتبوه في المرة السابقة و لكنه يقوم بحساب عدد السنوات المتبقية لبلوغ العشرين لطالبين، عوضا عن طالب واحد.
سطر 78: سطر 76:  
# ينوه الميسر إلى أننا سنتعلم في هذه الجلسة بعض الاساليب التي يمكن أن نستخدمها لحل هذه المشكلة.
 
# ينوه الميسر إلى أننا سنتعلم في هذه الجلسة بعض الاساليب التي يمكن أن نستخدمها لحل هذه المشكلة.
   −
==== البيانات المركبة ====
+
=== البيانات المركبة ===
 
# يطلب الميسر من الطلاب ذكر انواع البيانات التي تعاملوا معها حتى الأن
 
# يطلب الميسر من الطلاب ذكر انواع البيانات التي تعاملوا معها حتى الأن
 
# يشير الميسر إلى أن أي من هذه الأنواع يمثل قيمة واحدة فقط، سواء كانت قيمة عددية أو نصية أو بوليانية مع ضرب امثلة لتوضيح ذلك، كما يشير إلى أن المتغيرات من نفس هذه الأنواع تستطيع حفظ قيمة واحدة فقط من نفس نوع المتغير في أي لحظة.
 
# يشير الميسر إلى أن أي من هذه الأنواع يمثل قيمة واحدة فقط، سواء كانت قيمة عددية أو نصية أو بوليانية مع ضرب امثلة لتوضيح ذلك، كما يشير إلى أن المتغيرات من نفس هذه الأنواع تستطيع حفظ قيمة واحدة فقط من نفس نوع المتغير في أي لحظة.
سطر 85: سطر 83:  
# يوضح الميسر أن مثل هذه الأنواع يطلق عليها اسم "أنواع البيانات المركبة"، و يشير إلى أنها، بخلاف الأنواع البسيطة السابقة، تتفاوت من لغة إلى أخرى، فقد نجد بعضها في لغات بعينها و لا نجدها في لغات أخرى.
 
# يوضح الميسر أن مثل هذه الأنواع يطلق عليها اسم "أنواع البيانات المركبة"، و يشير إلى أنها، بخلاف الأنواع البسيطة السابقة، تتفاوت من لغة إلى أخرى، فقد نجد بعضها في لغات بعينها و لا نجدها في لغات أخرى.
 
# ينوه الميسر إلى ان الجلسة ستعرض فيما يلي لبعض أنواع البيانات المركبة التي تدعمها لغة python
 
# ينوه الميسر إلى ان الجلسة ستعرض فيما يلي لبعض أنواع البيانات المركبة التي تدعمها لغة python
===== القوائم =====
+
==== القوائم ====
 
# يشرح الميسر صيغة تمثيل القائمة (List) في لغة python و يوضح ذلك باستخدام قائمة من الأعداد ( على سبيل المثال [12,23,1,18,110,4]
 
# يشرح الميسر صيغة تمثيل القائمة (List) في لغة python و يوضح ذلك باستخدام قائمة من الأعداد ( على سبيل المثال [12,23,1,18,110,4]
 
# يشرح الميسر الخصائص الأساسية للقائمة و هي:
 
# يشرح الميسر الخصائص الأساسية للقائمة و هي:
سطر 108: سطر 106:  
## يمكن إضافة قيم جديدة للقائمة عن طريق وسيلة append أو حذف قيم منها باستخدام دالة del.
 
## يمكن إضافة قيم جديدة للقائمة عن طريق وسيلة append أو حذف قيم منها باستخدام دالة del.
 
# يشير الميسر إلى أن القوائم ما هي إلا احد أنواع البيانات المركبة المدعومة في لغة python و يوضح أننا سنتعرف الأن على نوع أخر من البيانات المركبة.
 
# يشير الميسر إلى أن القوائم ما هي إلا احد أنواع البيانات المركبة المدعومة في لغة python و يوضح أننا سنتعرف الأن على نوع أخر من البيانات المركبة.
===== الصفوف =====
+
==== الصفوف ====
 
# يعرض الميسر على الطلاب صيغة تمثل صفاً "(2,11,13,76,3,4,55)" و يسأل الطلاب إن كان هذا قائمة.
 
# يعرض الميسر على الطلاب صيغة تمثل صفاً "(2,11,13,76,3,4,55)" و يسأل الطلاب إن كان هذا قائمة.
 
# يسأل الميسر الطلاب عن الفرق بين الصيغة المعروضة امامهم و صيغة القائمة التي تعرفوا عليها.
 
# يسأل الميسر الطلاب عن الفرق بين الصيغة المعروضة امامهم و صيغة القائمة التي تعرفوا عليها.
سطر 122: سطر 120:  
# يطلب الميسر من أحد الطلاب تلخيص خصائص الصفوف، و يدعو باقي الطلاب للتصديق على أو تصحيح رأي زميلهم.
 
# يطلب الميسر من أحد الطلاب تلخيص خصائص الصفوف، و يدعو باقي الطلاب للتصديق على أو تصحيح رأي زميلهم.
   −
===== المعاجم =====
+
==== المعاجم ====
 
# ينوه الميسر إلى اننا سنتناول الأن نوعا ثالثا من البيانات المركبة و هو المعاجم.
 
# ينوه الميسر إلى اننا سنتناول الأن نوعا ثالثا من البيانات المركبة و هو المعاجم.
 
# يسأل الميسر الطلاب عن المفتاح الذي نستخدمه للبحث عن معنى كلمة في المعجم، و يناقشهم بهدف توضيح أن مفتاح البحث في المعجم هو الكلمة نفسها، أي أننا نبحث عن الكلمة و متى وجدناها فإننا نستطيع الإطلاع على القيمة المقابلة لهذه الكلمة و التي هي معنى الكلمة في حالة المعاجم اللغوية.  
 
# يسأل الميسر الطلاب عن المفتاح الذي نستخدمه للبحث عن معنى كلمة في المعجم، و يناقشهم بهدف توضيح أن مفتاح البحث في المعجم هو الكلمة نفسها، أي أننا نبحث عن الكلمة و متى وجدناها فإننا نستطيع الإطلاع على القيمة المقابلة لهذه الكلمة و التي هي معنى الكلمة في حالة المعاجم اللغوية.  
سطر 144: سطر 142:  
# يختم الميسر النقاش حول البيانات المركبة بأن يطلب من الطلاب ذكر أنواع البيانات المركبة التي تعرضنا لها في الجلسة و المقارنة بينها.
 
# يختم الميسر النقاش حول البيانات المركبة بأن يطلب من الطلاب ذكر أنواع البيانات المركبة التي تعرضنا لها في الجلسة و المقارنة بينها.
   −
==== التكرار ====
+
=== التكرار ===
 
# يشير الميسر إلى أن من أهم المميزات التي توفرها الحواسيب هي قدرتها على تكرارا نفس الخطوات على عدد كبير من البيانات بدقة و بدون أخطاء و بدون أن تكل أو تمل.
 
# يشير الميسر إلى أن من أهم المميزات التي توفرها الحواسيب هي قدرتها على تكرارا نفس الخطوات على عدد كبير من البيانات بدقة و بدون أخطاء و بدون أن تكل أو تمل.
 
# يوضح الميسر أن كل لغات البرمجة توفر إمكانيات عدة لتكرار تنفيذ الأوامر، و أننا سنتعرف في على بعض هذه الإمكانيات في لغة python.
 
# يوضح الميسر أن كل لغات البرمجة توفر إمكانيات عدة لتكرار تنفيذ الأوامر، و أننا سنتعرف في على بعض هذه الإمكانيات في لغة python.
===== حلقة for =====
+
==== حلقة for ====
 
# يعرض الميسر على الطلاب حلقة تستخدم عبارة for في طباعة عدد من القيم المحفوطة في قائمة و يشرح الأجزاء المختلفة التي تتكون منها الحلقة.
 
# يعرض الميسر على الطلاب حلقة تستخدم عبارة for في طباعة عدد من القيم المحفوطة في قائمة و يشرح الأجزاء المختلفة التي تتكون منها الحلقة.
 
# يدعو الميسر الطلاب لتجربة حلقة for باستخدام قائمة ثم باستخدام صف عوضا عن القائمة.
 
# يدعو الميسر الطلاب لتجربة حلقة for باستخدام قائمة ثم باستخدام صف عوضا عن القائمة.
   −
===== حلقة while =====
+
==== حلقة while ====
 
# يشير الميسر إلى ان حلقة for ليست هي الوسيلة الوحيدة لتكرار تنفيذ مجموعة من الأوامر و لكن لغة python توفر عبارة أخرى لتكرار تنفيذ مجموعة من الأوامر و هي عبارة while
 
# يشير الميسر إلى ان حلقة for ليست هي الوسيلة الوحيدة لتكرار تنفيذ مجموعة من الأوامر و لكن لغة python توفر عبارة أخرى لتكرار تنفيذ مجموعة من الأوامر و هي عبارة while
 
# يعرض الميسر نموذج لاستخدام عبارة while  في تكرار مجموعة أوامر تطلب من مستخدم البرنامج إدخال نص من لوحة المفاتيح ثم تقوم بطباعة عدد الحروف التي يتكون منها هذا النص.
 
# يعرض الميسر نموذج لاستخدام عبارة while  في تكرار مجموعة أوامر تطلب من مستخدم البرنامج إدخال نص من لوحة المفاتيح ثم تقوم بطباعة عدد الحروف التي يتكون منها هذا النص.
سطر 157: سطر 155:  
# يطلب الميسر من الطلاب تجربة استخدام عبارة while في بعض الحلقات البسيطة.  
 
# يطلب الميسر من الطلاب تجربة استخدام عبارة while في بعض الحلقات البسيطة.  
 
   
 
   
==== مشروع ====
+
=== مشروع ===
 
# يوضح الميسر أن ما تعلمه الطلاب في هذه الجلسة يكفي لحل مشكلة حساب عدد السنوات المتبقية لبلوغ العشرين لطلاب فصل دراسي بعدة طرق مختلفة.
 
# يوضح الميسر أن ما تعلمه الطلاب في هذه الجلسة يكفي لحل مشكلة حساب عدد السنوات المتبقية لبلوغ العشرين لطلاب فصل دراسي بعدة طرق مختلفة.
 
# يوزع الميسر الطلاب على مجموعات لا تزيد أي منها عن خمس طلاب.
 
# يوزع الميسر الطلاب على مجموعات لا تزيد أي منها عن خمس طلاب.
سطر 164: سطر 162:  
# يناقش الميسر حلول الطلاب المختلفة و يعرض عليهم أفكار لحلول أخرى و يشجعهم على تجربة هذه الحلول بمفردهم متى يتسنى لهم.
 
# يناقش الميسر حلول الطلاب المختلفة و يعرض عليهم أفكار لحلول أخرى و يشجعهم على تجربة هذه الحلول بمفردهم متى يتسنى لهم.
   −
==== خاتمة ====
+
=== خاتمة ===
 
# يطلب الميسر من كل طالب كتابة أهم ما تعلمه في هذه الجلسة على ورقة و يقوم بجمع هذه الأوراق منهم لتقييم مدى استفادتهم من الجلسة.
 
# يطلب الميسر من كل طالب كتابة أهم ما تعلمه في هذه الجلسة على ورقة و يقوم بجمع هذه الأوراق منهم لتقييم مدى استفادتهم من الجلسة.
 
# يبين الميسر إلى أننا تعرضنا في هذه الجلسة للموضوعات الأتية:
 
# يبين الميسر إلى أننا تعرضنا في هذه الجلسة للموضوعات الأتية:
سطر 173: سطر 171:  
# يختم الميسر الجلسة بالإجابة عن أي أسئلة في هذه الموضوعات
 
# يختم الميسر الجلسة بالإجابة عن أي أسئلة في هذه الموضوعات
   −
=== قراءات و تدريبات إضافية ===
+
== قراءات و تدريبات إضافية ==
 
# شرح لاستخدام القوائم http://www.tutorialspoint.com/python/python_lists.htm
 
# شرح لاستخدام القوائم http://www.tutorialspoint.com/python/python_lists.htm
 
# شرح لاستخدام الصفوف http://www.tutorialspoint.com/python/python_tuples.htm
 
# شرح لاستخدام الصفوف http://www.tutorialspoint.com/python/python_tuples.htm
بيروقراطيون، checkuser، staff، إداريون، تقنيون
4٬819

تعديل

قائمة التصفح