أطلقت VKontakte هذا العام ، بدعم من Promsvyazbank ، برنامج منح
VK Fellowship لمعلمي علوم الكمبيوتر. معًا ، اخترنا 15 مدرسًا من المناطق الروسية: منشئو دورات البرمجة المحمية بموجب حقوق الطبع والنشر ومعلمي المدارس ومديري مراكز التعليم المستمر والمدربين الذين يقومون بإعداد الطلاب لأولمبياد البرمجة الدولية. لقد حصلوا على منح دراسية من فكونتاكتي و Promsvyazbank ويشاركون الآن في مدارسنا الميدانية.

يتمتع جميع المعلمين بخبرة واسعة وهم مؤلفو دوراتهم التدريبية الخاصة على أساسيات البرمجة. في هذا المنشور ، طلبنا من ثلاثة من الزملاء الإجابة على أسئلتنا حول تدريس البرمجة وعلوم الكمبيوتر بشكل عام.
- أولاً ، دعونا نتعرف. | إينيسا شويكوفا: أعمل مديرة ومدرسًا لعلوم الكمبيوتر بمركز GOAOU لدعم الأطفال الموهوبين "إستراتيجية" مدينة ليبيتسك. أقوم بتدريس C ++ و Pascal في الصفوف 6-11. |
 | بيتر كالينين: أعيش وأعمل في نيجني نوفغورود. أُجري دروسًا في مدرسة ليسيوم رقم 40 ، على أساس Lobachevsky UNN ، وكذلك عن بعد ، دون الرجوع إلى مؤسسة تعليمية معينة. معظمهم في بيثون ، باسكال ، سي + +. مع بعض الأطفال أدرس في Java و C # ولغات أكثر غرابة. يذهب معظمهم إلى الصفوف من التاسع إلى الحادي عشر ، لكن بعضهم كانوا في الصف الرابع بالفعل. |
 | سيرجي بيليايف: أعيش في كراسنويارسك. أعمل مدرسًا للتعليم الإضافي في قصر الرواد الإقليمي في كراسنويارسك. هناك العديد من اللغات في العمل - C ++ و Pascal و Python و Basic و Java Script و Perl. يختلف عمر الطلاب - عادة من 12 إلى 18 عامًا. |
حول تدريس البرمجة
- كيفية تنظيم برمجة التدريس في المدارس؟إنيسا: يحتاج كل طالب إلى الحصول على المهارات الأساسية في استخدام منتجات البرمجيات العامة ، وتدريس النظافة الرقمية ، والعمل الآمن على الإنترنت وأساسيات البرمجة. للأطفال ذوي الاهتمامات والقدرات ذات الصلة ، أضف الخوارزميات وهياكل البيانات. ينبغي إجراء دورات البرمجة المتقدمة في شكل دورات خاصة. يجب إدراج كل طالب في دروس علوم الكمبيوتر في فريق المشروع لتنفيذ مشروع تكنولوجيا المعلومات بالمدرسة.
بيتر: لا أعتبر نفسي متخصصًا على وجه التحديد في التعليم الشامل لأطفال المدارس في المدارس الثانوية ، لكنني أعتقد أن التدريب يجب أن يتكيف مع احتياجات تلاميذ المدارس. يجب إعطاء الطلاب المهتمين معرفة متعمقة ، والباقي لديهم ما يكفي من الأفكار السطحية حول البرمجة.
سيرجي: يجب أن يكون البرنامج العام في إطار موضوع علوم الكمبيوتر هو نفسه كما هو الآن: البرمجة السطحية والأغراض التعليمية. بالطبع أكثر وضوحا للفصول المتخصصة مع التحيز البدني والرياضي. التدريب المهني معقول فقط في إطار التعليم الإضافي.
- أهم مشاكل تدريس البرمجة في روسيا؟ كيفية حلها؟إينيسا: في إطار التعليم العام ، يتم تخصيص عدد قليل من ساعات علوم الكمبيوتر (إذا لم تكن هذه فصول دراسية متخصصة) - ليس هذا هو الموضوع الرئيسي الذي سيتم إيلاء اهتمام كبير له. وبالتالي ، فإن معلمي علوم الكمبيوتر ليسوا محترفين دائمًا في هذا الموضوع ، وبالنسبة للعديد من تلاميذ المدارس ، يرتبط هذا الموضوع بعملية ليست مهمة للغاية ويفرضها النظام.
يمكن أن يكون الحل هو إدخال حكم القانون الذي يسمح بتعليم إضافي كنظام في التعليم العام. الأطفال سعداء لحضور دورات البرمجة في مراكز التعليم المستمر. ستجذب القدرة على الانطلاق في إتقان مقرر ما كنتيجة لبرنامج التعليم العام انتباه المزيد من الطلاب إلى إتقان مهارات البرمجة.
بيتر: إذا كنت لا تأخذ في الاعتبار مختلف المشاكل البيروقراطية ، فمن المحتمل أن يكون الشيء الرئيسي هو المعرفة القديمة (أو حتى عدم وجودها) لمعظم المعلمين.
سيرجي: أعتقد أن مشاكل تدريس علوم الكمبيوتر يتم دمجها مع المشكلات العامة للتعليم في روسيا ، مع حقيقة أن مهنة التدريس ليست مرموقة. والمعلم تدريس البرمجة ليست استثناء.
- هل يستحق المحاولة البرمجة قبل المدرسة؟ بأي شكل يستحق التنفيذ؟إينيسا: قبل المدرسة ، من الضروري تطوير القدرات الرياضية العامة ، الاهتمام بالقراءة ، الدافع للإدراك على هذا النحو. واعتبر أنه من غير المناسب إعطاء الأطفال شيئًا ليسوا مستعدين له نفسيا.
بيتر: ليس لدي إجابة واضحة ، لكنني أعتقد أن تطوير الألعاب والمهام ذات الاتجاه المبرمج له الحق في الوجود. على سبيل المثال ، اشتريت ابنتي البالغة من العمر ثلاث سنوات لعبة "تاكسي" من Mosigra.
سيرجي: أعتقد أنه من السابق لأوانه دراسة البرمجة قبل المدرسة. سيكون من الجميل قبل ذلك أن تتعلم القراءة والكتابة والعد.
- هناك رأي مشترك مفاده أن البرمجة اليوم تعتبر مهارة ضرورية مثل رخصة القيادة والإنجليزية. ماذا تقول؟انيسا: نعم ، إنه! حتى لو لم تقم بالبرمجة في العمل ، فإن فهم كيفية ترتيب البرامج وأنظمة المعلومات سيتيح لك الشعور بالثقة في البيئة الرقمية المستقبلية.
بيتر: لا أوافق بشدة. أولاً ، هناك حاجة إلى الحقوق واللغة (الأخيرة ، بدرجة أقل قليلاً) من قِبل 90٪ من الناس ليس فقط للعمل ، ولكن أيضًا للحياة الشخصية. البرمجة خارج العمل تحتاج إلى عدد صغير نسبيًا من الناس ، وفي الغالبية العظمى من الحالات - فقط كهواية. في العمل ، البرمجة بعيدة كل البعد عن أن تكون ضرورية للجميع - في هذا لا تختلف كثيرًا عن رخصة القيادة أو اللغة.
سيرجي: بالطبع لا ، لولا ذلك شعر الكثيرون بعدم الارتياح دون المهارة اللازمة. البرمجة هي تخصص ضيق إلى حد ما ، والتي فقط سيد قليلة. يتعلم الناس اللغة الإنجليزية أكثر من مرة ويقودون سيارة.
حول ميزات تعلم لغات البرمجة
- ما هي مهام البرمجة الأكثر صعوبة ومثيرة للاهتمام؟إينيسا: أعتقد أن الأمر يعتمد في المقام الأول على فكرة المهمة ، وليس على الموضوع. بعبارة أخرى ، من مدى جمال وجمال الفكرة التي تكمن وراءها المهمة ، إلى أي مدى يمكنك في وقت لاحق الإعجاب بغرابة المهمة أو خفة الفكرة التي كانت الأساس والمطلوبة للمضي في الطريق الصعب.
بيتر: الشيء الأكثر إثارة للاهتمام هو المهام الصعبة التي تتطلب نظرة غير عادية على الخوارزميات القياسية أو النظرية القياسية. على سبيل المثال ، المهمة "K" هي
من هنا.سيرجي : يُعتقد أن أكثر الموضوعات صعوبة هي الإعادة ، وهياكل البيانات (خاصة أشجار المقاطع والشجرة الديكارتية) ونظرية الرسم البياني. بالطبع ، في أي موضوع يمكن أن يكون هناك مهام بسيطة. كما هو الحال في أي موضوع بسيط من أشكال "الرياضيات البسيطة" ، لا يمكن أن توجد رياضيات بسيطة على الإطلاق ، وإن لم يكن ذلك من خلال البرمجة. لذلك ، كل هذا أمر شخصي تمامًا ، لا يمكن القول أن جميع مهام أحد الموضوعات بالضرورة أكثر تعقيدًا من أي شيء آخر. بالنسبة لي شخصياً ، يبدو أن المشكلات التي تنطوي عليها نظرية اللعبة هي الأصعب ، على وجه الخصوص ، تلك التي تستخدم طريقة minimax.
- هل من الممكن البدء في تعلم C ++ ، متجاوزة باسكال وباسك؟انيسة: نعم ، بالتأكيد ممكن. التأكيد هو تجربتي مع الأطفال.
بيتر: على وجه التحديد في C ++ - كان ذلك ممكنا ، لكنني لا أوصي به. أوصي باستبدال C ++ بـ Python. باسكال وحتى أكثر من ذلك الأساسية هي بالتأكيد ليست هناك حاجة.
سيرجي: بالطبع. لقد كنت أقوم بذلك منذ 15 عامًا. إذا كان الهدف الرئيسي هو تعريف الطلاب على عناصر البرمجة في وقت قصير ، وليس لتعليم البرمجة بشكل هادف ، فإن Python يكون أفضل.
- في أي ترتيب تحتاج إلى البدء في تعلم C ++ حتى لا تضيع في البرية؟إينيسا: أنصحك أن تبدأ على الفور في حل المشاكل البسيطة. مثال على دورة جيدة هو
"مقدمة ل C ++ البرمجة" من قبل ميخائيل غوستاكاشين.
بيتر: أعتقد أنه في أي لغة يجب أن تتعلم أولاً الأشياء الأساسية التي تسمح لك بكتابة برامج بسيطة (المتغيرات ، إذا ، الحلقات ، المصفوفات ، السلاسل ، الأعداد الحقيقية). معهم ، من الممكن بالفعل حل أي مشكلة أوليمبية تقريبًا. الباقي - حسب الحاجة.
سيرجي: أنا شخصياً أذهب إلى اللغة نفسها فقط بعد أربعة دروس تهدف إلى تعريف نفسي بالبرمجة باستخدام أمثلة من الخوارزميات الرائعة - مثل الألعاب ومقاطع الفيديو من الحملة السنوية "Code Hour". ثم أعرض اللاعبين على إيجابيات وسلبيات مهنة مبرمج ، بما في ذلك سنوات خبرتي العديدة. في الواقع ، فإن لغة البرمجة التي تم اختيارها للدراسة ليست أساسية ؛ سيكون ترتيب الموضوعات دائمًا كما هو. معرفة بناء الجملة للغة ليست هي الشيء الأكثر أهمية ؛ أي إنساني يمكنه إتقانها. الشيء الأكثر أهمية هو القدرة على خوارزمية وكتابة رمز واضح وخالي من الأخطاء.
- كيفية كتابة رمز C ++ واضح؟انيسا: بالنسبة للطلاب ، الاسم الصحيح للمتغيرات ، فإن تصميم النمط مهم. رمز واضح هو رمز منظم يمكن قراءته من قبل أشخاص آخرين في فريقك.
بيتر: كما في أي لغة ، تقسيم الشفرة إلى كيانات معقولة ، تسمية المتغيرات ، إلخ. لكن على المستوى المدرسي ، لا حاجة إلى أي شيء تقريبًا ، فإن الحد الأقصى هو وضع مسافة بادئة كافية.
سيرجي : هذا مهم بشكل خاص في إطار المشروع الذي تعمل عليه مجموعة من المبرمجين. في بعض الأحيان عليك أن تفهم برامج الآخرين ، ولهذا يجب الالتزام ببعض الاتفاقيات. ولكن على أي حال ، هناك مبادئ عامة من غير المرجح أن تكون ذات معنى من حيث قضية واحدة. سأسلط الضوء فقط على عدد قليل:
- هيكل البرنامج: يجب تخصيص وحدات منطقية في كتل منفصلة (المسافات البادئة في نص البرامج والوظائف والمكتبات) ؛
- يجب أن تتحدث أسماء المتغيرات والوظائف عن ما تحتويه ؛
- يجب عليك بالتأكيد استخدام التعليقات عند وصف كتل الخوارزميات ، يجب أن تحتوي كل وظيفة على مواصفات كاملة لمعلمات الإدخال وقيم الإرجاع.
- ما شعورك حيال استخدام Boost للأغراض التعليمية؟السيدة إينيسا: لا
أستخدمها في العمل
بيتر: من حيث المبدأ ، بشكل إيجابي ، ولكن هذا ليس ضروريًا في المدرسة.
سيرجي: في البرمجة الحقيقية ، ليس لدي أي شيء ضد هذا التمديد. لكنني أدرّس برامج الأولمبياد للأطفال ، ولن يتمكن الطلاب من استخدامها ، لأن Boost غير مدرج في المجموعة القياسية للمكتبات في أي من برامج التحويل البرمجي القياسية C ++. لذلك عليك أن تكون راضيًا عن ما هو ، على سبيل المثال ، STL (مكتبة النماذج القياسية).
- هل لديك وصفة ناجحة لإعداد الطلاب لبرمجة أولمبياد؟إنيسا: نظرية علوم الكمبيوتر بالإضافة إلى أساسيات الرياضيات المنفصلة والأساليب الرياضية لمعالجة البيانات. وكذلك التدريب المستمر ، في صلب النظام.
بيتر: النظرية الأساسية ، حل المشكلات ، فهم تنسيق الأولمبياد ، اختبار دقيق.
سيرجي: أعتقد أنه لا ينبغي استثمار الخبرة والوقت فحسب ، بل وأيضاً الروح في تدريس برامج تلاميذ المدارس. المعلم الذي يهتم بالموضوع هو وحده القادر على الاهتمام بالطلاب. عند تدريس البرمجة ، من المهم اختيار مجموعة من الطلاب الموهوبين ، ومن الصعب جدًا القيام بذلك في إحدى المدارس الثانوية. لذلك ، يكون العمل في مؤسسات التعليم الإضافي أكثر كفاءة ، حيث يمكن العمل مع أطفال من مدارس مختلفة
- هل هناك أي شيء في البرنامج يجعله فريدًا؟انيسة: لحظة رئيسية في التقنية نفسها. أقود مجموعات من الأطفال تتكون من مستوى التدريب والقدرة ، وليس حسب العمر. التعليم ليس فقط نموذجًا للمعلم والطالب ، ولكنه أيضًا نموذج للطالب والطالب. يساعد كبار السن الأصغر سنا: فهم يحللون المشكلات التي تم حلها ، ويفحصون نمط الكود لبرامج الكتابة ، ويساعدون المعلم. في الفصل الدراسي ، يتم الحفاظ على بيئة مجتمع الأطفال - مزاج للنجاح والترقية والنتائج. نقوم بأحداث ذات طابع أولمبياد ، تدريب خارجي معًا ، معًا ، بفرح.
بيتر: أولاً ، يتم عقد الدروس عبر الإنترنت تمامًا ، فمن الممكن الدراسة عن بُعد من أي مكان في العالم. ثانياً ، عدم وجود خطة تقويم ، يشارك كل طالب في وتيرته. ثالثا ، الانتباه إلى اختبار وإيجاد الأخطاء في التعليمات البرمجية. رابعًا ، ترخيص مجاني للمواد التي أطورها.
سيرجي: أولاً ، استخدام مورد المؤلف
"مدرسة المبرمجين" . ثانيا ، استخدام كتيبات حقوق التأليف والنشر المطبوعة. ثالثًا ، يتم تقديم جميع المواد النظرية في عروض تقديمية لتوضيح مواد البرنامج التعليمي بشكل أوضح.

عن التعليم الذاتي
- الدراسة الذاتية والتدريب المنتظم. كيفية الجمع بين ذلك أفضل؟إينيسا: التدريب مع المعلم وفقًا للمخطط الكلاسيكي - يعد هذا الخريف مهمًا من أجل إتقان القاعدة وتطوير مستوى "الوقوف على الجناح". عندما يصبح الطفل فائزًا بالجائزة ، يكون الفائز بأولمبياد جديين هو استمرار التدريب الكلاسيكي ، وعملية التدريب ، والمدارس الميدانية ، والتعليم الذاتي (دورات عن بعد ، والتدريب الشخصي الشخصي).
بيتر: ادمج كما أعرف ، على سبيل المثال. يدرس تلاميذ المدارس المواد بمفردهم ، لكنني أتحقق شخصيًا من حلول المشاكل ، بالإضافة إلى أن الرجال يمكنهم دائمًا التشاور معي إذا كان هناك شيء غير واضح لهم.
سيرجي: هذا صحيح ، من الأفضل الجمع بين التدريب الذاتي والتدريب المنتظم. يتيح لك ذلك تعلم موضوع البرمجة بشكل أسرع ، حيث يمكن للمعلم الموهوب توجيه الطالب بشكل صحيح في الاتجاه الصحيح ، وإخباره بماذا وأين وكيف.
- يقولون إن البرمجة تستحق التعلم حتى عمر معين ، وهذا العمر أقل من 30 عامًا. ثم الكفاءة تنخفض بشكل كبير. كيف تشعر حيال هذه القيود العمرية؟إينيسا: بالطبع ، سيكون من الجيد أن تتعلم كل شيء دفعة واحدة حتى سن الثلاثين ، ولكن تتغير الحياة ، وتتحسن المعرفة ، وتتطور اللغات. لذلك ، التدريب مستمر طوال الحياة. برمجة الأولمبياد ، التي تتطلب السرعة والتركيز النفسي وساعات التدريب - هذا مخصص للشباب. تعلم البرمجة بعد 30 عامًا - لا أرى أي مشاكل هنا إذا كان هناك دافع وعقلية رياضية.
سيرجي: في الأساس ، أوافق. ولكن ربما هناك استثناءات. بعد 30 عامًا ، لا توجد صعوبات في تعلم شيء ما فحسب ، ولكن مع البرمجة نفسها. بالطبع ، يحدث هذا بسلاسة كبيرة وليس هناك حدود واضحة. اعتدت أن أكون قادرًا على القيام بالبرمجة لمدة 10 ساعات في اليوم ، ولكن الآن - إطلاق نار. لذلك ، أنتقل بانتظام من البرمجة إلى برمجة التدريس: أنا البرنامج أقل وأقل وأعلم أكثر.
- ما هو شعورك حيال العديد من الدورات التدريبية للمبرمجين الذين يفتحون اليوم؟ لا تظن أنها تعطي المعرفة السطحية للغاية؟انيسا: مسارات الخلاف. في عملية اختيار الدورة ، من المفيد دائمًا النظر في المحاضرات الأولى من أجل ربط مستواك ومستوى الدورة ، لتقييم مدى فائدة المعرفة ، وما إلى ذلك. لذلك ، أعتقد أن هناك حاجة إلى معرفة أولية للدورة.
بيتر: أعتقد أن هناك دورات معقولة وسطحية. بالإضافة إلى ذلك ، يعتمد الكثير على الطالب نفسه.
سيرجي: لا أرى شيئًا خاطئًا في وجود دورات تقدم المعرفة السطحية فقط. يحتاج الأطفال فقط إلى بعض المعرفة بهذا الموضوع قبل التسجيل في دورة جادة تهدف إلى تدريس البرمجة الاحترافية. ولا يمكن أن يكون هناك العديد من الدورات المهنية: ببساطة لا يوجد الكثير من الأطفال القادرين على تعلم البرمجة الجادة ، فهذا اتجاه ضيق إلى حد ما.
- ما كان أصعب شيء بالنسبة لك أثناء التدريب الخاص بك؟ ما هي المراحل التي يمكنك الخروج بها؟إينيسا: المرحلة الأولى هي التطوير الأولي ، عندما يبدو أن كل شيء جديد وغامض. المرحلة الثانية هي دراسة عميقة للمادة ، عندما يقع كل شيء في مكانه. في هذه المرحلة ، تعد المشاورات مع الزملاء مهمة ، وإن أمكن ، تحسين المواد التي تم تدريسها. بالإضافة إلى ذلك ، أعتقد أنه من المهم أن أكرر باستمرار عملية التدريس والتحفيز لتعلم أشياء جديدة.
سيرجي: إذا كنت تتذكر أنه كان عام 1989 ، عندما لم يكن هناك إنترنت ، وجهاز كمبيوتر منزلي ومعلم ، وفقط آلة حاسبة واحدة قابلة للبرمجة مع تعليمات ، ثم نعم ، كانت هناك بعض الصعوبات. لكنني ما زلت قادرًا على إتقان المبادئ الأساسية للبرمجة. ثم كنت في الصف التاسع. كانت هذه هي المرحلة الأولى.
المرحلة التالية هي التدريب في إطار قانون الإجراءات الجنائية في الصفوف من 10 إلى 11 على أجهزة الكمبيوتر التي لا تحتوي على محركات أقراص ثابتة. ولكن بعد ذلك باستخدام لوحة مفاتيح وشاشة (كان تلفزيونًا أبيض وأسود) ومعلمًا. ثم درست Basic و Pascal. علاوة على ذلك ، توسعت قدراتي ومعرفتي في مجال البرمجة بشكل كبير. لقد درسنا C ++ و Lisp و Prolog و Assembler. ومنذ السنة الخامسة بدأت بتدريس نفسي ، وبدأت بتدريس باسكال لأطفال المدارس.
ترتبط المرحلة المهمة التالية في حياتي بتطور اتجاه برمجة الويب في بناء الموقع. ربما تكون هذه الخطوة قلبت حياتي رأسًا على عقب واجتذبت لي عددًا كبيرًا من أرباب العمل الذين ما زلت أحاربهم من جديد :)
فقط في عام 2003 أصبحت مهتمة ببرامج أوليمبياد وانتقلت إلى تدريس هذا الأمر لأطفال المدارس.
- ما الأخطاء التي ارتكبتها أثناء التدريب الخاص بك؟ ما يمكنك تقديم المشورة في هذا الصدد؟إينيسا: خطأ في عملية التعلم - محاولة لتغطية المعلومات المتباينة ، وكمية معينة من المعلومات ذات النوعية الرديئة. أنصحك باستخدام دورات عالية الجودة مع مراجعات جيدة وتوصيات من زملائهم بشأنها. من المهم أيضًا تخصيص وقت للتدريب بوضوح.
سيرجي: ربما كان خطأي الرئيسي هو الاختيار الخاطئ لأدوات البرمجة لإنشاء مواقع الويب. ما زلت أستخدم التكنولوجيا من Microsoft: Windows + IIS + ASP + MSSQL. كل التطورات لا تتطلب ترخيصًا فحسب ، بل تتطلب أيضًا موارد كبيرة للحوسبة. من الأفضل بكثير البناء على البرمجيات الحرة. في ذلك الوقت ، والآن لا يزال من المناسب إنشاء برامج وتطوير مواقع لـ Unix باستخدام Apache + PHP + MYSQL.