أساس أي برمجة على... الألغاز

تحية طيبة لسكان خابروفسك!

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

أولا، قليلا عن نفسي.
وفي عام 2016 تخرجت من المعهد بمرتبة الشرف وحصلت على شهادة في أمن المعلومات للأنظمة الآلية. خلال دراستي، تمكنت مرارًا وتكرارًا من تحقيق إمكاناتي في كتابة المقالات العلمية والمشاركة في المسابقات والمنح. في عام 2015، أتيحت لي الفرصة لأصبح الفائز في مسابقة عموم روسيا للعلماء الشباب "UMNIK". في عام 2016، قبل أن يكمل دراسته، كان يعمل بالفعل في مؤسسة كبيرة في المدينة كـ “متخصص في أمن المعلومات والتشفير والتشفير”.
باختصار شيء من هذا القبيل. يمكنك أن تتخيل أنه لا يزال لدي فكرة عن البرمجة.

وها هو عام 2017. الدراسات العليا. لقد طُلب مني تدريس لغة C++ في إحدى الكليات لمدة فصل دراسي، ووُعدت مقابل ذلك بمكافآت جيدة لتخفيف العبء عن طالب الدراسات العليا وليس أكثر.

لأكون صادقًا، كنت مهتمًا بصدق بتجربة نفسي في هذه العقيدة.

الزوج الأول
سبتمبر. الأسبوع الأول من المدرسة. جاء الطلاب لي. ""الفرقة الأشقى"" - هكذا كانوا يطلقون عليهم.
23 شخصا. "المبرمجون".

كما هو متوقع، قدمت نفسي أولاً. أخبرتهم بتكتم عن محتوى الجزء "أولاً، القليل عن نفسي"...
ثم بدأ الأمر الفظيع. على السؤال "ماذا يمكنك أن تفعل؟" أجاب الطلاب (سنسميهم ذلك من الآن فصاعدًا) أنهم يستطيعون فعل أكثر قليلاً من لا شيء على الإطلاق (حسنًا، هذا يعني أن بعضهم يعرف كيف يبدو MS VS ويمكنه إنشاء مشروع "Hello World"). .. المبرمجين. الدورة الأخيرة…

علاوة على ذلك، أوضحوا بالتفصيل "بالألوان" أنهم لم يتعلموا أي شيء وأنهم بشكل عام يشعرون بخيبة أمل في البرمجة...

تقريبًا طوال الأيام حتى كان صفي التالي يسير على هذا النحو:
أساس أي برمجة على... الألغاز

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

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

هذا ما فعلناه. بدأ كل درس بعشوائية مبهجة فيما يتعلق باثنين أو ثلاثة طلاب. كان الرجال متحمسين لهذه العملية.

موضوعات الدرس
عند بدء التدريب، من المهم جدًا تزويد الطلاب بالأدب الجيد. في رأيي الكتاب المثالي هو:
أساس أي برمجة على... الألغاز

ذات مرة كان علي أن أقرأه خلسة بينما كنت أعانق Microsoft Visual Studio. ثم تمكنت من فهم البرمجة من الصفر تقريبًا. خيار مثالي.

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

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

اختبار تحطم قوي جدًا لمعرفة الحقائق الأساسية حول البرمجة. لم أعد مبرمجًا، بل أصبحت مؤرخًا!

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

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

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

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

- ... لست مهتمًا بمشاهدة شخص ما يقوم بعملك لمجرد اجتيازه. قد لا تكونون مبرمجين، لكنكم ستكونون أشخاصًا في فصولي الدراسية لديك.

بدا مثل هذا:

case отличник

يجلس معي أحد الطلاب ليسلم عمله.
- هل فعلت ذلك بنفسك؟
- نعم.
- ما هذا؟
- *الإجابات صحيحة*.
*أسأل عن بضع نقاط أخرى. الإجابات الصحيحة*
- قبلت. عظيم.

case болтун

- هل فعلت ذلك بنفسك؟
- نعم.
- ما هذا؟
- *يجيب بشكل غير صحيح / لا يجيب*.
*أسأل عن بضع نقاط أخرى. نفس النتيجة*
- غير مقبول. فشل أنا في انتظار الإعادة.

case хорошист

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

case ровныйТроечник

- هل فعلت ذلك بنفسك؟
- لا.
- لماذا؟
- صعب. لقد ساعدني... *أذكر بصراحة طالبًا ممتازًا من المجموعة*
- هل فهمت؟
- نعم، فهمت كل شيء تقريبا.

- ما هذا؟
- *الإجابات صحيحة*.
*أسأل عن بضع نقاط أخرى. الإجابات صحيحة إلى حد ما، وأحيانًا خاطئة تمامًا، حتى لو كانت صحيحة بنسبة 50/50 أو غير صحيحة*
- قبلت. بخير.

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

أساس أي برمجة على... الألغاز

Оценки
العملية التعليمية، مثل العالم كله، تغرق حرفيا في بطاقات الأسعار والدرجات.
الطلاب هم الناس أيضاومع ذلك، في رأيي، كان من المفترض أن "يهتز" "الإطار" هنا أيضًا.
خلال الفصل الدراسي، تم منح الجميع مهمة إضافية. سجل ل github.comقم بتحميل مشروع C++ فارغ هناك، وقم بإجراء تحديثين، وقم بإلزامهما ودفعهما. تم تعيين 2 لهذه الإجراءات، نعم، نعم، ليس 15، وليس 4، ولكن 5. ثلاثة اكتشفوا ذلك. كان هذا مفهوما إلى حد ما للنمط النفسي للطالب، ولكن بعد ذلك كانت هناك حالة أخرى.
بمجرد أن تم نقل زوجين لدينا بحيث كانت الأخيرة، وكذلك من خلال بضع نوافذ. ومع ذلك، لا يزال 15 شخصا يأتون إليه. لم أكن أرغب في شرح موضوع جديد تكريماً لهذه البطولة، لأننا قد تقدمنا ​​بالفعل بشكل جيد في الموضوعات البحتة + الموضوع التالي لم يكن بسيطًا جدًا بالنسبة للعقول المتعبة (عقولي والطلاب). ثم قررت أن أتحدث عن الفلسفة.

– أعلن عن جاذبية كرم غير مسبوق. يخبرني الجميع بالدرجة التي سأمنحها له في ثنائي اليوم.
الجميع أراد "أ".
قلت: "فكر في الأمر هناك بالفعل". الجميع كان سعيدا.
الصمت.
- لماذا لا يريد أحد؟ 7-كو أو 10-كو؟
اتسعت عيون الجميع وبدأوا يبتسمون بغباء.
- هل الرهان؟ الى المجلة؟! - جاء صوت من المكتب الخلفي.
- نعم سهل! - قلت - أعلن عن هجوم خاطف على الشروط، من يجيب على 10 من أسئلتي - أراهن يوم 20 للمجلة بلا منازع ومن لا يجيب فهو هو -10 (ناقص عشرة).

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

ومن هذه اللحظة ظهر نوع آخر من الولادة المخبرية:


case честноНеЕгоНоОнПытался

- هل فعلت ذلك بنفسك؟
- لا.
- لماذا؟
- صعب. لقد ساعدني... *أذكر بصراحة طالبًا ممتازًا من المجموعة*
- هل فهمت؟
- سيرجي نيكولاييفيتش، بصراحة، أنا لا أفهم شيئًا، لذلك كتبت تعليقات بجوار كل سطر - حسنًا، هذا ليس ما يهمني، سأكون سائق جرار
- ما هذا؟
— *يقرأ التعليق المقابل للسطر*.
- ...
- ...
— ما الفرق بين بيلاروسيا MTZ ودون 500 وK700؟
-؟؟؟!.. الأول هو جرار بعجلات مصنوع في مينسك، وغالبًا ما يستخدم في الأنواع الخفيفة والمتوسطة من الإنتاج الزراعي. كما أن لديها عجلات صغيرة في الأمام وعجلات كبيرة في الخلف. إن Don 500 هو في الأساس حصادة، وK-700 Kirovets عبارة عن جرار سوفيتي ذو عجلات للأغراض العامة لجميع التضاريس، فئة الجر 5.
- قبلت. بخير (!!!).
- شكرا لك، سيرجي نيكولاييفيتش!!!

في وطني، الحديث عن TractorA يشبه تقريبًا الحديث عن SOLID هنا.

عبقرية
كان هناك عبقري في مجموعتي. تأخر الطالب كثيرًا عن الفصل الأول ولم يكمل اللغز مع أي شخص آخر. ثم طلبت منه أن يفعل ما خططت له للجميع في الدرس التالي - اكتب لنفسه على قطعة من الورق ما يثير اهتمامه وما يثير اهتمامه. وفقًا للنتائج، كان لـ "Genius" 2-3 أسطر: شيء مثل "أدرك عدم جدوى الوجود"...

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

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

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

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

أساس أي برمجة على... الألغاز

من السابق لأوانه استخلاص استنتاجات حول نجاح مهنة المبرمج لأي منهم، لأن معظم هذه المجموعة تدرس الآن في الجامعة. سوف يظهر الوقت.

أتمنى أن يكون المقال مفيدا. شكرًا لكم على اهتمامكم!
النجاح الإبداعي والمزاج الإيجابي أيها الزملاء!

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

إضافة تعليق