صعوبة تعلم لغة برمجية جديدة!!
ديسمبر 15th, 2007 بواسطة adminفي نقاش دار بيني وبين عضوة من عضوات هيئة التدريس عن المشاكل التي تواجهها طالبة تقنية المعلومات خلال دراستها، أجابت بكل ثقة أنها مشكلة البرمجة. وأردفت قائلة (مشكلة بعض الطالبات إن لم يكن معظمهن هو عدم حبهن للبرمجة، واعتبارها مهارة يجب تجنبها في المواد المتقدمة في القسم). فقلت لها (كيف يمكن لطالبة تخصصها الفعلي في الحاسب الآلي ولا تتقن عصب التخصص “البرمجة”؟!) سؤال لم أجد له إجابة!!
هذه المشكلة التي نواجهها وتواجهها بعض الجامعات حول العالم، تعتبر مشكلة بحثية مفتوحة لم يجد له حل حتى الآن؟ فالمشكلة إذا أردنا أن نصيغها بأسلوب آخر هو: لماذا يكره بعض طلبة الحاسب البرمجة ويبدعون في المواد الآخر؟ هل المشكلة في أن مفاهيم البرمجة مفاهيم مجردة وليست تطبيقية مثلها مثل بقية العلوم الأخرى كالفيزياء والكيمياء والأحياء؟
أيضاً، لماذا عند تدريس الطلبة للغة برمجية جديدة نجد أن نسب التفوق في اللغة الجديدة تكون متدنية؟ أليس من المفروض أن تكون أول مادة برمجة هي مادة تجمع قطبين قطب لغة البرمجة وقطب علم الحاسب. بحيث يمكن للطالب بعدها أن يستخدم علم الحاسب في تعلم لغات أخرى بسهولة؟!
إن ظاهرة صعوبة تعلم لغة برمجية جديدة ليست بجديدة فقد أكتشفها الباحث بن شنديرمان (Ben Shneiderman) عام 1980م، حيث قال في بحثه (إن تعلم لغة برمجية ثانية في الغالب أصعب من تعلم اللغة الأولى). وقد أرجع السبب، في أنه في المرة الأولى عند تعلم اللغة يكون تركيز الطالب على اللغة نفسها ولكن في المرة الثانية يبدأ الطالب بالنظر للغة البرمجية الجديدة بمنظارين منظار اللغة ومنظار علوم الحاسب. وهذا ما يجعل تعلم لغة جديدة صعبة لأن الطالب يبدأ عندها بالتعامل لأول مرة بعلم الحاسب كمفاهيم لفهم كيفية عمل اللغة الجديدة.
والسؤال الآن، هل يمكن أن نعلم الحاسب من دون لغة برمجة؟ الإجابة السريعة والمختصرة هي نعم! فقد قام بها الرياضيون قبل ذلك حينما قام آلن تورنق (Alan Turing)-الرياضي المشهور- باختراع الحاسب من دون تعريف للغة برمجية للتعامل معها. هذا دليل على أنه بإمكاننا أيضاً تدريس تخصص الحاسب بشكل عام بدون التركيز على لغة بعينها، ولكن هل ستجدي مثل هذه المنهجية في التخفيف من صعوبة تعلم لغة جديدة؟ سؤال بحثي آخر مفتوح بحاجة لإجابة؟!
حرر في وصلة إلكترونية |
ديسمبر 15th, 2007 at 10:47 am
أحيك على الموضوع ده وبالنسبه للبرمجه انا شايف ان الناس فى جمهوريه مصر العربيه بتخاف تجرب لكن بالفعل لو جربوا هيحسوا بطعم الكومبيوتر ومتاكد من انهم مش هيحبوا البرمجه هيعشئوها جدا جدا
ديسمبر 15th, 2007 at 3:54 pm
هل تظنين ان المشكلة في أسلوب التعليم الذي يتم إتباعه ؟!
ديسمبر 15th, 2007 at 7:32 pm
الفاضله د.هند
بما أنك تحدثتي عن وضع الطالبات في جامعتنا يحق لي الحديث بحكم أني طالبه في جامعة الملك سعود
أنا من رأيي أن المشكله لدينا بالجامعة ليست بالبرمجة فقط بل تعدت ذلك لأغلب مواد التخصص …أصبحت نظريه فقط أو مجرده
مادة الويب - نت وورك - والسيستيم- داتا بيس - سوفت وير
مواد درست أغلبها نظريا رغم أنها مواد عمليه بشكل كبير
هل يعقل أن تقيم الطالبه في مواد كهذه بناء على كلام مجرد على الورق
…المعمل اذا كان هناك معمل لايشكل سوى 20 % من تدريس الماده
والبروجكت إن وجد يوجد على استحياء وفي نهاية الترم وكأن الجزء العملي في هذه المواد جزء ثانوي
انا أدرس داتا بيس 2 حاليا لم أدرس فيه معمل ولا تعاملت مع الداتا بيس إلا على الورق هل يعقل
أني لم اتعامل مع الآكسس في جامعتي العزيزه أو الأوراكل فقط سمعت بأسماءها
عذرا استاذتي الفاضله ينبغي أن لانقارن أنفسنا بالغير علينا أن نقوم بأبحاث تخصنا فنحن مختلفون كثيرا عنهم… للأسف اختلافنا دائما للأسوأ
ديسمبر 16th, 2007 at 7:37 am
سلمت الأنامل ..
حتى من خلال معاينتي للزملاء مع بداية كل ترم و إدراج المواد ..
كثير منهم يتهرب من المواد المتعلقة بالبرمجة ..
المشكلة تكمن في التعليم العام ..
ولا ننسى أن البرمجة هي إحساس ..
( الحس البرمجي ) من الصعب تلقينه و تعليمه ..
فهي قدرة و موهبة قد تكون مكتسبة ..
لكي تحياتي
ديسمبر 16th, 2007 at 9:49 am
انا طالبه تقنية معلومات في جامعه الامارات
البرمجه مشكلتها في طريقة التدريس
انا اشوف اني يوم افكر فالبرمجة فاني احط حدود لتفكيري عشان يتناسب مع تفكري الحاسوب
افكرك في طريقة عمل البرنامج ويطلع logic صح 100% بس لما اوصل لمرحلة التطبيق يكون صعب علي اني احط عقلي من عقل الكمبيوتر..
في الوقت اللي امارس فيه البرمجه كهواية أو كشي انا ابي اوصل له او كنشاط خارج نطاق الدراسه تتطلع لي نتايج حلوه. اما يوم افكر في البرمجه كواجب لازم احله فاني اعجز عن التفكير .. لماذا ؟؟؟ لا اعرف
المهم
مشكورة على طرح الموضوع لانه كان عبالي انه بس مشكلتي بس شكله مرض مستفحل بين طلاب ال IT
ديسمبر 16th, 2007 at 6:06 pm
موضوع جميل ،،،
حب البرمجة يختلف من شخص إلى آخر. فتجد بعض الطلبة أبدع في تعلم تلك اللغة من البرمجة و آخر أخفق في ذلك الابداع بالرغم أن كليهما في نفس القاعة ويتلقون المعلومة من المدرس نفسه !
أني أرى أن ذلك الاختلاف يكمن في اختلاف كل منهما في توظيف العقل بحيث يجعله يتكيف مع تلك اللغة الجديدة عليه.
أيضا تعدد اللغات يجعل الشخص يمل نوعا ما في تعلم تلك اللغات إن لم يكن فيها تنوع في النتائج التطبيقية.
ديسمبر 16th, 2007 at 11:14 pm
السلام عليكم
حقيقة أنا مازلت في المستوى الأول بـIT
الجافا من المواد التي أدرسها حاليا
حقيقة المادة جميلة وممتعة
ما أراه الآن ان لغات البرمجة مواد عملية ..ما يزعج الطالبات كون الجانب الأكثر منها نظري في الدراسة
فمن المؤسف أن تطير درجاتنا من أجله
بينما العملي نجتازه بتفوق ..
شكرا لك د.هند
ديسمبر 17th, 2007 at 4:57 pm
بصراحة أرى أن الطلبة يستصعب عليهم فهم الجزء النظري، لأن تعلم أي لغة سهل جدا إذا فهم الطالب أشياء مثلData Structures.
البرمجة تتطلب التفكير بشكل يختلف تماما عن ماتتطلبه التخصصات الأخرى.
والبرمجة أصبحت أسهل بكثير الآن مع طهور لغات جديدة مثل التي تستخدمObject Oriented Programming.
هذا موضوع مهم جدا، شكرا لك على طرحه.
ديسمبر 17th, 2007 at 8:50 pm
لديّ تعليق لا أدري إن كان مفيداً أم لأ ولكن له علاقة بحماسة الطلبة لدراسة البرمجة ..
باختصار نحن لا نستفيد منها فعلياً ..
أن يُبرمج أحدهم برنامجاً في هذا العالم العربي ليس بالأمر الهيّن أو المتداول ، ولا توجد شركات تتبنّى أولئك المبرمجين ..
هذا بالنسبة لي شخصياً يفقدني الحماسة لدراسة البرمجة أشعر أني لن أستفيد منها عملياً او فعلياً ..
مواد البرمجة في جامعاتنا تدرس كبدايات فقط بحيث أني لا أجني منها سوى الصعوبة ، ولكن لا أخرج كمحترفة لهذه اللغة أبداً ..
سأكون سعيدة لو أفدتني في هذا .
شكراً كثيراً على هذه المدونة الثرية التي أتابعها دوماً
ديسمبر 18th, 2007 at 1:12 pm
أشكر الجميع على مداخلاتهم القيمة والتي بينت بعضا من الجوانب الأخرى المخفية من الموضوع.
وبالطبع لا يمكن تعميم أو تغفيل أن هناك عوامل عديدة تنسج خيوطها حول الموضوع … والمطلوب الآن هو حل هذه الخيوط لمعرفة بؤروة الخلل. وللقيام بذلك نحتاج إلى تظافر الجهود من قبل المختصين والطلبة حتى نخرج بنتيجة!!
وفق الله الجميع لما فيه الخير والصلاح.
ديسمبر 18th, 2007 at 5:08 pm
[…] ثل هذه البرامج الكمالية. روابط ذات صلة بالموضوع: صعوبة ت […]
ديسمبر 18th, 2007 at 8:09 pm
الموضوع شيّق جداً ومهم فى العصر الحديث لذا نرجو وضع برنامج مبسط للبرمجيات وفقكم الله وسدد خطاكم.
أبو زياد
ديسمبر 20th, 2007 at 5:01 pm
البرمجة تحتاج إلى قدرة خاصة إما أن تكون موجودة لدى الطالب أو لاتكون. ينطبق ذلك على الفنون كالموسيقى والرسم. البرمجة تتميز بأنها مزيج بين العلم والفن، لا يمكن تعلمها إلا بوجود أرضية علمية (رياضيات بشكل خاص) مع القدرة الخاصة أو الموهبة.
كلامي عن البرمجة كفكرة (خطوات لحل مشكلة ما) ليس عن لغة معينة. الطالب الذي سيعاني من تعلم لغة برمجة، سيعاني أساسا من استيعاب مفهوم الخوارزميات، وبنى المعطيات.
هناك أيضا مشكلة ظهور أدوات تطوير سهلة لدرجة إمكانية انشاء ما يشبه برامج كبيرة دون كتابة سطر واحد. قد يؤدي ذلك بمن يتوهم أنه أصبح مبرمجا إلى الرغبة في الدراسة والتخصص في مجال علوم الحاسب.
الأدوات التجارية مثل أكسس و أوراكل هي برامج موجه للمستخدمين أساسا. المتخصص عليه أن يعرف كيف يصنع هذه الادوات من الصفر، والجامعة يجب أن تعدّه لذلك.
الحل : وضع طرق فلترة عند تسجيل الطالب في تخصص له علاقة بالحاسب، كما تفعل معاهد الموسيقى و الفنون، بحيث لا يتم قبول الطالب إلا بعد تجاوز إختبار خاص، بغض النظر عن درجة الذكاء أو العلامات.
رابط مهم لبحث يحتوي على إحصاءات و تجربة طرق لتوقع قدرة الطالب على تعلم البرمجة قبل بداية الدراسة.
http://www.cs.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf
ديسمبر 21st, 2007 at 7:21 pm
السلام عليكم
عندما قرأت الموضوع تذكرت فكرة كانت تدور في رأسي تحاصرني وأحاصرها..
الفكرة في مشورع تطوير لغة برمجة للأطفال , تكون اللغه سهلة بالدرجة التي يتستطيع تعلمها الأطفال في سن ربما قبل المدرسة, تساعدهم في فهم الخوارزميات وفك وتحليل الألغاز وغيرها لينمو لديهم الفكر البرمجي مبكراً وليتضح مبكراً أيضاً ما إذا كان هذا الطفل مستعداً ليكون مبرمج..
لكني أحبطت عندما سمعت آراء بعض المبرمجين الكبار حيث أبدوا انه لا فائدة من مشروع كهذا..
مع أن الفكرة لا تزال تدور في رأسي إلا أنني أتردد كثيراً في اختيارها كفكرة لمشروع تخرجي الفصل القادم إن شاء الله, أو أتركها لتكون ضمن مشاريعي المستقبلية بعد التخرج
دمتم بخير..
ديسمبر 24th, 2007 at 10:08 am
عزيزتي إبتسام، لا عليك من “كبار المبرمجين” الذين يحبطونك. فكرتك رائعة وقد نجحت فب أمريكا حيث تم تجربتها بإنشاء برنامج Alice الذي يعلم الأطفال البرمجة بشكل رائع. قام بذلك الدكتور راندي باسج Randy Pausch وطورته إحدى طالباته بإنشاء نسخة Story Book للأطفال، حيث يمكنهم تأليف قصص وإبتكار الكثير بإستخدام Alice.
Alice برنامجا يعلم البرمجة بشكل مبسط وسهل. اللغة المستخدمة هي JAVA وأنصحك بتجربته فهو مجاني ومتوفر بالإنترنت ويعمل على نظام الماك والوندوز.
يناير 2nd, 2008 at 4:23 pm
بسم الله الرحمن الرحيم ..
الموضوع يضرب وترا حساسا في الجانب الأكاديمي لتخصصات الحاسب الألي .
أود ان أنوه الا ان هناك العديد من المشاكل التي تكره الطالب في التعمق او تعلم لغة جديدة منها تشعب المفهوم الواحد ,, فبعد انتشار مفهوم ال OOP كفكرة الطالب قد يستيطع بسهوله فهما ولكن تطبيقاتها المختلفة لكل لغة على حدة تجعل من الصعوبة الدخول في تعلم لغة اخرى . او بالأحرى تردد .
كذلك القاعدة المدرسية تلعب دورا هاما في غرس المفهوم البرمجي لدى الطالب . استغرب من المناهج العربية عند تعليم البرمجة في المدارس ادراج مسائل برمجية غير ممتعة , فأنت عندما تعلم البرمجة تعلم الطالب اولا حب المادة . فماذا لو عوضت تلك المسائل بمسائل لبرمجة العاب بسيطة , المهم هو الوصول الى الهدف وتعلم برمجة صحيحة من الأساس , ابتداء باللوغاريثمات البرمجية , والطرق الرياضية المختلفة …
يناير 4th, 2008 at 6:33 pm
أعتقد من وجهة نظري أن تعلم لغة برمجة معينة تحتاج إلى المعرفة والدراية الكاملة بأساسيات البرمجة ، وهذه الأساسيات هي قاعدة ترتكز عليها جميع لغات البرمجة …
ولمعرفة مفاهيم هذه الأساسيات تحتاج إلى القدرة على التفكير المنطقي والرياضي وهذه تتفاوت بين الأشخاص ، لكن المحك الحقيقي هو أساسيات البرمجة ، شئ آخر تتعلق بإتقان لغة برمجة معينة هو ” الخبرة ” …
دمتـ بود …