تعليم لغة HTML للشباب ـ دراسة حالة

وضعتني الظروف منذ عام 1996 على احتكاك دائم مع مجموعة من جيل الشباب تتراوح أعمارهم بين 15-18 سنة، وجميعهم من أسر مثقفة، ولديهم جهاز كمبيوتر في المنزل، ويرغبون باستخدامه لأعمال مفيدة.
كان الأهالي يطلبون عادة تعليم أبنائهم لغة برمجة مثل Visual Basic أو Delphi. وعندما كنت أسألهم عن السبب كانوا يجيبون أنهم يعتقدون أن البرمجة أفضل ما يمكن فعله بالحاسب، ويطلبون مني أحيانا اقتراح تقنية بديلة للبرمجة. وفي الغالب كنت أجري مع الأهل المحاكمة التالية:
  • هدف الأهل وأبنائهم من تعلم تقنيات الحاسب هو ملء الوقت بشكل مفيد ويمثل استثمارا للمستقبل.
  • البرمجة عمل مفيد بدون شك، ولكن لا مانع من دراسة الاحتمالات الأخرى لتعليم الطلاب.
  • الإنتاج في البرمجة يحتاج إلى قاعدة في الرياضيات وفي الخوارزميات، وقد لا تتوفر هذه القاعدة في طالب المرحلة الثانوية مهما كان متفوقا.
  • إنتاج عمل برمجي محترم يحتاج إلى وقت طويل من شخص وحيد، وقد لا تكفي بضعة أشهر لإنتاج برنامج يكسب احترام الناس، ويُشعر الشاب بجدوى عمله.
  • تعلّم البرمجة في هذا العمر عمل غير مضمون النتائج، فإمكانيات الشاب لم تظهر بعد، وحتى لو توفرت الإمكانيات لديه، فهناك خطر تحول الموضوع كله إلى تجربة فاشلة إذا لم ينتج الشاب برنامجا جيدا فعلا بعد بذل جهد كبير.
  • لا يرغب الأهل بتسبيب صدمة لأبنائهم، ويقتنعون أن تعليم البرمجة للأبناء قد يسبب لهم صدمة في بعض الحالات، ويرغبون بمناقشة احتمال آخر.

    وفي أغلب الأحوال كنا نصل إلى النتيجة التالية:

     

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

    البداية مع PowerPoint


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

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

    المرحلة التالية HTML:


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

    البرامج المستخدمة:


    كنت في الغالب أحصل على موافقة الأهل على المضي قدما في تعليم أبنائهم تقنيات البرمجة على الإنترنت، وكنا نبدأ دائما من اختيار محرر نصوص مناسب. كنا نرفض استخدام FrontPage لأنه لا يعلم لغة HTML بحد ذاتها، ونختار أحد محررات النصوص التالية:
  • المفكرة Notepad: فهي برنامج سهل ويستطيع تحرير وعرض النصوص العربية بشكل سليم.
  • Microsoft Development Environment المرفق مع Office97 وما بعده. هذا البرنامج يدعم تحرير النصوص البرمجية العربية.
  • البرنامج EditPlus وهو برنامج صغير يستطيع تلوين أوامر اللغة، لكنه لا يدعم اللغة العربية بشكل كامل.

    أوامر HTML المستخدمة:


  • الربط مع صفحة تنسيق مستقلة CSS.
  • الأوامر P, H1..H6, OL, UL, LI, Table, TR, TD, IMG, Frameset, FRAME
  • أوامر التنسيق CSS باستخدم أنماط التنسيق Classes CSS.

    نتائج تعلم HTML:


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

    أمثلة:


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

    في عام 2000 عرض أربعة طلاب موقعا عربيا كبيرا في مسابقة الشبيبة للمعلوماتية في حماة، وحازوا على المركز الأول في المسابقة، وقالت يومها لجنة التحكيم أن هؤلاء الشباب سبقوا كل شباب سوريا في المجال التقني.

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

    في عام 2001 أنشأ طالبان موقعين مميزين هما: Annady.com و Bacalogia.com (متوقف حاليا).

    في عام 2001 حاز أحد الطلاب على المركز الأول في مسابقة الشبيبة للمعلوماتية في طرطوس

    في عام 2002 حاز أحد الطلاب على الجائزة الأولى في مسابقة الشبيبة للمعلوماتية في اللاذقية.

    إضافة إلى هذه الإنجازات، هناك الكثير من المشاريع التي أطلقت ولم تكتمل، أو اكتملت ولم تنشر على الإنترنت أو لم تشارك في معارض وتعرض على الجمهور العام.

    ما بعد HTML:


    خلال الأعوام الماضية دربت الكثيرين من الشباب على تطوير مشاريع شخصية بلغة HTML خلال أوقات فراغهم، وواحد منهم فقط هو الذي اختار متابعة الدراسة في مجال الحاسوب. هذا الشاب قرر المشاركة في الأولمبياد العربي الأول للمعلوماتية الذي نظمته الأكاديمية العربية للعلوم والتكنولوجيا في الاسكندرية برعاية جامعة الدول العربية، من أجل هذه المشاركة احتاج إلى تعلم لغة Visual Basic والخوارزميات المتطورة مثل Binary Tree و Back Tracking. واستطاع اتقان كل هذا في أقل من شهر، وسافر إلى الاسكندرية ليعود منها بالميدالية الفضية.

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

    الخلاصة:


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

    توصيات


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

    خاتمة


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

    ملاحظة: ألقيت هذه المحاضرة في مؤتمر الشباب والإنترنت الأول في سورية عام 2002
  • التعليقات

    red1

    من أجل هذه المشاركة احتاج إلى تعلم لغة Visual Basic والخوارزميات المتطورة مثل Binary Tree و Back Tracking. واستطاع اتقان كل هذا في أقل من شهر، وسافر إلى الاسكندرية ليعود منها بالميدالية الفضية.
    اتطلعت على شروط الانتساب الى الولمباد السوري للمعلوماتية و كان مطلوبا من المشاركين اتقان الخوارزميات و لغة السي!
    لا يكلف الله نفسا الا وسعها
    و انا شخصيا لا املك العقل للبرمجلة! لان رياضياتي ضعيفة نتيجة لاحتدام صار بيني و بين استاذ المادة فكرهت المادة! لا تقولوا غلط! فهذا هو الواقع! فانا كنت اعبد الرياضيات و اكره العربي و لكن الاوزان تغيرت نتيجة الاساتذة! و بذلك اوجه شكري للاستاذ باسل الوزة الذي جعلني احب العربي! ربما ستصل البرمجة الى عقول المراهقين اذا اعطيت بشكل صحيح و واعي! و كل شئ نسبي!
    الأيهم

    وصلني المقطع التالي من حوار حول هذه المقالة
    Youssef Hijazi wrote: مرحباً شادي: لا أعلم إن كانت المقالة التالية هي التي عنيتها في اتصالك أم غيرها، و لكن إن كانت هي فسأعلق على المقاطع التي قمت بتلوينها بلون آخر غير الأسود و حسب تسلسل ورودها في المقال الأصل. لقد لونت هذه الكلمة بالأحر لكونها خطأ قواعدي، حيث اعتقدت بداية أنني لن أجد ما أعلق عليه فكنت سأترصد الأخطاء اللغوية. أما حين وجدت ما أعلق عليه فلم أعد أعر هذه المسألة أية أهمية. كما تعلم لغة يقال "دون" دون أن تسبق بحرف جر آخر و قولها متبوعة بحرف الباء هو من الأخطاء الشائعة. _أستطيع أن أجد لك مصدر ذلك إن أردت و لكنني أعتقد أنني قد قرأتها ضمن مقرر اللغة العربية في السنة الثالثة في أوراق مصورة من صحيفة سورية (أعتقد أنها تشرين) لزاوية "قل و لا تقل"_ فقرة فوائد تعلم PowerPoint يجب تنبيه الطلاب إلى معظمها إن أردنا متابعة تعلم HTML. فمثلاً الفائدة الثالثة لا يتم التوصل إليها دائماً فهناك طلاب يلجؤون إلى صور موجود سابقاً دون أي تعديل عليها _أقصد دون استخدام برنامج رسم لهذا التعديل و ليس أدوات التعديل الممكن استخدامها على صور Clip Art_ كما أن معظمهم لن يقوموا باستخدام الماسح الضوئي ما لم يطلب منهم ذلك. كما أن الفائدة الخامسة لا يحس بها الطالب إن لم أعلمه ضمن البرنامج كيفية إضافة زر _أو ارتباط تشعبي_ للانتقال إلى صفحة أخرى _غير الصفحة التالية_ أما إن كان القصد هو الانتقال التسلسلي للصفحات فيجب على المدرس أن يشرح للطلاب أنهم قد اكتسبوا هذه التقنية. (كما تعلم فأنا قد قمت بتدريس PowerPoint في كليات مختلفة من جامعة دمشق و في برنامج تابع لوزارة التربية في مسقط بالإضافة لبعض المعاهد الخاصة في دمشق و وجدته أن الطلاب "دائماً" يجدون فائدة PowerPoint محصورة في: إما إعلان لمزايا منتج لتسويقه. أو لوضع مخطط عام و رؤوس أقلام فكرة ما لتقديمها في محاضرة أو سيمينار أو درس أو... بالنسبة لفوائد HTML. لماذا يصر في النقطتين الثانية و الثالثة على تأجيل تعلم لغة البرمجة "الأخرى" _مع التحفظ على وصف HTML بلغة برمجة فهي لغة إنشاء صفحات ويب و ليست لغة برمجة_ إلى ما بعد البكالوريا و بالتالي إلى ما بعد انتهاء الطلاب من إنجاز مشروعهم باستخدام HTML؟؟؟ (سأعود لمناقشة هذه الفكرة في مكان لاحق). كما أنني لونت الفكرة الأخيرة لأسأل عن هذه النتائج "الرائعة" و لكنني وجدت أنه يذكرها بعد ذلك. بالنسبة لنتائج تعلم HTML: أولاً فإن الأوامر التي يطلب أن نقوم بتعليمها هي أوامر تساعدنا على إنشاء ما يشبه عرض تقديمي تفاعلي _لوجود الآرتباطات التشعبية ضمنه_ و بالتالي فإنني أقوم بتعليم الطلاب طريقة أخرى إنشاء العروض التقديمية و التي سبق أن علمتهم أسهل طرق إنشائها ألا و هي استخدام PowerPoint. و بالتالي فإن النتائج الأربع الأولى يمكن تحقيقها بستخدام PowerPoint. ثانياً: بالنسبة للنتيجة الأخيرة فما علاقة HTML بلغات البرمجة؟؟؟؟ فكما تعلم HTML لا تحتاج أية خوارزمية. و لكنه يتابع ذلك بقوله: "خصوصا إذا كان قد اكتسب بعض الخبرة في JavaScript" و هو أمر لم يذكره ضمن مفردات مناهجه. و إذا افترضنا جدلاً أننا سنقوم بتدريسها للطلاب بعد اتقانهم لأوامر التنسيق ضمن HTML فإنني أعتقد _و هذا رأي شخصي مبني على عينة من طلابي في اختصاصي الرياضيات (سنة ثانية) و الإنفورماتيك (سنة رابعة) و هم يتعلمون ضمن القسم العملي برامج Office مع ما يتعلمونه في القسم النظري و الذي يحوي من لغات البرمجة GW-BASIC و Pascal و ANSI C أو ++C "حسب مدرس المادة" في الاختصاصين و يضاف لها Fortran في الإنفورماتيك. و هؤلاء الطلاب "بالرغم من ذلك" يجدون كافة نكهات Java "بما فيها Java Script و JScript" أصعب من كل ما تعلموه_ أن Java Script أصعب من بعض لغات البرمجة. بالنسبة للأمثلة فنجد جمل مثل "بعض الخبراء" و أن الموقع يشمل تبادل بيانات كبير و لكن ذلك لا يعني _باعتقادي الشخصي_ سوى أن هؤلاء الطلاب كانوا مصممين جيدين. و الذي أعرفه أن التصميم مستقل عن البرمجة ففي خبرتي العملية مثلاً كلما قمت بإنشاء برنامج ليقوم بأي شيء _مهما كان ذلك الشيء تافه_ فإنني أحيل البرنامج إلى صديق لي يعمل مجال مجال التصميم الرسومي ليقوم بتعديل التصميم بالنسبة لي _و إن كان ذلك عن طريق أن يبدي لي بملاحظاته على تصميم فقط و ليس بأن يقوم بأعباء ذلك التعديل_. فإن ما يلفت في أي موقع أو صفحة ويب هو أولاً التصميم يليه قيمة المحتوى و ثالثاً و أخيراً قلة الأخطاء _في الارتباطات مثلاً أو ألا تظهر رسائل خطأ ضمن التصفح أو... إلى آخر ما يضمنه هذا المعنى_. ما أقصده من هذه النقطة معطوفة على النقطة السابقة هو: أن يقوم شخص ما بتصميم صفحة رائعة و خالية من الأخطاء لا يعني أنه مبرمج جيد، فهنا مثلاً ليس لدينا اختبار للكود البرمجي _إن لم نستخدم Java Script_ و لكننا سنختبر الارتبطات فقط. و بالتالي فإن اعتبرنا ذلك برمجة فإن هذه البرمجة تفتقر إلى نقطة اختبار البرنامج و بالتالي تفتقر لضمان الجودة Quality Assurence. ما ذكر كخوارزميات متطورة أعتقد أنها من الخوارزميات الأساسية _التي نقوم بتدريسها للمبتدئين_ في لغتي Pascal و C مثلاً. في الخلاصة لم أقتنع بالنقطة الثانية نهائياً حيث أنني لم أصل للرابط بين HTML و لغات البرمجة "الأخرى" حتى الآن. و كذلك في النقطة الرابعة فأنا لم أعرف فيم يساعد ذلك. في التوصيات: لماذا يصر على تعلم لغات البرمجة بعد البكالوريا؟؟؟؟؟؟ بوجود مثل عربي يقول "العلم في الصغر كالنقش على الحجر" و قد اختبرت ذلك في معهدين حيث درست في الأول فئتي أطفال _بين 8-15 سنة_ و في الثاني عائلة قطرية تتراوح أعمارهم بين 6-18 سنة و في الحالتين وجدت تعلم هؤلاء الأطفال أفضل من تعلم الكبار في فئة قمت بتدريسها لأشخاص أكبر من 40 سنة بالإضافة لفئات المرسوم في الجامعة. حيث دائماً أسئلة الأطفال كانت حول فكرة مفيدة كما أن استفادتهم من البرنامج الذي يتعلمونه _على اختلافه بين هذه الفئات_ كانت أكبر من استفادة الكبار بناء على امتحان نهاية الدورة. كما أنه ضمن العائلة القطرية كان أفضلهم هو أصغرهم. هذه "فقط" هي ملاحظاتي على هذه المقالة و هي من وجهة نظر مدرس لبرامج Office و بعض لغات البرمجة. و قد كنت سأقوم بإرسال نسخة منها للأيهم لأرى رده عليها _فأعتقد أنك إن أردت أي تعقيب على ذلك فلن تجد أفضل منه ليعقب على هذه الملاحظات_ و لكنني لم أرسلها كوني لا أجد الوقت الكافي للدخول في محاورات طويلة في الوقت الحالي فقد بقي لي الآن أسبوعين فقط. و لكن يمكنك تحويلها له إن أردت أفضل تعقيب على هذه الملاحظات فقد يفيدك بوجهة نظره التي قد تحوي أموراً قد غابت عني. سلام.
    الأيهم

    شكرا للسيد يوسف على ملاحظاته القيمة، وفيما يلي أقدم بعض التوضيحات التي طلبها:
    فقرة فوائد تعلم PowerPoint يجب تنبيه الطلاب إلى معظمها إن أردنا متابعة تعلم HTML. فمثلاً الفائدة الثالثة لا يتم التوصل إليها دائماً فهناك طلاب يلجؤون إلى صور موجود سابقاً دون أي تعديل عليها _أقصد دون استخدام برنامج رسم لهذا التعديل و ليس أدوات التعديل الممكن استخدامها على صور Clip Art_ كما أن معظمهم لن يقوموا باستخدام الماسح الضوئي ما لم يطلب منهم ذلك.
    هذا هو دور المدرس الذي يضع منهاجا مناسبا للطلاب. يمكنك مثلا أن تقترح عليهم مشروع عرض تقديمي عن موضوع يحبونه وتزودهم بمصادر مطبوعة، وتشرح لهم كيف يستخدمون الماسحة، وبعدها تترك العنان لخيالهم الجامح وقدرتهم الهائلة على العمل.
    كما أن الفائدة الخامسة لا يحس بها الطالب إن لم أعلمه ضمن البرنامج كيفية إضافة زر _أو ارتباط تشعبي_ للانتقال إلى صفحة أخرى _غير الصفحة التالية_ أما إن كان القصد هو الانتقال التسلسلي للصفحات فيجب على المدرس أن يشرح للطلاب أنهم قد اكتسبوا هذه التقنية.
    يمكن أن يقترح المدرس على الطلاب تصميم استبيان بسيط في نهاية العرض للتأكد أن من شاهده قد فهم المحتوى، يشمل الاستبيان عدة أسئلة مع 3 أو 4 إجابات لكل منها، وعند النقر على كل إجابة تعرض الصفحة المناسبة لتأكيد الإجابة الصحيحة أو الخاطئة.
    (كما تعلم فأنا قد قمت بتدريس PowerPoint في كليات مختلفة من جامعة دمشق و في برنامج تابع لوزارة التربية في مسقط بالإضافة لبعض المعاهد الخاصة في دمشق و وجدته أن الطلاب "دائماً" يجدون فائدة PowerPoint محصورة في: إما إعلان لمزايا منتج لتسويقه. أو لوضع مخطط عام و رؤوس أقلام فكرة ما لتقديمها في محاضرة أو سيمينار أو درس أو...
    في هذه المحاضرة، أود أن أقول لكل المدرسين أن بإمكانكم استخدام هذا البرنامج لتدريب الطلاب في المرحلة الثانوية على التعبير عن أفكارهم على الحاسب، ولإكسابهم مهارات متعددة قد تفتح لهم مجالات تطوير غير البرمجة. هل حاولت مثلا أن تعطي طالبك نصا مطبوعا مزودا بالصور عن حيوان ما، وتطلب منه أن يستخدم نفس المادة في عرض تقديمي تفاعلي. لا يمكن أن تطلب من الطالب اليافع أن يؤلف المحتوى في هذا العمر، لأنه مازال في عمر التعلم والاكتساب. إذا أردته أن يبدع، قدم له المحتوى في المجال الذي يحبه ودربه على الأداة، واستعد للمفاجآت.
    بالنسبة لفوائد HTML. لماذا يصر في النقطتين الثانية و الثالثة على تأجيل تعلم لغة البرمجة "الأخرى" _مع التحفظ على وصف HTML بلغة برمجة فهي لغة إنشاء صفحات ويب و ليست لغة برمجة_ إلى ما بعد البكالوريا و بالتالي إلى ما بعد انتهاء الطلاب من إنجاز مشروعهم باستخدام HTML؟؟؟
    القصة ليست إصرارا يا سيدي، إنها إتاحة المزيد من الخيارات أمام الطالب. بعض الطلاب الذين دربتهم في تلك الفترة أصبحوا مصممين ممتازين، وأنا زبون عندهم حاليا. لو أنني وجهتهم باتجاه البرمجة ربما لم يصلوا إلى هذا المستوى حاليا. أحد أهداف المحاضرة هو إقناعكم بالخيار الآخر لتوجيه الطلاب. من الممتاز أن تدرب طالبك على البرمجة، ولكن من الأكثر امتيازا أن تفتح كل المجالات أمام الطالب، وتترك له مجال الاختيار حسب رغبته. طبعا أنا لا أقول أن لا تدرب من يحب البرمجة عليها. ولكن أقترح عليك أن تضع خيارات أخرى أمام طالبك، وتدفعه ليجربها كلها ليختار منها ما يناسبه فعلا. بالنسبة لي، HTML لغة برمجة عالية High Level تخدم هدفا محددا Target oriented، فهي تحوي كلمات مفتاحية، وقواعد لغة، وتحوي بنى شرطية وبنى تحكم من نوع خاص تخدم تنسيق النصوص. صحيح أنها لا تحوي نفس البنى التي تجدها في اللغات البنيوية، ولكنها ليست لغة بنيوية. صحيح أنها لا تحوي كائنات وأصنافا، ولكنها ليست لغة غرضية التوجه. يمكنني أن أقارن HTML مع اللغات المفسرة interpreted غير البنيوية Non-Structured وغير غرضية التوجه NON-OOP مثل LISP و CLIPS. في هذه اللغات تكتب البرامج في أي محرر نصوص، وتنفذ باستخدام مفسر Interpreter وهي عادة لغات سهلة التعلم لأنها مخصصة لهدف محدد ولا يحتاج إتقانها لإتقان عدد كبير من الخوارزميات أو الأدوات. لغة HTML ليست اللغة الوحيدة من هذا النوع، هناك مثلا XML التي أعتبرها في نفس الوقت لغة برمجة وقاعدة بيانات من نوع خاص.
    بالنسبة لنتائج تعلم HTML: أولاً فإن الأوامر التي يطلب أن نقوم بتعليمها هي أوامر تساعدنا على إنشاء ما يشبه عرض تقديمي تفاعلي _لوجود الآرتباطات التشعبية ضمنه_ و بالتالي فإنني أقوم بتعليم الطلاب طريقة أخرى إنشاء العروض التقديمية و التي سبق أن علمتهم أسهل طرق إنشائها ألا و هي استخدام PowerPoint. و بالتالي فإن النتائج الأربع الأولى يمكن تحقيقها بستخدام PowerPoint.
    قد يبدو ما تقوله صحيحا لأول وهلة، ولكن أدعوك للانتباه إلى النقاط التالية: 1- التقانة: HTML تقانة أكثر تطورا ولذلك فإمكانياتها أكبر من POWERPOINT. وعندما تعطي مشاريع ضخمة لطلابك، ستجد كيف تخرج المشاكل لتوضح مجالات قصور POWERPOINT. هناك أمور لا يمكنك أن تفعلها باستخدام PowerPoint ولكنها سهلة جدا باستخدام HTML. 2- خبرة الطلاب: ولا شك أنك ستلاحظ أن طلابك سيطلبون المزيد دائما، وكل إمكانيات PowerPoint لن تشبع رغبتهم في المزيد من الخبرة والمعرفة. وإذا أصررت على استخدام نفس الأداة معهم خلال السنوات الثلاث، لا تتوقع أنهم سيبقون معك إلى النهاية. 3- إمكانية العرض والتوزيع على الناس: مهما كان العرض التقديمي رائعا، تبقى نظرة الناس لموقع إنترنت أفضل بكثير من نظرتهم لعرض تقديمي. وقلة من الناس من سيعودون إلى عرض تقديمي باعتباره مرجعا، ولكننا معتادون على العودة لمواقع الإنترنت لكونها مراجع. أيضا، يستطيع الطالب أن يحمل إنتاجه على موقع شخصي ويبدأ مرحلة العمل من أجل المجتمع، وليس من أجل متعته أو رغبة مدرسه فقط.
    بالنسبة للنتيجة الأخيرة فما علاقة HTML بلغات البرمجة؟؟؟؟ فكما تعلم HTML لا تحتاج أية خوارزمية. و لكنه يتابع ذلك بقوله: "خصوصا إذا كان قد اكتسب بعض الخبرة في JavaScript" و هو أمر لم يذكره ضمن مفردات مناهجه. و إذا افترضنا جدلاً أننا سنقوم بتدريسها للطلاب بعد اتقانهم لأوامر التنسيق ضمن HTML فإنني أعتقد _و هذا رأي شخصي مبني على عينة من طلابي في اختصاصي الرياضيات (سنة ثانية) و الإنفورماتيك (سنة رابعة) و هم يتعلمون ضمن القسم العملي برامج Office مع ما يتعلمونه في القسم النظري و الذي يحوي من لغات البرمجة GW-BASIC و Pascal و ANSI C أو ++C "حسب مدرس المادة" في الاختصاصين و يضاف لها Fortran في الإنفورماتيك. و هؤلاء الطلاب "بالرغم من ذلك" يجدون كافة نكهات Java "بما فيها Java Script و JScript" أصعب من كل ما تعلموه_ أن Java Script أصعب من بعض لغات البرمجة.
    ما قلته كان افتراضا مني لأنني لم أجربه، ولكن جوابك قد يعكس مشكلة لديكم في منهاجكم، وليس في منهاجي. أنا لا أتوقع أنكم تعلمون لغة JavaScript لمن لا يعرفون HTML ولكنك لم تذكرها في مفردات مناهجكم. وأتمنى أن تحاولوا تعليم طلابكم لغة HTML أولا، ثم تقدموا لهم لغة JavaScript كمكمل للغة HTML وتقيموا النتيجة بعدها. أتوقع أنكم مثل الكثيرين من المعاهد والجامعات تدرسون جافا كأول مقرر برمجة أو كأداة لتطبيق الخوارزميات. ولكن يا سيدي، ما عدد المبرمجين الذين يستخدمون جافا فعليا في العالم. أنا أعتقد أن جافا على وشك الإنقراض لأنها فعلا غير صالحة للاستخدام البشري العادي كما يقول طلابكم. ومازلتم مصرين على تدريسها لهم تحت تأثير الحملات الإعلامية التي رافقت إطلاقها، والتي أثبت التاريخ أنها لم تقدم أية نتيجة من النتائج التي وعدت المبرمجين بها. أما عن جافا سكريب وجي سكريبت، فأي مبرمج بأي من هتين اللغتين يعرف أن لا علاقة بين أي منها وبين جافا إلا بالاسم. النص البرمجي أقرب كثيرا إلى C++ وبنى التحكم متطابقة مع C++ ولكن بدون الكثير من تعقيدات المؤشرات. سبب المشكلة أن Netscape أرادت أن تعطي سمعة جيدة للغة البرمجة النصية التي طورتها لمتصفحها، وكانت جافا في أوج سطوتها الإعلامية، عندما كانت اتهام الغباء ينزل على كل من لا يحترمها مثلى، فاختارت تسميتها JavaScript بدلا من CSctipt.
    بالنسبة للأمثلة فنجد جمل مثل "بعض الخبراء" و أن الموقع يشمل تبادل بيانات كبير و لكن ذلك لا يعني _باعتقادي الشخصي_ سوى أن هؤلاء الطلاب كانوا مصممين جيدين.
    في عام 1999 عرض هؤلاء الشباب في معرض عام مجموعة مواقع باللغة العربية مصممة باستخدام لغة HTML وحدها. هل تذكر كم كان عدد المواقع المبنية باللغة العربية منذ خمس سنوات. أما عن شهادة البرمجة، فالكثير منهم لا يعتبرون أنفسهم مبرمجين، ولا يقبلون حتى أن تطلق عليهم هذه الصفة، إنهم يعتبرون أنفسهم مصممين كما قلت، ولكن واحدا منهم اختار متابعة الدراسة في مجال تقنية المعلومات، وقد نال الميدالية الفضية في مسابقة برمجية للشباب على مستوى الوطن العربي. بقية الشباب توزعت دراستهم بين الطب والاقتصاد والهندسة. وهم مثلك يا سيدي، عندما يحتاجون عملا برمجيا، يستخدمون مبرمجا للقيام به. بالنسبة لهم، كان تعلم HTML كافيا في مجال البرمجة. بعضهم الآن يتعلمون تطبيقات الملتيميديا، ومعالجة الصوت بالحاسب، وأحدهم ينقب في كل مكان عن مراجع في ما يسميه الإخراج الالكتروني. يعني Interactive Multimedia Authoring.
    ما ذكر كخوارزميات متطورة أعتقد أنها من الخوارزميات الأساسية _التي نقوم بتدريسها للمبتدئين_ في لغتي Pascal و C مثلاً.
    كم طالبا لديكم في السنة الأولى يتقن اللغة وهذه الخوارزميات خلال شهر واحد من بدء الدراسة، وينال مركزا متقدما في مسابقة يشارك فيها عدد كبير من الطلاب من كل أنحاء الوطن العربي. بالنسبة لتجربتنا غير الأكاديمية، خوارزميات Backtracking تعتبر متقدمة جدا قياسا بوضع الطلاب وخبرتهم بالبرمجة.
    في الخلاصة لم أقتنع بالنقطة الثانية نهائياً حيث أنني لم أصل للرابط بين HTML و لغات البرمجة "الأخرى" حتى الآن. و كذلك في النقطة الرابعة فأنا لم أعرف فيم يساعد ذلك.
    أرجو أن تتذكر أنني كنت أدرب طلابا في أوقات فراغهم وفي العطلة الصيفية، وأنهم جميعا دون الثانوية. إذا كان طلابك من نفس الفئة، يمكنني أن أقترح عليك بعض الأمثلة في كيفية استفادة طلاب المرحلة الثانوية من HTML في تعلم البرمجة، إضافة إلى الفوائد التي ذكرتها في متن المقالة: - فهم فكرة البرمجة. أي كتابة تعليمات يتم تنفيذها لتعطي خرجا ما. - كتابة نصوص برمجية طويلة. هذه مجرد مهارة سيستخدمونها لاحقا في تعلم أية لغة برمجية. - كتابة نصوص مترابطة في عدد من الملفات، و تنقيحها بالانتقال من ملف لآخر. وهذه أيضا مهارة أخرى سيستخدمونها في البرمجة. - اختيار مجال تخصصهم في المعلوماتية، فالمصممون يختارون اتجاه التصميم، والمبرمجون يختارون اتجاه البرمجة. لغة HTML لا تصادر خياراتهم الشخصية، بل تعززها.
    في التوصيات: لماذا يصر على تعلم لغات البرمجة بعد البكالوريا؟؟؟؟؟؟ بوجود مثل عربي يقول "العلم في الصغر كالنقش على الحجر" و قد اختبرت ذلك في معهدين حيث درست في الأول فئتي أطفال _بين 8-15 سنة_ و في الثاني عائلة قطرية تتراوح أعمارهم بين 6-18 سنة و في الحالتين وجدت تعلم هؤلاء الأطفال أفضل من تعلم الكبار في فئة قمت بتدريسها لأشخاص أكبر من 40 سنة
    لا أنكر وجود تجارب ناجحة لتعليم البرمجة للصغار، ولكن يا سيدي، ماذا لو كان طالبك يميل ليصبح مصمما، ودربته أنت على البرمجة لأنك تحبها وليس لأنه هو يحبها. بررت رأيي بتأجيل تعليم لغات البرمجة إلى ما بعد البكالوريا في مقدمة المقالة. وأخيرا، شكرا جزيلا لك يا سيد يوسف، وللأخ الكريم شادي، على إغناء هذا الموضوع.
    YHijazi

    ما قلته كان افتراضا مني لأنني لم أجربه، ولكن جوابك قد يعكس مشكلة لديكم في منهاجكم، وليس في منهاجي. أنا لا أتوقع أنكم تعلمون لغة JavaScript لمن لا يعرفون HTML ولكنك لم تذكرها في مفردات مناهجكم. وأتمنى أن تحاولوا تعليم طلابكم لغة HTML أولا، ثم تقدموا لهم لغة JavaScript كمكمل للغة HTML وتقيموا النتيجة بعدها.
    أود التعليق فقط على كلمة "منهاجكم" و نصيحتك لي باختيار المنهاج و لذلك اسمح لي بالتوضيح التالي _الطويل نسبياً_: أولاً: في الجامعة: لا أستطيع أن أقوم بتعديل أي شيء في المنهاج فأنا مجرد مدرس مكلف. و لتغيير أية مادة يجب اتخاذ ذلك القرار على مستوى مجلس الكلية و أن يحظى هذا القرار بموافقة مجلس الجامعة. أما إن كان المطلوب تعديل محتوى المادة و ليس استبدالها جذرياً فذلك يقتضي استبدال الكتاب الجامعي المقرر، و عادة لا تتم تأليف و طباعة كتاب جديد إلا عند تغير مدرس المقرر _هذا على الأقل ضمن كلية العلوم و التي أعرفها منذ 9 سنوات إلى الآن منها أربع سنوات كمدرس_ و أنا لا استطيع تغيير مدرس المقرر و إنما ذلك أيضاً يتم على مستوى عمادة الكلية بناء على توجيه من رئاسة القسم. ثانياً: في المعاهد: من الغني عن الذكر بأن المعهد يحوي العديد من المدرسين بحيث يكون كل منهم مختصاً بتدريس منهج محدد و يتم تحديد هذا المنهج بناء على رغبة الطلاب عندما يسجلون _إن كان فئة كاملة تريد دورة مخصصة_ أو ضمن أحد المناهج المعدة سلفاً في المعهد مثل: Office بمستويين مبتدئ و متقدم أو استخدام الإنترنت و HTML أو الشبكات بمستويات متعددة أو البرمجة أو... و بالنسبة لي فأنا أقوم فقط بتدريس الطلاب المبتدئين في الحاسوب على ICDL أو ICDL Advanced _و التي هي مقررات Office بمستوييه_ بالإضافة إلى قواعد البيانات Access أو Oracle و لغتي البرمجة Pascal و C بتنويعاتها بما فيها Delphi و Visual C++ أو Visual C# و بالتالي عندما يريد الطالب تعلم الشبكات مثلاً فإن مدرسه يكون غيري. و لكنني أنصح كل طالب في آخر يوم من الدورة بالدورة التالية المناسبة له و التي _حتى بالنسبة للمبتدئين_ قد تكون في مجال التصميم أو الشبكات أو البرمجة أو قواعد البيانات و هي تختلف بين طالب و آخر. فحتى في نهاية دورة مبتدئ في البرمجة _بأي لغة كانت_ يتم تقسيم مجال متابعة الطلاب إلى البرمجة العامة المتقدمة أو برمجة قواعد البيانات أو تطوير الواجهات و استخدام أدوات التصميم بما يخدم البرنامج أو البرمجة المخصصة للشبكات. ما عنيته من النقطتين السابقتين أنني لا أضع منهجاً محدداً لجميع الطلاب و إنما أقوم باتباع المنهج الذي ارتضوه لأنفسهم. كما أنني من ناحية شخصية لم أقم بكتابة أي ملف HTML من الصفر فأنا لا أريد إعادة اختراع العجلة و إنما أحدد ما الذي أريده من هذا الملف و أنشئه بأسهل برنامج مخصص لذلك مثلاً: Word أو Excel أو Front Page _حسب الملف_ ثم أقوم بعد ذلك بفتح هذا الملف باستخدام المفكرة NotePad لإزالة ترويسة MS Office من هذا الملف و إجراء بعض التعديلات الأخيرة و التي يكون إجراؤها طويل نسبياً باستخدام البرنامج الأول. و بالتالي أجد أن تعلم HTML كمرحلة أولى بالنسبة لشخص يريد المتابعة في مجال البرمجة هي إضاعة للوقت، إذ أنه سيستطيع التعديل عليها بتصفحها بعد أن يتعلم لغة البرمجة التي يريدها. أما ما عنيته من قولي بناء على عينة من هذه الطلاب فما قصدته هو كونهم يحاولون تعلمها وحدهم من الكتب و يسألون المدرسين بعض الأسئلة خارج أوقات تدريبهم.
    كم طالبا لديكم في السنة الأولى يتقن اللغة وهذه الخوارزميات خلال شهر واحد من بدء الدراسة، وينال مركزا متقدما في مسابقة يشارك فيها عدد كبير من الطلاب من كل أنحاء الوطن العربي.
    لم أقل أن جميع الطلاب سيتقنوها و ذلك لأن معظم الطلاب لا يحضرون الجلسات العملية نهائياً و يدرسون بحيث ينجحون في الامتحان ثم ينسون جميع ما تعلموه. و لذلك فقد قمت بتدريس لغات البرمجة لسنة واحدة فقط في الجامعة ثم استبدلتها ببرنامج Macromedia Authorware لأنني خلال هذه السنة لم أجد سوى ثلاثة طلاب مهتمين بالبرمجة _هذا كان عام 2000_ و الآن أحد هؤلاء الطلاب يعمل مبرمجاً في شركة برمجية في دبي و ثانٍ في شركة خاصة هنا في دمشق و لا أعلم شيئاً عن الطالب الثالث حيث فقدت اتصالي به بعد أن تخرج. و بالتالي أعتقد أن ذلك عائد أيضاً لجهد شخصي و ليس فقط لما يتم تدريسه ضمن القاعة. و بالتالي أنا أؤيدك أن هذه الخوارزميات تعتبر متقدمة إن أردنا أن نقوم بتلقيم الطلاب كافة المعلومات التي يريدونها أما إن كنا نريد أن نضعهم في بداية الطريق و نعلهم طريقة استخدام ملفات المساعدة للمتابعة بعد ذلك فإن خوارزمية الأشجار الثنائية و استخداماتها ستكون ثاني خوارزمية نعلمها لهم بعد خوارزمية الترتيب الفقاعي _بتنويعاتها المستخدمة لتصغير الكلفة البرمجية_ أما خوارزمية Backtracking فقد تكون الثامنة أو العاشرة، و ذلك عائد إلى كون هذه المادة في الكلية غالباً ما تكون إما هي مادة الخوارزميات أو المادة التالية لها ليتم تطبيق تلك الخوارزميات باستخدامها. مما يجعلها خوارزمية غير متقدمة _بالنسبة للمبرمجين فقط_
    - اختيار مجال تخصصهم في المعلوماتية، فالمصممون يختارون اتجاه التصميم، والمبرمجون يختارون اتجاه البرمجة. لغة HTML لا تصادر خياراتهم الشخصية، بل تعززها.
    كما ذكرت سابقاً فأنا أنصحهم حسب توجهاتهم و لا أجبرهم على شيء لا يحبونه في المعاهد. و لكنني لا أستطيع إلا أن أجبرهم في الكليات فلست أنا الذي يضع مقرراتهم هناك.
    لا أنكر وجود تجارب ناجحة لتعليم البرمجة للصغار، ولكن يا سيدي، ماذا لو كان طالبك يميل ليصبح مصمما، ودربته أنت على البرمجة لأنك تحبها وليس لأنه هو يحبها.
    كما قلت سابقاً أنا أنصحهم فقط و لا أستطيع إجبارهم، و بالنسبة للصغار فأنصحهم و أبين الفروق بين المجالات الحاسوبية لهم و لآبائهم ثم أتابع حسب ما يقررون. و لكن في مجال البرمجة قد تصادف صغيراً يريد تعلمها _أو يجبره والده على ذلك_ و لكنك و بعد درسين أو ثلاث تجد أنه لا يتمتع بالعقلية التحليلية المناسبة لإنشاء الخوارزميات و بالتالي يجب أن تنصحه عندها بتغيير البرمجة إلى مجال آخر لا أن تجبره على شيء لن يبدع فيه. فيما عدا هذه الملاحظات الشخصية فلم أجد أي شيء غامض أو لا زلت أختلف معه في ردك. عدا أنني لم أقتنع بهذا الترتيب كمنهج ثابت لجميع الطلاب و لكنني ازددت اصراراً على رأيي بأن المنهج يجب أن يختلف تبعاً للطلاب و رغباتهم.

    إضافة تعليق جديد

    لا يسمح باستخدام الأحرف الانكليزية في اسم المستخدم. استخدم اسم مستخدم بالعربية

    محتويات هذا الحقل سرية ولن تظهر للآخرين.

    Restricted HTML

    • وسوم إتش.تي.إم.إل المسموح بها: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
    • تفصل السطور و الفقرات تلقائيا.
    • Web page addresses and email addresses turn into links automatically.

    دعوة للمشاركة

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