Professional Documents
Culture Documents
كيف يتعلم المبرمج ؟ PDF
كيف يتعلم المبرمج ؟ PDF
com/groups/1300363670024580/ إﻧﻀﻢ إﻟﯿﻨﺎ ﻟﯿﺼﻠﻚ ﻛﻞ ﻣﺎ ھﻮ ﺟﺪﯾﺪ ﺑﺎﻟﺒﺮﻣﺠﮫ ﻣﻊ ﻣﺠﻤﻮﻋﺔ ﺗﻌﻠﻢ اﻟﺒﺮﻣﺠﮫ ﻣﻦ اﻟﺒﺪاﯾﺔ إﻟﻰ اﻹﺣﺘﺮاف
ﺗﻢ
اﻟﺘ
ﺤﻤ
ﯿﻞ
ﻣﻦ
ﻣﻮﻗ
ﻊ اﻟ
ﺠﺎﻧ
ﺐا
ﻟﻤﺒ
ﺪع
ﺗﻢ
اﻟﺘ
ﺤﻤ
ﯿﻞ
ﻣﻦ
ﻣﻮﻗ
ﻊ اﻟ
إعداد
ﺠﺎﻧ
wajdyessam@hotmail.com
@WajdyEssam
ﻟﻤﺒ
ﺪع
محتويات الكتاب
ُمقدمة4 .................................................................................................................................................................
الفصل األول :طريقة التعلم 6 .................................................................... Learning Path
-1األساسيات 7 .................................................................................................................:Fundamentals
-2المعلومات 8 ...................................................................................................................... Information
-3اكتساب المهارات 9 ........................................................................................................................ Skills
خالصة للفرق بين األساسيات والمعلومات والمهارات11 ............................................................. :
-4مسار اإلبداع واالبتكار 11 .................................................................................................. :Innovation
الفصل الثاني :قيمة وصالحية ما سوف تتعلمه 11 .............................................................
ﺗﻢ
ً
أوال :ضريبة التعلم عند تحديدك لما تريد أن تتعلمه 11 ..........................................................................
اﻟﺘ
ﺤﻤ
ً
ثانيا :قيمة المعلومات مع الوقت 17 ......................................................................................................
الفصل الثالث :كيف يتعلم المبرمج بشكل ذاتي؟ 19 ...........................................................
ﯿﻞ
الجامعات19 .............................................................................................................................................:
ﻣﻦ
-1من أين تحصل على المنهج المتسلسل Curation؟ 22 .........................................................................
ﻣﻮﻗ
الكتب22 ...................................................................................................................................................:
مواقع الكورسات على االنترنت23 ......................................................................................................:
ﻊ اﻟ
-2من أين تحصل على المعرفة Knowledgeسواء األساسيات او المعلومات؟ 23 ...........................
ﺐا
الكتب23 ...................................................................................................................................................:
الكورسات والفيديو24 .......................................................................................................................... :
ﻟﻤﺒ
F
ُمقدمة
نعيش اليوم في عالم تتوفر فيه المعلومات في كل مكان بعدة أشكال
(مقاالت ،دروس ،كتب ،دورات تعليمية) وأصبح الوصول اليها غير مكلف وفي وقت
سريع ،فبمجرد بحث بسيط تستطيع الوصول الى ماليين من المعلومات ،سواء كان
ﺗﻢ
لديك سؤال وتبحث عن إجابة أو مشكلة برمجية تحتاج لحل ،أو طريقة إلعداد برنامج ما
اﻟﺘ
أو حتى تريد الحصول على خدمات من مواقع العمل الحر فكل ذلك يمكن الوصول اليه
ﺤﻤ
بدون تكلفة أو بتكلفة بسيطة في غالب األحيان.
ﯿﻞ
ليس هذا فقط ،بل حتى األدوات Toolsوالبرمجيات أصبحت كذلك رخيصة أو
ﻣﻦ
مجانية وهناك الخيارات البديلة للبرمجيات المغلقة المدفوعة في عالم ال Open
Sourceوقد يكون بعضها مساو أو أفضل من المدفوعة .وحتى األجهزة والمعالجات
ﻣﻮﻗ
Hardwareأصبحت أقل تكلفة وأكثر مقدرة ،بعكس ما كان عليه قبل سنوات حيث
ﻊ اﻟ
كانت المراجع شحيحة والمعلومات غير متوفرة بسهولة واألجهزة الجيدة يصعب
ﺠﺎﻧ
امتالكها.
ﺐا
" فإذا كانت المعرفة والمعلومات واألدوات رخيصة فالمتبقي هو المهارات " Skills
ﻟﻤﺒ
ً
مليا في أخر تقنية (لغة برمجة ،إطار عمل ...Framework قبل أن نبدأ عليك التفكر
الخ) تعلمتها ولماذا تعلمتها؟
وقم باإلجابة على هذه األسئلة قبل االنتقال لما يلي:
ً
مليا بأنه هل سيفيدك تعلم هل استحقت منك ذلك التعب والمجهود (هل فكرت
هذه التقنية واستثمار الوقت فيها)؟
هل كان تعلمك بناء على خطة Strategyواضحة المعالم أم أنها كانت بشكل
عشوائي من أي مصدر تجده أمامك سواء كتاب أو موقع او كورس وتأخذ من هنا
وهناك
ﺗﻢ
هل وصلت للمرحلة التي تمنيت الوصول اليها (مبتدئ ،متوسط ،خبير)؟ أم فقط
اﻟﺘ
قمت بالدراسة بدون أي هدف محدد وتوقفت فور ما شعرت بالملل؟
ﺤﻤ
هل هناك مخرج Outputلما قمت بتعلمه كمشروع قمت بتطبيق ما تعلمته من
ﯿﻞ
خالله
ﻣﻦ
هذا الكتيب هو خالصة للكورس Learning Technology in the Information
ﻣﻮﻗ
Ageمن موقع pluralsightوهو موقع يحتوي على كورسات صغيرة من خبراء في
التقنية
ﻊ اﻟ
ﺠﺎﻧ
ﺐا
ﻟﻤﺒ
ﺪع
وقد استفدت من هذا الكورس ،ورأيت أن انقل خالصته للناطقين بالعربية حتى
يتحصلوا على الفائدة فيه ،وقراءتك له يعني اإللمام بكل ما جاء فيه باإلضافة الى
نقاط أخرى وجدتها مفيدة وفي نفس السياق قمت بجمعها من مصادر أخرى وبعضها
األخر كان بناء على خبرة تحصلت عليها في العمل منذ أكثر من 1سنوات في تطوير
البرمجيات.
الكتيب ال يحتاج الى أي خبرة على االطالق ،وسواء كنت مبتدئ في المجال أو
لديك عدة سنوات فسوف يفيدك.
ً
سعيدا. ً
وقتا أتمنى لك
الطريقة التقليدية التي نعرفها عند تعلم أي موضوع وهي أن هناك مستويات
في ذلك الموضوع ،وستجد أن رحلة التعلم تبدأ من المستوى المبتدئ الى المستوى
ً
شيئا في ً
وأخيرا الى مستوى الخبير ،فتبدأ من أول نقطة وانت ال تعرف المتوسط
المجال وتنتقل مع الوقت الى ان تصل لمرحلة الخبير.
ﺗﻢ
لكن التقنية في تطور مستمر وهي لن تتوقف
اﻟﺘ
وستجد أن نقطة النهاية تتباعد كلما قاربت منها ،وحتى
ﺤﻤ
ً
مستقيما، لو كانت الرحلة لها نهاية فلن يكون المسار
ﯿﻞ
شيئا بطريقة خاطئة أو تواجهك العديد من ً فقد تتعلم
ﻣﻦ
المصاعب خالل تعلمك لها ،لذلك النظرة أن التعلم عبارة
ﻣﻮﻗ
.Information Age
ﺠﺎﻧ
ﺐا
لذلك يجب أن تنظر الى التعلم على أنه عبارة عن 4مسارات مختلفة ،كل منها له
ﻟﻤﺒ
دوره الحيوي:
ﺪع
)1األساسيات Fundamentals
)2المعلومات Information
)3المهارات Skills
هذه المسارات المختلفة سوف تسهل علينا فهم طريقة التعلم بشكل أفضل
وتعرف خصائص وأنواع المعرفة المختلفة.
)1األساسيات :Fundamentals
ً
مثال تريد أن تتعلم وهنا سوف تتعلم األساسيات في التقنية التي تريد تعلمها
البرمجة وتود أن تصبح مبرمج فسوف تتعلم المصفوفات وأنواع البيانات Data Types
ً
مثال تريد تعلم وتمثيلها ومفاهيم الـ OOPوغيرها من األساسيات في ذلك المجال،
ً
مثال إدارة وبرمجة الشبكات هنا سوف تتعلم بروتوكوالت الشبكة وتتعلم األساسيات
DNS، UDP،TCPوالخ ...وتتعلم المصطلحات في ذلك المجال.
ﺗﻢ
هناك ميزتين في األساسيات والتي تستطيع من خاللها تصنيف أي معلومة تجدها
اﻟﺘ
هل من األساسيات أم ال:
ﺤﻤ
ﯿﻞ
األساسيات تطبق على العديد من األمور المتعلقة Widely Applicableوال تختص
ﻣﻦ
ً
مثال بروتكوالت الشبكات تطبق بتقنية أو برنامج أو حتى Implementationمعين
على أي Hardwareللشبكة ،وكذلك ال OOPتطبق ألي لغة تعمل بهذا المفهوم.
ﻣﻮﻗ
ﻊ اﻟ
ً
نادرا ما تكون عديمة الفائدة وليس لها وقت صالحية تنتهي فيه وهي األساسيات
ً
حصرا على تقنية تكون حجر األساس Foundationللمعلومات األخرى التي تكون
ﺠﺎﻧ
معينة أو Implementationمعين.
ﺐا
ﻟﻤﺒ
ً
جيدا من عدة وفي الغالب تحتاج األساسيات ان تتعلمها في 3مرات حتى تفهمها
مصادر مختلفة وسوف تكون معك لألبد
)2المعلومات Information
لكي تعمل في مجال التقنية والبرمجة عليك بمعرفة المعلومات العامة األساسية
Fundamentalsباإلضافة الى المعلومات التي تختص بتقنية معينة أو المنتج المعين،
وهذه المعلومات المتعلقة بشيء معين سنسميها مرحلة المعلومات Information
(فقط المهم أن تفرق بين هذه المعلومات واألساسيات Fundamentalsبغض النظر
عن األسماء).
فاألساسيات تغطي ما هو الروترات Routersوماذا تفعل أما مرحلة المعلومات
سوف تعطيك كافة المعلومات حول نوع معين منه وخصائصه وكيف تتعامل معه،
ﺗﻢ
في البرمجة األساسيات سوف تعلمك ما هو ال integerوكيف يخزن وتتعامل معه،
اﻟﺘ
في مرحلة اكتساب المعلومات سوف تقوم بمعرفة كيف تتعامل معه في سي#
ﺤﻤ
ومجال االعداد المسموح بها في هذه اللغة ،وكل ما تتقدم في التعلم في معلومات
ﯿﻞ
ً
مثال ال Boxingوال Unboxingأو استخدام ال اللغة سوف تتعلم األمور أكثر صعوبة
ﻣﻦ
Reflectionوالخ.
ﻣﻮﻗ
ﻊ اﻟ
ﺠﺎﻧ
ً
اوال قبل أن تستخدم أو المنطق يقول تعلم األساسيات
ﺐا
ﺗﻢ
الناس الذين يذهبوا للمعلومات مباشرة قبل األساسيات قد يستطيعوا العمل ولكن
اﻟﺘ
سوف تكون هناك حفر كثيرة في معرفتهم ،ولسوء الحظ أغلب الدورات والدروس –
ﺤﻤ
ً
خصوصا العربية منها-تكون حول تعلم المعلومات Informationلتقنية معينة أو لغة
ﯿﻞ
معينة ،والمبتدئين الذين يدرسوا هذه الدورات سوف يكون لديهم خلل كثير في
ﻣﻦ
األساسيات وقد ال يعرفوا ما الذي ينقصهم
ﻣﻮﻗ
ﻊ اﻟ
ﺠﺎﻧ
من خصائص المعلومات والتي تستطيع التفرقة بينها وبين االساسيات هي انها:
ﺐا
ً
مثال معرفتك بكيفية إدارة نوع معين تنتهي صالحيتها بسرعه :become obsolete
ً
مثال IIS 6قد تذهب بمجرد تغيير البرنامج لطريقة عمله بعد التحديثات من البرامج
ﻟﻤﺒ
ولذلك يجب أن تتعلم هذه المعلومات فقط عندما تحتاجها وليس أن تتعلم هذه
المعلومات على أمل انها قد تفيدك في يوم من األيام وأنت تعرف أن وقت
صالحيتها قد ينتهي.
ً
مجانا وسهل الحصول عليها ولذلك يشد انتباهك ،ألن المعلومات واالساسيات متوفرة
فسوف تزيد قيمة المهارات وهذا هو الحاصل االن.
في أغلب األحيان المهارات هي التي تزيد من قيمتك وتدر عليك الــدخـل الـجـيــد
Generate Incomeفالشركات تدفع لك لكي تقوم باألشياء ولـيـس لـمـعـرفـتـك
باألشياء .وكلما تتقدم خبرتك
سوف المهارات، في
تستطيع تقديم حلول بسرعه
بدون أخطاء وأكثر كفائه من
ﺗﻢ
الشخص المبتدئ.
اﻟﺘ
ﺤﻤ
خالصة للفرق بين األساسيات والمعلومات والمهارات:
ً
نادرا ما تتغير والتي
ﯿﻞ
األساسيات :Fundamentalsهي األساسيات في المجال التي
ﻣﻦ
تسهل لك وتمهد لك فهم المعلومات المتخصصة.
ﻣﻮﻗ
من المفترض أن نسمى هذه المرحلة باالسم مرحلة الخبرة ،ولكن من هو الخبير ،هل
هو الشخص الذي يملك األساسيات الجيدة؟ أو الذي يعرف معلومات كثيرة؟ أو الذي
لديه مهارات متعددة؟
بشكل عام في التقنية الخبير هو:
الشخص الذي يحل أي مشكلة لها حل ويعرف ما هي المشاكل التي ال توجد لها .1
حلول ومعرفة لماذا ال يمكن حلها .الخبير هو الذي يستطيع الوصول Access
لألساسيات ،المعلومات ،المهارات الالزمة للقيام بالمهمة (الوصول كلمة اشمل من
كلمه "يعرف" أو انه "يستطيع البحث" بحيث إذا لم يجد ما يبحث عنه الخبير فانه
مثال عمل في منصة جديدة واحتاج لبناء chartولم يجد مكتبة مناسبة ً يقوم بعمله،
فسوف يقوم بكتابه ال charting & graphicsبنفسه).
الخبير هو الذي يؤلف الكتب والمقاالت ويبدع في انشاء معرفة جديدة ،بعباره .2
اخرى هو من ينشئ المعرفة ،Create knowledgeويوجد الحلول الجديدة ويقوم
بكتابة أفضل الممارسات للتقنية أو اللغة.
خبيرا في األساسيات أو يمكن أن خــبــيــ ًرا فــي
ً لذلك الخبير يمكن أن يكون
خبيرا في الــمــهــارات ،ولذلك سوف نحذف مرحلة ً المعلومات أو يمكن أن يكون
لدينا ويكون االبـداع
ﺗﻢ
الـتـعــلـــم عـلـى 3مسارات
ولكن اخر نقطة في كل
اﻟﺘ
ﺤﻤ
منهم تكون بداية الخبرة.
ﯿﻞ
ﻣﻦ
ﻣﻮﻗ
خبيرا في فيجول بيسك 6في 1991ولكنه اآلن ً Applemanصاحب الكورس ،كان
ً
حاليا، ليس كذلك ،وقد ال يهم إذا كانت لديه تلك الخبرة ألنه ال يوجد من يستخدمها
ﺠﺎﻧ
حاليا ليس كذلك بل متمرس بها وله معرفةً في 2111كان خبير في VB.NETولكن
ﺐا
ً
كثيرا وللنظر للموضوع بشكل أوضح من منظور لذلك الوصول للخبرة قد ال يفيدك
الشركات:
فاذا كانت لديها أشخاص متمرسين كفاية ويستطيعوا حل المشاكل فلماذا يتم
جلب الخبير ودفع المزيد من األموال؟ فقط يتم جلب الخبير في حالة لم يكن هناك من
يستطيع حل المشكلة المعينة ،لذلك في الغالب توظف الشركات األشخاص
المتمرسين الذين لديهم المعرفة والمهارة الكافية طالما انهم يستطيعوا العمل وحل
ً
مثال للعمل في أمور المشاكل ،ربما فقط في حاالت قليلة يتم جلب خبير للعمل
أساسية في المشروع أو شيء حساس يحتاج لخبرة كبيرة ،وعلى أي حالة لن تحتاج
ﺗﻢ
الشركة فريق من الخبراء حتى لو كانت تستطيع ايجادهم.
اﻟﺘ
أ ً
يضا كونك خبير فقد ال تأخذ عائدا أكبر في بعض األحيان عن الشخص المتمرس،
ﺤﻤ
باإلضافة الى انه عليك العمل بشكل أصعب لكي تحافظ على خبرتك Hard to stay
ﯿﻞ
،Expertان تكون خبير هو عمل صعب Hard Jobففهم المعلومات الموجودة
ﻣﻦ
ودراستها وتطبيقها أمر سهل بالمقارنة مع عمل التجارب Research & Experiment
واستحداث المعرفة والمعلومات الجديدة والقيام بالبحث والمالحظة ،فالوقت الذي
ﻣﻮﻗ
ستقضيه للوصول الى الخبرة قد تستطيع فيه ان تتمرس على تقنية أخرى.
ﻊ اﻟ
ً
مثال إذا كنت تود ان تصبح مؤلف Author
أو متحدث Speakerأو حتى مستشار
ﻟﻤﺒ
لنطرح مثال على ذلك ونرى كيف يكون عمل المبتدئ Careerودوره حياته،
وبعبار ة أخرى الحصول على أكبر فائدة من الجهد الذي سوف تضعه في عملية تعلمك
للتقنية
كونك مبتدئا فعليك الوصول لمرحلة االلمام
الكافي competentوقد تكون لديك اساسيات
ومعلومات ومهارة قليله ،وعليك بإيجاد وظيفة
كخريج جديد أو تدريب فهناك شركات لديها استعداد
لذلك وقد يوظفوا شخص بدون المهارات التي
ﺗﻢ
يطلبوها ولكن يكون الشخص لديه أشياء أخرى
يهتموا بها وهذا الشيء يقوموا به خاصه عندما ال تجد الشركة اشخاص ملمين بشكل
اﻟﺘ
ﺤﻤ
كافي فتلجأ لهذا الخيار
ﯿﻞ
هناك شركات توظف خريجين جدد ليس لديهم
ﻣﻦ
المهارات المطلوبة للعمل ولكن لديهم اساسيات
قوية على أساس انهم سوف يتعلموا بسرعه وهذا
ﻣﻮﻗ
ومايكروسفت
ﺠﺎﻧ
ﺗﻢ
Developerوهكذا أقسام الموارد البشرية HRفي الشركات هي في الغالب من
تقوم بوضع تلك التسميات.
اﻟﺘ
ﺤﻤ
الذي يهمك هو أن هذه األلقاب سوف تصل لها مع القراءة والممارسة والخبرة،
ﯿﻞ
ً
فمثال في الصور السابقة كنت مبتدئ وفي أول المجال وخبرتك ليست كافية ،فاذا
ﻣﻦ
جيدا فسوفً طلب منك كود سوف تقوم بكتابته وتسلمه كما طلب وربما ان كنت
تسلمه بدون أخطاء ويعمل بكفاءة جيدة ،بعكس الشخص األكثر خبرة منك فاذا طلب
ﻣﻮﻗ
ً
مثال: منه كود فلن يعطي كود بل سوف يطرح ً
أوال أسئلة كثيرة
ﻊ اﻟ
هناك جانبين مهمين عندما تتعلم أي موضوع وعليك بمعرفتهم قبل البدء في
عملية التعلم ،الجانب األول وهو التكلفة أو الضريبة التي سوف تدفعها عند تعلمك
للموضوع ،أما الجانب الثاني فهي قيمة ما تعلمته مع الوقت وهل سوف ينتهي
ً
سريعا أم أنه سيبقى معك وهذا جانب يفيد أن تعرفه قبل البدء في التعلم وفهم
صالحية المعلومات هي من األمور التي بسببها تم تقسيم عملية التعليم الى
المسارات التي سبق ذكرها.
ﺗﻢ
اﻟﺘ
ﺤﻤ
ً
أوال :ضريبة التعلم عند تحديدك لما تريد أن
ﯿﻞ تتعلمه
ﻣﻦ
هناك ضربيه مقابل التعلم وهذه
ﻣﻮﻗ
فكر باألمر كأنك ذهبت للسوق وتريد شراء شيء ما ولنقل سيارة ،فسوف تريد
معرفة ما الذي سوف تفيدك هذه السيارة مقارنه باألخرى ولماذا اخترتها وما هي
مواصفاتها.
تعلم التقنيات الجديدة مثل عملية الشراء هذه ،حيث المبلغ المدفوع هو وقتك،
لذلك اعرف ماذا تفيدك فيه والعائد الراجع لك ،وفي الغالب للمبرمجين يكون العائد
Job المطلوب هو في زيادة الدخل Incomeوالحصول على فرص عمل
Opportunitiesأفضل وأكثر ،أو بعض الحاالت العائد ال دخل له بالمادة ،وإنما يكون
للسمعة ،Reputationأو بمجرد الهواية وحب العمل For Funعلى هذه التقنية فقط.
ﺗﻢ
تعلم Visual Studioتعلم Databasesوالتقنيات بها ، Linq to SQL،ADO.NET
اﻟﺘ
Entity Frameworkوالخ .وقد تأخذ منك عدة شهور حتى للمبرمجين ذوي الخبرة
ﺤﻤ
ً
مثال .Java Ecosystem بتقنيات أخرى
ﯿﻞ
ﻣﻦ
فتعلم الـ Platformهو أكثر كلفة
ﻣﻮﻗ
وتتغير وتحتاج أن تحدث نفسك باستمرار ،بعكس اللغة والتي تتحدث بشكل ابطئ بكثير
ﺪع
من المكتبات
ً
مرغوبا به ،فلن يتم توظيف شخص أخيرا هذه ال Ecosystemهي ما تجعل المبرمج ً
يعرف PHPأو سي ++فقط ،ولكن سيتم توظيف شخص يكتب تطبيقات Facebook
ويستخدم ال Twitter APIويعرف ال Windows Internal & APIويستطيع استخدام
ال ، Azureويستخدم ال Springوله خبرة بها ،والخ من التقنيات.
تذكر أنه :عندما تريد أن تتعلم لغات البرمجة فانظر لها من خالل خصائصها حتى
مثال هل هي ،Strong/Loose Typeهل هي Case ً تستطيع التفريق بينهم،
Sensitiveأم ال ،هل تدعم ،OOPتدعم الوراثة المتعددة أم ال ،هل هي ،Functional
ً
معا ما هي ال Data Typesبها ،هل هي Interpretedأم Compiledأم االثنان
وهكذا.
عندما تعرف خصائص اللغات سوف تستطيع تعلم اللغة األخرى بسهولة طالما
ً
مسبقا في لغة أخرى ،وسوف يكون عليك التعود فقط على ال أنك تعرف الخصائص
Syntaxومن ثم الدخول في ال Librariesوالمكتبات المستخدمة في هذه اللغة
لكي تستطيع ان تنجز بها.
هذه الخصائص Characteristicsللغات باإلمكان ان تعتبرها أساسيات يجب تعلمها،
ولذلك تجد أغلب الجامعات لديها كورس اسمه Programming Languagesيتم فيه
ﺗﻢ
دراسة أربعه لغات على األقل ،الهدف منها هو ليس أن تصبح خبير بهذه اللغات األربعة
اﻟﺘ
وانما التعرف على أكثر من Paradigmمختلف في البرمجة فهذه النظرة سوف تفيدك
ﺤﻤ
جدا في المستقبل ،فاحرص ان تقرأ في كتاب أو تتبع دورة في مفاهيم ال ً
ﯿﻞ
Programming Languagesفهي سوف تفيدك.
ﻣﻦ
كيف تعرف أن ما تتعلمه له قيمة وسوف يفيدك سواء في الحصول على دخل
ﻣﻮﻗ
أسهل طريقة وهي النظر للحاجة Demandفي سوق العمل في بلدك وانظر
للوظائف وفرص العمل ،فاذا وجدت طلب كثير وبدخل جيد فهذا اشاره جيدة على أن
ﺠﺎﻧ
هناك حاجة لهذه التقنية ،وقم بتعلم شيء يقل المتمرسين فيه لكي تحصل على نقاط
ﺐا
ً
مثال تعمل على ال Web Servicesفقم بتعلمها باإلضافة الى عادات قوة اضافية،
وممارسات ال Securityبها.
ﻟﻤﺒ
ﺪع
ً
ثانيا :قيمة المعلومات مع الوقت
بعد أن تختار ما سوف تتعلمه عليك بتحديد كم من الوقت سوف تكون هذه
المعلومات لها قيمة فاذا كانت هذه المعلومات سوف تصبح عديمة فائدة في وقت
سريع فعليك أن تقضي وقت وجهد اقل في تعلمها بعكس فيما إذا كانت سوف
تبقى معك وتفيدك بشكل مستمر.
ً
وحاليا كل األجهزة تستخدم USBوتحويل المعلومات اليها سوف تكون سهله ،لذلك
ينصح بدفع وقتك وجهدك للحصول على شهادة من جامعه ألن الدراسة الجامعة تركز
على األساسيات والعائد سوف يكون معك لعدة سنوات،
ً
تماما ،فسوف تنتهي بسرعه ،مثل البرامج أو مسار المعلومات :هو العكس
ً
خصوصا هذه األيام مع مفاهيم ال Agileوال Continues اللغات يحدث بها تغييرات،
Deliveryفكل شيء متعلق بتقنية أو منصة ما يتغير بسرعه ،ويحتاج أن تواكب ذلك
ً
مثال salesforce.comتحدث تطورات بها كل اربعه أشهر هذا مع الوقت بدون توقف.
يعني باإلضافة الى ما ستقضيه من الوقت في األول للتعلم فعليك أن تضع جهد جديد
ً
ﺗﻢ
وايضا الكثير من كل اربعه أشهر لكي تتعلم األمور الجديدة لكي تكون ،Up to date
الشهادات التقنية تتطلب ان تقوم بتحديث الشهادة بعد فترة وتنتهي صالحية األولى،
اﻟﺘ
ﺤﻤ
وهذه من أصعب التحديات في المجال التقني.
ﯿﻞ
مسار المهارات :هو الوسط ،ألنه هو القدرة على تطبيق المعرفة ،فاألشياء التي
ﻣﻦ
بنيت على أساس األساسيات فقد تبقى أما التي بنيت على أساس المعلومات فقد
تنتهي .على سبيل المثال عندما تدرس علوم الحاسوب فسوف تدرس عدة طرق لترتيب
ﻣﻮﻗ
مصفوفة من األرقام باستخدام خوارزميات مختلفة ،وسوف تعرف كيف تقوم بتقييم
ﻊ اﻟ
evaluateخوارزمية معينة ،المهارة التي تجعلك تقوم بعمل دالة ترتيب هي طويلة
المدى ،لكن عندما تواجه مشكلة تحتاج للترتيب فهناك أشياء عليك القيام بها قبل
ﺠﺎﻧ
مثال هل توجد دالة جاهزة ،هل هناك limitationعلى الذاكرة أو ً استخدام المهارة،
ﺐا
المعالج وحجم البيانات التي سوف تريد ترتيبها ،كل هذه األشياء هي معلومات قد
ﻟﻤﺒ
واألساسيات التي تجعلك تقيم دالة ترتيب ومن تختار في حالتك سوف تفيدك
في هذه المرحلة
ً
ايضا للمسارات المختلفة ،فإذا كنت خبير مرحلة الخبرة أو االبتكار :وهي تكون
في األساسيات وبناء واكتشاف األساسيات مثل الدكاترة والبروفسورات فسوف
ً
ايضا .أما المعلومات في تقنية معينة أو برنامج سوف ينتهي تكون طويلة المدى
سريعا ويحتاج مجهود أكثر من ان تكون متمرس في المعلومة فقط.ً
ً
واضحا أحيانا ،ولكن اسأل نفسك كم من الوقت ً
أخيرا قد يكون الفاصل ليس
سوف يظل ما تتعلمه يفيدك فاذا كان طويل المدى فهذه اساسيات واال فهي
معلومات سوف تتغير مع تغير النسخة او اإلصدار القادم.
ﺗﻢ
لذلك عليك أن تستخدم منهجية معينة في التعلم ال سيما في األساسيات
اﻟﺘ
وأفضل طريقة لذلك هي محاكاة ما يتم تطبيقه في الجامعات وسوف نتعرف على
ﺤﻤ
ماذا تقدم الجامعات لك في عملية التعليم.
ﯿﻞ
ﻣﻦ
الجامعات:
ﻣﻮﻗ
في الجامعة تدرس األساسيات بشكل جيد ولكن التطبيق العملي واكتساب
ﻊ اﻟ
ً
وأحيانا يكون بعيد كل البعد عن المهارات ال يؤهل بالشكل المطلوب لسوق العمل
ﺠﺎﻧ
المهارات الصحيحة ،وهناك أسباب لهذا منها أن الدكاترة في تلك الجامعات وظيفتهم
ﺐا
ﺗﻢ
وال يفترض أن تقلق من ناحية فلترة المعلومات وما هو المهم بالنسبة للطالب
اﻟﺘ
ً
ايضا الجامعات توفر الدعم وما هو غير المهم فالجامعة وظيفتها ان تقوم بذلك،
ﺤﻤ
Supportلك حيث هناك طالب مثلك يمكنكم التعاون في القراءة وحل المشاكل،
ﯿﻞ
باإلضافة الى األساتذة والمساعدين الذين يستطيعوا مساعدك ان طلبك ذلك واإلجابة
ﻣﻦ
على اسئلتك.
ﻣﻮﻗ
ً
مثال Algorithms Analysis وهذا ضروري فالكثير من المراجع العلمية والمواد
ً
وايضا ما يميز الجامعة هو في يصعب ان يفهمها الطالب بدون مدرس أو مساعد ،
ﻊ اﻟ
االختبارات المتكررة التي تحفز الطالب على الدراسة والتعب ،باإلضافة الى الحصول
ﺠﺎﻧ
على الشهادة في األخير بعد التخرج والتي سوف تستفيد منها وقت العمل في
ً
ﺐا
ايضا بعض الجامعات توفر الفرصة لكي تحصل على خبرة حقيقية في بعض التوظيف،
المجاالت مثل المشاريع البحثية ، Research Projectsالدراسات العليا Advanced
ﻟﻤﺒ
ً
ايضا ً
حاليا العالم تغير ،وهناك بدائل
اوال المعلومات ً ً
ايضا وأسرع، أقل تكلفة
واالساسيات كما ذكرنا في البداية انها االن
أصبحت مجانية ،في السابق المعدات
واألجهزة كانت ال تتوفر اال في الجامعات
اما اليوم فالجميع يستطيع اقتنائها ،في
الطالب مالقاه تستطيع الجامعات
ايضا من خاللً والحصول على الدعم واليوم
الشبكات االجتماعية تستطيع التواصل مع
ﺗﻢ
ً
وايضا الجامعة ليست الوسيلة الوحيدة للحصول على أي طالب في مكان في العالم،
اﻟﺘ
المنهج Curationوهناك مواقع الكورسات open online courseتستطيع الدراسة
ﺤﻤ
وايضا أماكن أخرى تستطيع الحصول على منهج محدد مثل مناهج الشهادات ً منها،
ﯿﻞ
التقنية.
ﻣﻦ
ﻣﻮﻗ
ً
مثال الجامعة ،واالكتفاء بوجه واحد فقط،
ﺐا
ما سنوضحه اآلن البديل وكيف يمكن ان تحصل على جميع هذه االوجه Aspects
من خالل البدائل المتوفرة.
ﺗﻢ
اﻟﺘ
إذا لم تستطيع اإلجابة على هذه
ﺤﻤ
األسئلة فتعلم التقنية سوف يكون
ﯿﻞ
أصعب مما هو عليه ،فسوف تضيع
ﻣﻦ
وقتك في تعلم أشياء ليست مهمه،
ﻣﻮﻗ
له Prerequisites
ﺐا
لذلك التوجيه والمنهج الخاطئ أو غير المكتمل Poor Curationسوف يصعب عملية
تعلمك ويكلفك وقت أكثر ومال أكثر
ﻟﻤﺒ
ﺪع
ﺗﻢ
ً
وأحيانا في أخر الكتيب ،تلعب نفس الدور في إيجاد المنهج المتسلسل الواضح،
اﻟﺘ
الكورس في مواقع الكورسات يكون مجرد عرض فيديو للمحتوى الذي يوجد على
ﺤﻤ
الكتب.
ﯿﻞ
ﻣﻦ
مواقع الجامعات:
ﻣﻮﻗ
ويمكنك الدخول اليها والنظر لالئحة الكورسات والمنهج المتسلسل لكي تحصل
ﻊ اﻟ
ايضا على ال ،Curationحيث هناك جامعات تضع قائمة الكورسات والكتب المطلوبة ً
ﺠﺎﻧ
ً
وأحيانا تجد خطة الكورسات كاملة ،واالختبارات والواجبات. لكل كورس،
ﺐا
ﻟﻤﺒ
عندما تريد أن تنشئ خطتك الخاصة في التعلم ،فعليك باختيار الطريقة المناسبة لك،
فالبعض تجدي الكتب معهم ،والبعض األخر يفضلوا الفيديو ،ومن المصادر للحصول
على المعرفة:
الكتب:
هي ليست مجانية ولكنها رخيصة بمقارنه مع الطرق األخرى ،والجودة تختلف
ً
وجهدا ،لذلك كل المؤلفين يبذلوا بينهم لكن بشكل عام تكون جيدة ،ألنها تكلف وقتا
جهدهم لكي يخرجوا شيء عالي المستوى حتى يحصلوا على أرباح منها ،والكتب
Curatedوتوفر لك الوقت والجهد في اختيار المهم وفلترة المواضيع الموجودة.
الكتب التقنية تنتهي بسرعه ،Obsolete Quicklyوقد تكون مدتها سنة واحدة
ً
حاليا خيارات الكتب EBooksوالطباعة عند إذا كنت محظوظ ،لحسن الحظ هناك
ً
بدال من شراء الكتب التي سوف تنتهي بعد فترة ،على الطلب توفر لك حلول اخرى
كل ما زالت الكتب هي من أفضل الطرق للتعلم.
الكورسات والفيديو:
ومواقع الكورسات على االنترنت وهي مشابه للكتب وهي لمن يفضل الفيديو
على الكتب.
المواقع والمدونات والبحث:
ﺗﻢ
اﻟﺘ
هناك الكثير من المعلومات الممتازة واألسئلة واالجابات الموجودة وقد تكون
ﺤﻤ
بواسطة خبراء في المجال ،وهي مفيدة بال شكل ،ولكن اغلب الدروس تكون بدون
ﯿﻞ
منهجية متكاملة Curationلذلك يصعب إيجاد الترتيب والمواضيع المتعلقة بالنسبة
للمتعلم
ﻣﻦ
أن تتعلم تقنية أو مجال من
ﻣﻮﻗ
مواقع تقدم لك curationلمحتواها ،روابط للمقاالت المتعلقة ،وإذا كنت تريد تعلم
تقنية معينة فقد يكون هناك لها Documentationوهو يكون يحتوي على معلومات
موثوقة محدثة للمنتج .up to date
و من خالل التدريب تحصل على المهارات ،ولذلك تضع الجامعات الواجبات حتى
تتمرن بها .ويمكنك قرائه كل كتب البرمجة ومشاهدة كل الكورسات ولكنك لم تبقى
مبرمج اال بعد أن تكتب بنفسك وتحل المشاكل بها وتبني بها البرامج.
في مجاالت أخرى كالطب فالجامعة هي الوسيلة للحصول على المهارة الالزمة
تحت االشراف ،ولكن في المجال التقني االن (يمكنك الحصول على المعدات
واألجهزة بسهوله) والعمل عليها.
هناك الكثير من الكتب والدورات
تعطيك امثلة walkthroughخطوة
ﺗﻢ
بخطوة ولكنها ليست كافية وعليك
اﻟﺘ
حل مشاكل بنفسك ،الطريقة الجيدة
ﺤﻤ
هي باللعب playبالكود ،إذا لم تكن
ﯿﻞ
ﻣﻦ هناك مشاكل تجدها لحلها ،فقط بحل
مشاكل االخرين في مواقع البرمجة
مثل .SOF
ﻣﻮﻗ
ﻊ اﻟ
أ ً
يضا المشاركة في open source projectsوقم بالعمل في أحد المشاريع التي
ﺠﺎﻧ
تشد انتباهك وابحث عمن هم أكثر خبرة منك واستفد منهم ومن تجاربهم وحاول أن
ﺐا
أ ً
يضا يمكنك مشاهدة كورسات من االنترنت والتعلم عليها وعمل مجتمع دراسي
Study Groupلكي تدرس كورس ما ،وهناك مجتمعات للنقاش لكل كورس في
مواقع الكورسات على االنترنت وسوف تحصل على الدعم بعكس الكتب والتي قلما
تحصل على دعم بها.
ﺗﻢ
ألنك خبير وتقوم بإيجاد حلول جديدة لذلك إذا كنت تود ان تصبح خبير عليك حل
اﻟﺘ
المشاكل وسوف تحصل عليها مع الوقت ،وتصبح تحل المشاكل بدون جهد كبير
ﺤﻤ
ﯿﻞ
ﻣﻦ
)6من أين تحصل على الشهادات التقنية؟
ﻣﻮﻗ
الشهادات التقنية تنص على ان لديك معرفة بتقنية ما وهي معلومات حول منتج
أو تقنية معينة في اصدار معين ،وأنك انجزت المتطلبات لكي تحصل عليها ،بعباره
ﻊ اﻟ
أخرى تمرست على التقنية ،وقيمة الشهادة تعتمد على طبيعة االختبارات والغالب
ﺠﺎﻧ
منها يعتمد على الحفظ ،وأهميتها على حسب سوق العمل المتواجد فيه ،بالبعض
ﺐا
فيما تفعله.
ﺗﻢ
المهارات الحقيقية وال يوجد فيها دعم أو
اﻟﺘ
تحفيز وانضباط ألنهائها.
ﺤﻤ
ﯿﻞ
ﻣﻦ
"حتى يتم إعطاء النصيحة الجيدة ،فالسؤال هو ما هو المسار الذي تريد التركيز عليه،
وما هو المستوى الذي تريد الوصول اليه؟ بعباره أخرى حدد أهدافك؟"
ﻣﻮﻗ
ً
خصوصا إذا ً
أوال باألساسيات إذا كنت تريد أن تتعلم تقنية أو مجال جديد فعليك
ﻊ اﻟ
كنت ستقضي فترة في العمل عليه ،على سبيل المثال إذا كنت تريد ان تعمل وتطور
ﺠﺎﻧ
الداخل ،أما في مرحلة المهارات عليك بتطبيق موقع كامل وانشاء pluginأو التعديل
ﺪع
لكن إذا كنت تود أن تحل مشكلة ما فقط وليست لديك النية على العمل بهذا
اإلطار ،فسوف تتجاهل األساسيات وتبحث
عن حل للمشكلة التي تريدها مباشرة وقد
تجد حل جاهز للمشكلة بدون الحاجة لفهم
ماذا يحدث بالضبط ،وكلما كانت لديك
األساسيات كلما استطعت حل المشكلة
بشكل أسرع وأفضل.
ﺗﻢ
كيف تتعلم األساسيات؟
اﻟﺘ
أحد الصعوبات في تعلم األساسيات هي في ال ،curationعندما تبدأ بتقنية
ﺤﻤ
جديدة فأنت ال تعرف الحدود بها والتوجيهات تكون
ﯿﻞ
على حسب التقنية التي تريد ان تتعلمها وعلى حسب
ﻣﻦ
ً
مثال في مثال ال WordPressفال مستواك الحالي،
ﻣﻮﻗ
ﺗﻢ
اﻟﺘ
ً
ودائما اطلع على أكثر من مصدر
ﺤﻤ
عندما تتعلم التقنية ،فربما كتاب جيد
ولكن لم يجدي معك وربما ينفع معك
ﯿﻞ
ﻣﻦ
مصدر اخر أو أن الكتاب األخر قام بشرح
معلومة بشكل أفضل وأيسر من االول،
ﻣﻮﻗ
التعلم
ﺠﺎﻧ
ﺐا
ً
مثال إجابات على األسئلة والحلول لمشاكل االنترنت هو أفضل مرجع للمعلومات،
ً
جيدا في ال ،curationوحتى لو وجدت مصدر فقد ينتهي بسرعه معينة ولكنه ليس
مع الوقت ،وتذكر استخدام ال date filterعند
البحث حتى تحصل على أحدث اإلجابات وانظر
لتاريخ كل موضوع ألنه إذا زاد الوقت عن سنة
فقد يجدي هذا الحل وقد ال يجدي.
ً
وغالبا المعلومــــــات ســـــــوف تكتشفها عندمــــــا تكـــون في مرحلة لالختبارات بها،
اكتساب المهارات
ﺗﻢ
تريد ان تعمل عليها ،تذكر اتباع الدروس
اﻟﺘ
ً
كافيا الكتساب مهارات حقيقية ليس
ﺤﻤ
(وابحث أكثر عن كل شيء غير واضح)
ﯿﻞ
ﻣﻦ
عندما تطبق األمثلة حاول تغيرها بالتغير والتالعب بها وبهذه الطريقة سوف
ﻣﻮﻗ
تكتسب المهارات ،اتباع األمثلة يعطيك فهم لها وهذا ال يعطيك مهارات وانما هي
ﻊ اﻟ
ً
تطبيقا للمنهج ال ، curationوعليك التطوير وبناء األشياء األخرى غير الموجودة مجرد
ﺠﺎﻧ
مثال حل الواجبات إذا كانت هناك ،أو ابحث عن ً في األمثلة لكل تكتسب المهارات،
(مثال في ال ) stack overflowوقم بحلها وال تحاول ً مشاكل في مواقع البرمجة
ﺐا
حل المشاكل الحقيقية هو السبيل الوحيد لكي تحصل على مهارة حقيقة في
ﺪع
ً
واحيانا تضطر للتعلم أو مراجعة حل المشاكل ألنك سوف تحتاج للبحث عن المعلومات
األساسيات ،وإذا كان لديك الوقت يمكنك العمل في مواقع الفري النسر وحل
مشاريع حقيقة سوف تفيدك ،أو المشاركة في مشروع مفتوح المصدر.
ً
خبيرا؟ كيف تصبح
ً
واضحا Visibleكلما تأتيك الفرص أكثر ،تذكر ان تصبح خبير في كلما تكون
موضوع ما هو عمل شاق وقد ال يكون هناك افضليه على شخص متمرس بها ،ولكي
تستطيع الحصول على عائد من خبرتك عليك اكتساب مهارات اخرى مثل ادارة المشاريع
والفرق وتوزيع المهام والخ من مهام مديري المشاريع.
ﺗﻢ
ً
جيدا مع معلومات ما ثم طبقها. األساسيات
اﻟﺘ
ﺤﻤ
لذلك الخطة مثل الجراف Graphوال يجب ان يكون لها ترتيب معين ،والمهم في
ﯿﻞ
خطة التعلم هو ال scopeوأنك تعلمت ما تحتاجه لكي تصل ألهدافك
ﻣﻦ
ﻣﻮﻗ
ﻊ اﻟ
ﺠﺎﻧ
ﺐا
ﻟﻤﺒ
ﺪع
ً
أخيرا هذه قائمة بالمواقع الكورسات على االنترنت ،سواء المختصة بعلوم
الحاسب أم التي تختص البرمجة وتقنية معينة ،وهي ليست مرتبة أو شاملة ولكن
هذا هو األشهر وبعضها ليس مجاني ولكن معظمها كذلك:
/http://www.rwaq.orgبالعربية
/https://edraak.orgبالعربية
/http://aldarayn.comبالعربية
/http://codemasry.comبالعربية
/http://tahriracademy.orgبالعربية
بالعربية/http://www.nafham.com
بالعربية/http://www.waqfonline.com
بالعربية/http://abdullaheid.net
بالعربية/https://moalfat.com
/https://www.udacity.com
/https://www.class-central.com
/http://freevideolectures.com
/http://academicearth.org
ﺗﻢ
http://nptel.ac.in/courses.php?disciplineId=106
اﻟﺘ
/https://www.khanacademy.org
ﺤﻤ
/https://www.udemy.com
ﯿﻞ
/https://www.edx.org
ﻣﻦ
https://www.coursera.org/courses
http://ocw.mit.edu/index.htm
ﻣﻮﻗ
/http://videolectures.net
ﻊ اﻟ
/http://channel9.msdn.com
ﺠﺎﻧ
http://online.stanford.edu/courses
ﺐا
http://www.lynda.com/default.aspx
/http://www.microsoftvirtualacademy.com
ﻟﻤﺒ
/http://www.pluralsight.com
ﺪع
/https://university.mongodb.com
/https://www.openlearning.com/courses
النهاية
وقتك أهم شيء لديك ،أرجوا أن يكون موضوع هذا الكتيب قد بين لك ما األشياء التي
سوف تتعلمها وبأي طريقة وأن نكون نجحنا في إيصال هذه المادة وان تكون قد
ً
شيئا في وقتك الذي قضيته في هذا الكتيب. كسبت
كما الحظت في هذا الكتاب ركزنا على نقطة التعلم ومساراته ولم يكن التركيز عن
ماهية األمور الواجب أن يتعلمها المبرمج في وقته الحالي ،ألن التعليم إذا نُ ظر له
بالطريقة الصحيحة فسوف يستطيع المبرمج بعد ذلك أن يتعلم بالطريقة الصحيحة.
في إصدارات قادمة بإذن اهلل سوف نعمل في مؤلفات في إصدار مؤلفات تقنية
ﺗﻢ
ً
ايضا في حال كنت متخصصة في مسار األساسيات والمهارات وحتى المعلومات.
اﻟﺘ
مؤلف أو لديك النية في اصدار المؤلفات االلكترونية فباب المشاركة مفتوح للجميع.
ﺤﻤ
ﯿﻞ
ً
متواصال معنا بأرائك واستفساراتك أو إذا وجدت أي أخطاء ما أو لديك أي فكن
ﻣﻦ
مالحظات ،عبر موقع مؤلفات وموقع انفورماتيك أو عبر بريدي الموضح أدناه وصفحاتنا
االجتماعية يوجد روابطها على تلك المواقع ،فقم بالتسجيل بهم ومشاهدة المقاالت
ﻣﻮﻗ
فعاال حتى نعرف مكامن الحوجة أو النقص والتقصير ونصلح ذلك فيً والمؤلفات وكن
ﻊ اﻟ
وتذكر أن الكتاب قد يتم تحديثه لذلك قم بالدخول لموقع مؤلفات وحمل الكتاب حتى
يصلك اشعارات التحديث متى ما حصل ذلك.
ﺐا
ﻟﻤﺒ
ً
ﺪع