دراسة الـ Android Basics Nanodegree مع Udacity و مسك
دراسة الـ Android Basics Nanodegree مع Udacity و مسك
السلام عليكم ورحمة الله وبركاتة.
اللهم صلى على محمد وعلى اله وصحبه وسلم, والحمد لله رب العالمين.
هذه مراجعة لي وسرد تجربتي لدراسة درجة النانو ديجري في اساسيات تطوير الاندرويد من خلال يوداستي كونكت, حتى يستفيد الكل ممن يريد الخوض في هذه التجربه. بدايتاً اتقدم بالشكر لمؤسسة مسك الخيرية ومؤسسها الامير محمد بن سلمان بن عبدالعزيز, لإتاحة هذه الفرصة لي و لكل الراغبين في الالتحاق بها.
اقتباس
سنسعى من خلال مؤسسة "مسك الخيرية" إلى الأخذ بيد المبادرات والتشجيع على الإبداع, بما يضمن إستدامتها ونموها للمساهمة في بناء العقل البشري.
محمد بن سلمان بن عبدالعزيز المؤسس, رئيس مجلس الادارة.
ماذا سوف تقرئ في هذه المقاله
اقتباس
معلومات عن دراسة هذه الدوره المسميه بالـ Android Basics Nanodegree من قبل جوجل, وايضاً مدتها و سبب التحاقي ونصائح لمن يريد الالتحاق بها وبعض التحذيرات المهمه عنها وطريقة عملها وماذا سوف تتعلم وتستفيد منها والفروقات بين هذه الدوره والكورسات المجانية و الشركات الاخرى وبعض المشاريع التي قمت بعملها معهم.
معلومات الدورة
اسمها: Android Basics Nanodegree by Google
هذه الدورة خاصة بتعلم اساسيات البرمجة والتطوير للإندرويد في شكل مرئي و نصي وتفاعلي, اي انك تشاهد محاضرات قد اعدت سابقاً و ايضاً القرائة الكثيره من صفحات الـ Documentation و مقالات الويب المتعلقة في مجال تطوير الاندرويد (مثلا المقالات الموجوده في هذا الموقع مفيده جداً). ويأتي الدور التفاعلي في الكونكت بشكل مباشر مع المشرفين والطلاب اسبوعياً ٣ ساعات. ثم تطبق ماتعلمته لإنجاز المشاريع المطلوبة منك حتى تتخرج.
رابطها: من يوداستي.
رابطها: من مسك.
سبب التحاقي بها
الحصول على شهادة معتمده في تطوير الاندرويد والهدف الكبير هو تأهيلي للدورة المتقدمة في تطوير الاندرويد, ثم الاختبار المقدم من شركة جوجل.
مدة هذه الدورة
مدتها مكثفه جداً (مضغوطة) و تمدت الى ثلاثة اشهر في حالة الدراسة لـ ١٥ ساعة اسبوعياً. وتستطيع سباق هذه المدة والتخرج في وقت اقصر اذا كثفت ساعات الدراسة, ولكن لاتستطيع التأخر عن ٣ اشهر والا سوف تستبعد منها. في حالتي احتجت الى اقل من شهر واحد (٢٥ يوماً) لإتمامها, وذلك بتكثيف الدراسة بشكل كبير واستخدام تقنية الطماطم للدراسة!
نصائح مني لمن يرغب بالدخول في هذه الدورة
في رأيي قبل الدخول في هذه الدورة يجب ان تكون لديك معرفه بسيطة الى متوسطة في الامور التاليه:
- لغة الجافا.
- اللغة الانجليزية.
- وجود وقت متفرغ للدراسة (١٥ ساعه اسبوعياً او اكثر اذا تريد التخرج سريعاً).
- لغة الـ SQLite او SQL لإدارة قواعد البيانات (ان امكن).
- التعامل مع الـ JSON و الـ Network في الاندرويد وكيفية التعامل مع الـ APIs لإستقبال البيانات من الانترنت (ان امكن).
اذا وجد لديك معرفة في اغلب هذه الامور السابقه فانك حتماً ستنهي هذه الدوره في شهر تقريباً. اما اذا لا فلا تقلق فسوف تدرسها معهم, ولكن في اعتقادي ستحتاج الى ٣ اشهر وهو مقدار وقت هذه الدوره وكافي لها.
تحذيرات قبل الدخول في هذه الدورة
- الغش Plagiarism ممنوع منعاً باتاً, عقابه الحرمان من الدراسه في Udacity نهائياً و الحرمان من المنح المقدمه من مسك ايضاً.
- جعل شخص اخر يعمل مشاريعك يعتبر غش.
- نسخ الاكواد من المواقع الشهيره كـ Stackoverflow واستخدامها في اتمام مشاريع هذه الدوره يعتبر غش.
- نسخ الاكواد و الكلاسات من مشاريع زملاء سابقين قد انهو هذه الدوره يعتبر غش.
- استخدام مكاتب تسهل عليك اتمام المطلوبات الاساسيه يعتبر غش, مثلا استخدام مكاتب تسهل التعامل مع قواعد البيانات او الـ Networking ممنوع.
- المطلوب هو كتابة Java Raw Code في التعامل مع المطلوبات الاساسية.
- تستطيع استخدام مكاتب تسهل عليك بعض الاشياء الغير اساسيه كمثلاً مكتبة السكين Butter Knife.
- بالنسبه لإكتشاف الغش, الذي لاحظته من تجربتي معهم أنهم يستخدمون تطبيقات كالـ Falcon و مبرمجين خبراء, و ايضاً Machine Learning للتصحيح و الاحصائيات واكتشاف الغش, لذلك لاتفكر في الغش بشكل مطلق حتى لاتستبعد.
ماذا سوف تتعلم في هذه الدورة
كل شئ اساسي بالاندرويد! ابتدائاً من تصميم الواجهات والتعامل مع ادخال البيانات من قبل المستخدم وانشاء Activities مختلفه و Fragments و التعامل مع HTTP Networking و JSON Parsing و Threads وتختمها مع قواعد البيانات بالاندرويد.
طريقة عمل هذه الدورة
كانك داخل Loop تبدء بمشاهدة المحاضرات المسجله سابقاً في الاقسام التي سوف تدرسها بموقع Udacity باللغة الانجليزية طبعاً, وتقوم بحل الاسئله ان وجدت. ثم في نهاية كل قسم يوجد مشروع تعمل على اتمامه في الوقت المحدد لك. ثم تقوم برفع هذه المشروع على موقع GitHub او من خلال رفعه كملف zip وهم يقومون بتصحيحه والتدقيق وتأكد خلوه من الغش. وايضاً اسبوعياً تقوم بعمل كونكت من خلال موقع زوم مع المشرفين (نصيبي كان مع الاستاذ Abdulaziz Alawshan والاستاذه Shorouq Basnawi الرائعين) انت وبقية الطلاب (نص و صوت, ولكن اذا توفرت الكاميرا فهو افضل) حتى يوضحون لك الكثير من الامور الهامه ومساعدتك ان كنت تواجه صعوبات ومشاكل. وايضاً يوجد مجتمع خاص على موقع الـ Slack لطلب المساعده و الشات في امور تتعلق بالمشاريع والدروس. وايضاً منتدى خاص بالطلاب كذلك على موقع Udacity. وفي النهاية عند اتمام جميع المشاريع تتخرج.
التخرج
التخرج سلس جداً, ففي حال انتهائك من جميع المشاريع, كل ماعليك هو اثبات هويتك وانت التي قمت بالدراسة وليس غيرك. وذلك يأتي من خلال الاثبات الالكتروني للهوية وهو مبني على هذه الخدمة, ومن ثم تخريجك في اقل من ١٠ دقائق!
الفرق بين هذه الدوره المدفوعه و دراسة الكورسات مجاناً
طبعاً تستطيع دراسة محتوى هذه الدوره مجاناً على موقع يوداستي, حتى قبل خوضك فيها لتمهيد نفسك, ولكن تمتاز هذه الدوره المدفوعه بمميزات كثيره تكسبك خبرات اعمق مثلاً:
- وجود مجتمع حي وتفاعلي, على الكونكت و Slack و المنتدى الخاص بطلاب الدوره المدفوعه.
- التتبع معك من قبل المشرفين و فريق عمل يوداستي.
- تصحيح واجباتك ومشاريعك واعطائك feedback واقتراحات لطريقة برمجتك واتمامك للمشاريع من قبل خبراء في برمجة الاندرويد.
- الشهاده المدعومه عالمياً.
ماهو الفرق بين Udacity و TeamTreeHouse و Udemy و Pluralsight
ربما يتسائل البعض عن هذا الفرق, بما ان لدي خبره في تجربة جميع هذه المنصات للتعلم الذاتي (في مجال الاندرويد). استطيع ان اقول ان Udacity اعمق في التعليم واتقان برمجة الاندرويد. والفرق الشاسع في رأيي هو ان Udacity تسلك منهج مختلف عنهم وهو ان يجب على الطالب البحث والتجربه والعمل بالطرق الخاطئه ثم العمل بالطرق الصحيحه والفشل والتعلم من الفشل حتى يكمل مشاريعه وواجباته. اما باقي الشركات فمنهجهم هو مشاهده المحاضرات وبعض الاسئله مما يخلق جو سهل وممل. ولكن لإنصاف شركة الـ TeamTreeHouse فهي تعتبر منافس قوي لـ Udacity في تعليم الاندرويد وارخص وتعليمها ذو جودة يقارب Udacity نوعاً ما ولكن ليس بها ذلك العمق.
الطرق التي تستطيع استخدامها للمذاكرة والتخرج بشكل سريع (في اقل من شهر)
هذه بعض من الطرق التي استخدمتها حتى تسهل المذاكرة و التركيز وتزيد من الكفائه في عمل المشاريع مما ينتج عنها الجوده والتخرج السريع.
- تقنية الطماطم.
- تكثيف الدراسة شبه يومياً.
- قرائة متطلبات المشروع و تحديد المهم من النقاط قبل الخوض في دروس القسم (حتى تتكون لديك الـ Big Picture للمشروع تلقائياً).
- تحديد كل ماهو مهم في الـ Documentation ومقالات الويب عند قرائته, لانك حتماً سترجع لهم.
- تسريع المحاضرات في الدروس لضعف 1.5 و 2.0 بعض الاحيان (كما هو موجود باليوتيوب).
- العمل على المشروع في نفس وقت مشاهدة الدروس! لكني لا انصح بهذا الشئ لمن يواجه صعوبه.
قلم التحديد المستخدم في هذا الرابط.
تقنية الطماطم - لزيادة الكفائه
بما ان هذه التقنيه هي من افضل الاشياء المساعده في المذاكره والحفاظ على قوة التركيز وزيادة الكفائه فمن الافضل التعلم عليها وجعلها عادة قبل الخوض في هذه الدوره ان امكن. تستطيع مشاهده فيديو تعريفي لها من هذا الرابط (تقنية الطماطم).
بالنسبة لي استخدمت برنامج خاص بالماك وهو Be Focused Pro برنامج جداً بسيط وعملي, توجد منه نسخة مجانيه. اما اذا لم تكن من مستخدمي الماك فهناك الكثير من البرامج التي تطبق تقنية الطماطم في باقي المنصات فقط قم بالبحث في جوجل عنها تحت مسمى الـ Pomodoro Technique Apps.
هذه الصوره توضح مسار عملي على المشاريع باستخدام تقنية الطماطم. حيث كان الهدف ١٠ بندورات كل يوم. (ملاحظة تقريباً لم احسب وقت مشاهدة المحاضرات و الدروس. فقط قمت بحساب الوقت الذي استغرقته في عمل المشاريع كالبرمجه و التصميم والبحث, والتجربه, وحل المشاكل, والاطلاع على مصادر متنوعه, الخ...).
الفتره المستغرقة لإتمام مشاريع هذه الدورة والتخرج كانت تقريباً اقل من شهر, من 11/11/2017 الى 12/06/2017. وذلك باستخدام هذه التقنية و التكثيف الدراسي.
عدد الطماطم هو: ١٦٧, والوقت الكلي المستغرق: ٦٩:٣٥ ساعة. كل طماطم مدتها ٢٥ دقيقه.
واخيراً صور للإيضاح
حتى يتقرب المعنى لك اخي\اختي القارئ هذه بعض الصور من الدوره للتوضيح
- صوره للصف الخاص Class بك وتحتوي على الاقسام, وفي كل قسم دروس ومشروعات تعملها (بالعاده مشروع او مشروعين للقسم الواحد فقط).
- مثال: متطلبات المشروع الختامي للقسم الثالث المسمى بالـ User Input
* تستطيع تكبير الصوره بالضغظ عليها ثم الضغظ على زر "الحجم الكامل" بالزاوية السفلى, لمشاهدتها بشكل واضح جداً.
- بعد تصحيح المشروع من قبل Udacity ونجاحه في كل المهام المطلوبه
* تستطيع تكبير الصوره بالضغظ عليها ثم الضغظ على زر "الحجم الكامل" بالزاوية السفلى, لمشاهدتها بشكل واضح جداً.
- بعض الـ Feedback و الاقتراحات لتحسين برمجتك من قبل المصححين
* تستطيع تكبير الصوره بالضغظ عليها ثم الضغظ على زر "الحجم الكامل" بالزاوية السفلى, لمشاهدتها بشكل واضح جداً.
- الناتج النهائي, اي حل المشروع المطلوب
بعض من امثله لمشاريعي الاخرى في هذه الدوره
- تطبيق للتعامل مع قواعد البيانات بالاندرويد (المشروع النهائي) باستخدام Raw Java Code وبدون مكاتب. وذلك بكتابة كلاسات للتعامل مع قواعد البيانات كالـ Provider و Helper و Contract خاصين بقاعدة البيانات لديك.
- تطبيق للتعامل مع الـ JSON و HTTP Netorking و Threads و قرائة الناتج من الـ APIs كـ 0 و 1 ثم تحويله الى عناصر , باستخدام Raw Code Java اي بدون مكاتب. يجلب الاخبار المتعلقه بالذكاء الاصطناعي من احدى الصحف البريطانيه المشهوره (الجاردين).
- تطبيق سياحي لإحدى المدن, في حالتي اخترت المدينة المنورة. والهدف من هذا التطبيق هو التصميم و التعامل مع الـ Fragments و غيرها من اشياء.
- تطبيق مشغل موسيقى (ولكن في حالتي اخترت ان اعمل تطبيق مشغل للكتب الصوتيه). الهدف منه ممارسه التصميم و الاشياء البداية كالـ intent وليس تشغيل الموسيقى.
- اخيراً مع ابسط مشروعان بالدوره. تطبيق لدكان يبيع الايس كريم! اما الثاني فهو لحساب وتسجيل نتائج احدى الرياضات.
- وهذا هو اول واجب لي معهم, وكان عباره عن عمل تطبيق كشكل بطاقه مع الرسم اليدوي. في حالتي استخدمت هذه الصوره التي التقطها مسبقاً, وقمت بعمل illustrator لها باستخدام برنامج Pixelmator بالماك واظافة مقوله رائعه لها " البحر الهادئ لايصنع القبطان الجيد ".
في النهاية انصح الجميع باخد هذه الدوره حتى وان كانت سهله لديك, لانك ستحصل على شهادة معترف بها عالمياً من شركة جوجل. اي تزكيه بانك مبرمج اندرويد حقيقي. اما اذا كنت مبتدء فهي دورة ممتازه لك ايضاً وسوف تجد الكثير من المساعده معهم لإتمامها فلا تقلق.
والحمد لله رب العالمين اولاً واخراً ودمتم في رعاية الرحمن.
التعليقات (3)
عفواً اخي.
لا الدفع الشهري ليس متوفر لهذه الدوره, في السابق كان متوفر ولكن الان تم الغائه.
انت عملت جميع هذه البرامج في شهر واحد ؟ كيف ؟
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !