كما قمت بالتدريس ، ثم كتبت كتيبًا عن بايثون

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

لذلك ، عملت كمدرس في Python و Java. كان هذا المرجع المصدق يشتري مواد منهجية لـ Java ، وقد أطلقوا Python عندما جئت وعرضوها عليهم.

لقد كتبت كتيبًا للطلاب (في الأساس كتاب مدرسي أو برنامج تعليمي) بلغة بايثون ، لكن تدريس جافا والمواد المنهجية المستخدمة هناك كان له تأثير كبير.

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

ستقول: "حسنًا ، ماذا في ذلك ، دع المعلم يعمل بشكل أفضل ، والشطرنج والثعبان يمكن أن يكونا رائعين في النهاية!"

حسنًا ، سيكون كل شيء رائعًا إذا لم يكن عدد الأشخاص في المجموعة أقل من 15 عامًا ، وهذا أمر مهم بالفعل إذا كنت ستتبع الجميع ، موضحًا: "ولكن لماذا نكتب هذا؟"

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

حسنًا ، الشيء الأخير ، تدمير هذا البرنامج التعليمي حرفيًا - منذ البداية لا توجد على الأقل مقدمة كافية إلى حد ما تشرح ما هي أنواع البيانات ، وما هي الكائنات والبدائية ، وما هو المعيار الذي يتحقق من الخاصية التي تولد هذا الانقسام ، وما إلى ذلك. في الفصل الأول ، تمت دعوتك أنت وطلابك لإنشاء (شطب) برنامج يقوم بإنشاء نافذة ويكتب "مرحبًا!" ، ومع ذلك ، لا يشرح ما تعنيه ورقة التعليمات البرمجية هذه في الواقع ، فقط روابط إلى فصول أخرى ، على سبيل المثال ، "main" هي نقطة دخول ، ولكن لم يتم ذكر مفهوم "نقطة الدخول".

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

عندما أصبح واضحًا أنني سأترك جامعة كاليفورنيا ، وكان لابد من استمرار برنامج بايثون بطريقة ما في العام المقبل ، بدأت في كتابة كتابي المدرسي. باختصار ، قسمته إلى قسمين ، في الأول شرحت كل شيء عن أنواع البيانات وجوهرها والعمليات معها وتعليمات اللغة. بين الموضوعات ، قمت بعمل QnA حتى يتمكن المعلم المستقبلي من فهم كيفية تعلم الطالب للموضوع. حسنًا ، في النهاية قمت بعمل مشروع صغير. وهكذا يشرح الجزء الأول أساسيات اللغة ويمضغها ، وهو ما يقرب من 12-13 درسًا من 30-40 دقيقة. في الجزء الثاني ، كتبت بالفعل عن OOP ، ووصفت كيف يختلف تنفيذ هذا النموذج في Python عن معظم الآخرين ، وجعلت العديد من الروابط إلى دليل النمط ، وما إلى ذلك. للتلخيص - حاولت أن أكون مختلفًا قدر الإمكان عما كان موجودًا في برنامج Java التعليمي. كتبت مؤخرًا إلى معلمي الحالي في بايثون ، أطلب منه تعليقات على المواد ، والآن أنا سعيد لأن كل شيء على ما يرام ، وأن الأطفال يفهمون حقًا برمجة بايثون.

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

محدث: كما أشرت بحق في التعليق ، لم أقل شيئًا تقريبًا عن عرض المادة. سأقول على الفور أنني أعتقد أنه يجب أن يكون هناك مزيد من الممارسة ، قدر الإمكان. في نهاية كل جلسة في الجزء الأول ، قمت بـ 4-5 مهام تدريب صغيرة حول موضوع الفصل. بين الفصول كان هناك QnA (دروس التحكم) ، حيث كانت هناك أيضًا مهام عملية ، ولكن تم تقييمها بالفعل ، وفي نهاية الجزء الأول كان هناك مشروع مع موضوع للاختيار من بينها. في الجزء الثاني ، قمت بتقديم مقدمة إلى OOP من خلال إنشاء لعبة وحدة تحكم مصغرة ، والتي كان تطويرها هو الجزء الثاني بالكامل والمقدمة الكاملة للنموذج.

يمكن للمستخدمين المسجلين فقط المشاركة في الاستطلاع. تسجيل الدخول، من فضلك.

هل يتعلم طفلك البرمجة في مركز التعلم؟

  • 4,6%نعم 3

  • 95,4%رقم 62

صوت 65 مستخدمين. امتنع 27 مستخدما عن التصويت.

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

إضافة تعليق