مع الحب من Stepik: منصة Hyperskill التعليمية

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

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

مع الحب من Stepik: منصة Hyperskill التعليمية

استطرادا غنائي

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

  • يمكنك فك وربط الأنابيب الموجودة أسفل الحوض بنفسك؛
  • يقع أقرب محل سباكة على بعد كيلومتر ونصف من شقة ماشينا.

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

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

إذن ما هو النهج الأفضل؟ في حالة الحوض والانسداد - الأول، ولهذه الأسباب:

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

دعونا نترك ماشا المسكينة وشأنها وننتقل إلى عملية التعلم على هذا النحو.

البرمجة: تعلم أم تفعل؟

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

إحدى المجالات التي تسير فيها "اليد القوية" أو "العين الماسية" جنبًا إلى جنب مع النظرة الواسعة هي البرمجة. إذا تحدثت إلى مطورين ذوي خبرة، فسوف تسمع قصصًا شجاعة درس فيها شخص ما الرياضيات/الفيزياء/التدريس منذ سن مبكرة، ثم تعب وانتقل إلى الواجهة الخلفية. سيكون هناك أيضًا مبرمجون بدون تعليم عالٍ! بادئ ذي بدء، ما يقدره المطور ليس الشهادة أو الدبلوم، بل كمية ونوعية البرامج المكتوبة والنصوص والمواقع الإلكترونية.

"ولكن انتظر!"، تعترض، "يبدو جميلًا - خذه وافعله!" لا أستطيع أن أكتب لنفسي برنامجًا بسهولة إذا لم أبرمجه من قبل! من المهم بالنسبة لي أن أفهم أين أكتب، وكيف أتحدث بشكل أساسي بلغة برمجة مع مترجم. فالأمر ليس مثل العثور على رقم هاتف سباك على جوجل.

هناك حقيقة مريرة في هذا أيضا. يؤدي جانب غير مألوف إلى جانب آخر، والذي يؤدي بدوره إلى جانب ثالث، وسرعان ما تتحول هذه العملية إلى عرض ساحر يستمر في سحب المناديل المربوطة ولا يمكنه إخراجها من القبعة العالية. بصراحة، هذه العملية غير سارة، بحلول "المنديل" الخامس، يبدو بالفعل أن عمق الجهل قريب من خندق ماريانا. البديل لذلك هو نفس المحاضرات حول 5 أنواع من المتغيرات، و10 أنواع من الحلقات، و3 مكتبة يحتمل أن تكون مفيدة. للأسف.

Hyperskill: بنينا، بنينا، وأخيراً بنينا

لقد فكرنا في هذه المشكلة لفترة طويلة. إن تاريخ آخر مشاركة على مدونتنا يتحدث كثيرًا عن المدة التي كنا نفكر فيها. وبعد كل المناقشات والمحاولات لدمج النهج الجديد في Stepik، انتهى بنا الأمر إلى... موقع مختلف. ربما تكون قد سمعت عنها بالفعل كجزء من أكاديمية JetBrains. أطلقنا عليها اسم Hyperskill، وهي مبنية على التعلم القائم على المشاريع، وربطنا بها قاعدة معارف Java، وحصلنا على دعم فريق EduTools. والآن مزيد من التفاصيل.

مع الحب من Stepik: منصة Hyperskill التعليمية

هدف محدد. نحن نقدم "قائمة" من المشاريع، أي. البرامج التي يمكنك كتابتها بمساعدتنا. من بينها tic-tac-toe، والمساعد الشخصي، وblockchain، ومحرك البحث، وما إلى ذلك. تتكون المشاريع من 5-6 مراحل؛ نتيجة كل مرحلة هي برنامج نهائي. "إذن لماذا نحتاج إلى المراحل الأخرى إذا كان كل شيء قد نجح بالفعل في المرحلة الأولى؟" شكرا على السؤال. مع كل خطوة يصبح البرنامج أكثر وظيفية أو أسرع. في البداية، يستغرق الكود 10 أسطر، ولكن في النهاية قد لا يصل إلى 500 سطر.

قليل من النظرية. من المستحيل الجلوس وكتابة Hello World دون معرفة كلمة واحدة عن البرمجة. لذلك، في كل مرحلة من مراحل المشروع، ترى ما هي الأساسيات النظرية التي يجب عليك إتقانها، والأهم من ذلك، أين يمكن الحصول عليها. تتوفر الأساسيات أيضًا في Hyperskill في قسم "خريطة المعرفة". إذا لم يُطلب من الطلاب في المرحلة الأولى من المشروع قراءة البيانات من ملف، فقد لا يتمكنون من المتابعة. سوف يتعلمونها بأنفسهم لاحقًا، من أجل التطوير العام، أو سيحتاجونها في المرحلة التالية.

مع الحب من Stepik: منصة Hyperskill التعليمية

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

لا شيء إضافي. نحن في انتظار المستخدمين "الأخضر" والمطورين ذوي الخبرة. إذا كنت قد كتبت برامج بالفعل، فلا يهم، فلن نجبرك على إضافة 2+2 أو قلب سطر مرة أخرى. للوصول على الفور إلى المستوى المطلوب، عند التسجيل، حدد ما تعرفه بالفعل واختر مشروعًا أكثر صعوبة. لا تخف من المبالغة في تقدير نفسك: إذا حدث أي شيء، يمكنك دائمًا العودة إلى موضوع منسي في خريطة المعرفة.

مع الحب من Stepik: منصة Hyperskill التعليمية

أدوات. من الرائع كتابة أجزاء صغيرة من التعليمات البرمجية في نافذة خاصة بالموقع، لكن البرمجة الحقيقية تبدأ بالعمل في بيئة التطوير (Iتكامل Development Eبيئة). لا يعرف المبرمجون ذوو الخبرة كيفية كتابة التعليمات البرمجية فحسب، بل يعرفون أيضًا كيفية تصميم واجهة رسومية، وتجميع ملفات مختلفة في مشروع، واستخدام أدوات تطوير إضافية، ويهتم IDE ببعض هذه العمليات. لماذا لا تتعلم هذه المهارات أثناء تعلم البرمجة؟ هذا هو المكان الذي تأتي فيه JetBrains للإنقاذ وإصدار خاص من IntelliJ IDEA Community Educational مع مكون إضافي EduTools مثبت مسبقًا. في مثل هذا البرنامج، يمكنك حضور دورات تدريبية، والتحقق من المشكلات التي تم حلها، والاطلاع على نصائح المشروع إذا نسيت شيئًا ما. لا تقلق إذا كانت هذه هي المرة الأولى التي تسمع فيها كلمة "Plugin" أو "IDE": سنخبرك ما هو وكيفية تثبيته على جهاز الكمبيوتر أو الكمبيوتر المحمول الخاص بك بأقل قدر من المعاناة. افهم النظرية، ثم انتقل إلى IDE وأكمل المرحلة التالية من المشروع هناك.

المواعيد النهائية. لا يوجد أي منهم! من نحن لنطرق رأسك ونخبرك بأي وتيرة تكتب البرنامج؟ عندما تستمتع بكتابة التعليمات البرمجية وترغب في الانتهاء منها، فسوف تنتهي منها اليوم أو غدًا. قم بالتطوير من أجل متعتك الخاصة.

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

نتيجة واضحة. لقد انتهيت من المسودة الأولى، ماذا بعد؟ استمتع بثمار عملك! العب تيك تاك تو مع أصدقائك وتفاخر بنجاحك في نفس الوقت. قم بتحميل المشروع على GitHub لعرضه على صاحب العمل المستقبلي، واكتب وصفًا بنفسك، وأشر هناك إلى المعرفة التي قمت بتطبيقها. 4-5 مشاريع معقدة، والآن، محفظة متواضعة لمطور مبتدئ جاهزة.

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

أهلا بك: hi.hyperskill.org ادخل وانظر وحاول واقترح وامدح وانتقد. نحن نتعلم أيضًا لنعلمك.

المصدر: www.habr.com

إضافة تعليق