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

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

من دواعي سروري أن أساتذة الجامعة رفضوا بالفعل العثور على الإجابة الصحيحة على السؤال: "ما هو الأفضل للبرمجة؟". لقد أصبح النقاش حول أيهما أفضل - C # أو Java أو Delphi أو C ++ - بلا معنى. وقد أدى ظهور العديد من لغات البرمجة الجديدة وتراكم الخبرة التربوية إلى حقيقة أنه قد تم تأسيس فهم في البيئة الأكاديمية: كل لغة لها مكانتها الخاصة.
مشكلة التعليم باستخدام لغة برمجة واحدة أو أخرى لم تعد أولوية. لا يهم اللغة التي تدرس بها الدورة. الشيء الرئيسي هو التعبير الكافي للغة. إن كتاب "
فن برمجة المعالجات المتعددة " هو مثال جيد لهذه الملاحظة. في هذه الطبعة الكلاسيكية بالفعل ، كل الأمثلة موجودة في Java ، وهي لغة بدون مؤشرات ، ولكن مع Garbage Collector. من غير المحتمل أن يجادل أي شخص بأن جافا بعيد عن الخيار الأفضل عند كتابة شفرة متوازية عالية الأداء. ولكن لشرح المفاهيم الموضحة في الكتاب ، اتضح أن اللغة مناسبة. مثال آخر هو
دورة تعلم الآلة الكلاسيكية من أندرو أون التي يتم تدريسها بلغة ماتلاب في بيئة أوكتاف. يمكن للمرء اليوم اختيار لغة برمجة مختلفة ، ولكن ما الفرق في جوهره إذا كانت الأفكار والمقاربات مهمة؟
أكثر عملية وأقرب إلى الواقع
في الوقت نفسه ، في السنوات الأخيرة ، أصبح العديد من الممارسين جامعات. إذا تم انتقاد البرامج الجامعية السابقة في روسيا بفاعلية بسبب فصلها عن الواقع ، لم يعد من الممكن اليوم قول ذلك عن تعليم تكنولوجيا المعلومات. منذ 10 سنوات ، لم يكن هناك أي معلمين في الجامعات يتمتعون بخبرة حقيقية في هذه الصناعة. الآن في كثير من الأحيان في القسم المتخصص ، لا يتم إجراء الفصول الدراسية من قبل معلمين متفرغين في علوم الكمبيوتر ، ولكن من خلال ممارسين متخصصين في تكنولوجيا المعلومات يقرأون 1-2 دورات فقط في أوقات فراغهم من عملهم الرئيسي. هذا النهج يبرر نفسه من حيث التدريب الجيد ، وتحديث الدورات ، وبالطبع البحث عن الموظفين المحتملين في الشركة. لا أعتقد أنني سأخبر سراً بالقول إننا ندعم القسم الأساسي في MIPT ونبني علاقات مع جامعات أخرى ، بما في ذلك من أجل إعداد الطلاب الذين يمكنهم بدء حياتهم المهنية في أكرونيس.
عالم رياضيات أو مبرمج؟

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

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

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