コンピュヌタヌ サむ゚ンスの教育を最倧限に掻甚する方法

珟代のプログラマヌのほずんどは倧孊で教育を受けおいたす。 時間が経おば倉わるでしょうが、今はただIT䌁業の優秀な人材は倧孊出身ずいう状況です。 この投皿では、Acronis 倧孊関係担圓ディレクタヌの Stanislav Protasov が、将来のプログラマヌのための倧孊トレヌニングの特城に぀いおのビゞョンに぀いお語りたす。 教垫、生埒、そしお圌らを雇う偎は、圹立぀ヒントを芋぀けられるかもしれたせん。

コンピュヌタヌ サむ゚ンスの教育を最倧限に掻甚する方法

過去 10 幎間、私はさたざたな倧孊で数孊、アルゎリズム、プログラミング蚀語、機械孊習を教えおきたした。 珟圚、私はアクロニスでの圹職に加えお、MIPT の理論および応甚コンピュヌタ サむ゚ンス郚門の副郚門長も務めおいたす。 ロシアの優れた倧孊だけではありたせんで働いた経隓から、私はコンピュヌタ分野における孊生の準備に぀いおいく぀かの芳察をしたした。

30秒ルヌルはもう機胜したせん

プログラマヌはコヌドをざっず芋た埌、その関数の目的を理解する必芁があるずいう 30 秒ルヌルに遭遇したこずがあるかず思いたす。 それはずっず前に発明され、それ以来、倚くのオペレヌティング システム、蚀語、ハヌドりェア、アルゎリズムが登堎しおきたした。 私は 12 幎間コヌドを曞いおきたしたが、比范的最近、ある補品の゜ヌス コヌドを目にしたした。それは私にずっお䞀芋魔法のように思えたした。 今日では、察象分野に没頭しおいないず、30 秒ルヌルは機胜しなくなりたす。 そうしないず、30 秒だけでなく 300 秒でも、䜕が䜕であるかを理解するのに十分ではありたせん。

たずえば、ドラむバヌを䜜成したい堎合は、この領域に飛び蟌み、数千行の特定のコヌドを読む必芁がありたす。 専門家は、このような䞻題の孊習アプロヌチにより、「流れの感芚」を逊いたす。 ラップのように、特別な理由付けなしに、良い韻ず適切なリズムの感芚が珟れる堎合。 同様に、よく蚓緎されたプログラマは、スタむル違反が発生した堎所や次善のアプロヌチが䜿甚された堎所を詳现に調査するこずなく、非効率なコヌドや単に悪いコヌドを簡単に認識できたす (ただし、この感芚を説明するのは非垞に難しい堎合がありたす)。

専門化ず耇雑さの増倧により、孊士教育ではすべおの分野を十分に深く孊ぶ機䌚が提䟛されなくなっおいたす。 しかし、このレベルの教育においおこそ、掞察力を身に぀ける必芁がありたす。 その埌、倧孊院や職堎で、専門分野の問題や詳现に没頭したり、スラング、プログラミング蚀語、同僚のコヌドを勉匷したり、蚘事や本を読んだりするこずに時間を費やす必芁がありたす。 倧孊の協力を埗お、将来のために「クロスバヌを匕き䞊げる」にはこれが唯䞀の方法であるように私には思えたす T字型スペシャリスト.

倧孊で教えるのに最適なプログラミング蚀語は䜕ですか?

コンピュヌタヌ サむ゚ンスの教育を最倧限に掻甚する方法
うれしいこずに、倧孊の教垫たちはすでに「プログラミングに最適な蚀語は䜕ですか?」ずいう質問に察する正しい答えを探すのをあきらめおいたす。 C# ず Java、Delphi ず C++ のどちらが優れおいるかに぀いおの議論は事実䞊消え去りたした。 倚くの新しいプログラミング蚀語の出珟ず教育的経隓の蓄積により、孊術環境ではそれぞれの蚀語には独自のニッチな分野があるずいう理解が確立されたした。

䜕らかのプログラミング蚀語を䜿甚しお教育するずいう問題は、もはや優先事項ではなくなりたした。 コヌスがどの蚀語で教えられるかは関係ありたせん。 䞻なこずは、蚀語の十分な衚珟力です。 本 "マルチプロセッサ プログラミングの技術」はこの芳察をよく衚しおいたす。 このクラシック版では、すべおの䟋が Java (ポむンタヌを持たないがガベヌゞ コレクタヌを備えた蚀語) で瀺されおいたす。 Java が高性胜の䞊列コヌドを䜜成するのに最適な遞択肢ずは皋遠いこずに異論を唱える人はほずんどいないでしょう。 しかし、この蚀葉は、この本で提瀺されおいる抂念を説明するのに適しおいたした。 もう䞀぀の䟋 - 叀兞的な機械孊習コヌス Andrew Nna 氏、Octave 環境で Matlab を教えおいたす。 珟圚、別のプログラミング蚀語を遞択するこずもできたすが、アむデアやアプロヌチが重芁である堎合、それは実際にどのような違いをもたらすのでしょうか?

より実践的で珟実に近い

䞀方で、近幎は倧孊での実務家も増えおいたす。 以前のロシアの倧孊プログラムが珟実から乖離しおいるずしお積極的に批刀されたずしおも、今日では IT 教育に぀いお同じこずは蚀えたせん。 10幎前、倧孊には実際の業界経隓を持぀教垫はほずんどいたせんでした。 最近では、専門孊科の授業は、垞勀のコンピュヌタ サむ゚ンス教垫ではなく、本業の空き時間に 1  2 科目だけ教える珟圹の IT 専門家によっお指導されるこずが倚くなりたした。 このアプロヌチは、質の高い人材トレヌニング、コヌスの曎新、そしおもちろん瀟内の朜圚的な埓業員の探玢ずいう芳点から正圓化されたす。 MIPT の基瀎郚門をサポヌトし、アクロニスでキャリアをスタヌトできる孊生の準備を含めお他の倧孊ずの関係を構築しおいるず蚀っおその秘密を明かす぀もりはありたせん。

数孊者ですか、それずもプログラマヌですか?

コンピュヌタヌ サむ゚ンスの教育を最倧限に掻甚する方法
以前はプログラミング蚀語を䞭心に展開しおいた聖戊は、哲孊的な方向に移りたした。 今、いわゆる「プログラマヌ」ず「数孊者」が互いに議論しおいたす。 原則ずしお、これらの孊校は XNUMX ぀の教育プログラムに分けるこずができたすが、産業界はそのような埮劙な違いを区別するこずがただ苊手であり、倧孊ごずに焊点が少し異なるものの同様の教育が行われおいたす。 これは、孊生ず孊生が今埌も働き続ける䌁業の䞡方が、知識のパズルに欠けおいるピヌスを補充する必芁があるこずを意味したす。

さたざたな蚀語で工業甚コヌドを曞く実務家が倧孊に出珟するこずで、孊生はより優れた開発スキルを埗るこずができたす。 暙準ラむブラリ、フレヌムワヌク、プログラミング手法の実装に粟通しおおり、実践的なプログラマヌは、優れたコヌドを曞きたい、それを迅速か぀効率的に実行したいずいう欲求を孊生に怍え付けたす。

しかし、この䟿利なスキルは、車茪の再発明を奜む人々の出珟に぀ながるこずがありたす。 プログラミングを孊ぶ孊生は次のように考えたす。「問題を正面から解決する優れたコヌドをさらに 200 行曞くべきでしょうか?」

叀兞的な数孊教育を受けた教垫 (たずえば、数孊孊郚や応甚数孊孊郚など) は、疑䌌科孊環境やモデリングやデヌタ分析の分野で働くこずがよくありたす。 「数孊者」は、コンピュヌタヌ サむ゚ンスの分野の問題を異なる芖点から捉えおいたす。 これらは䞻にコヌドではなく、アルゎリズム、定理、圢匏モデルを䜿甚しお動䜜したす。 数孊的アプロヌチの重芁な利点は、䜕が解決できるか、䜕が解決できないかを明確に基本的に理解できるこずです。 そしおそれを解決する方法。

したがっお、数孊教垫は理論に偏った圢でプログラミングに぀いお話したす。 「数孊者」出身の孊生は、よく考え抜かれお理論的に優れた解決策を思い぀くこずがよくありたすが、蚀語的な芳点から芋るず最適ずは蚀えず、単玔に雑に曞かれおいるこずもよくありたす。 そのような孊生は、自分の䞻な目暙は、そのような問題を原理的に解決する胜力を実蚌するこずであるず信じおいたす。 しかし、実装は䞍十分かもしれたせん。

孊校でプログラマヌずしお育おられた子䟛たちや、XNUMX 幎生の子䟛たちは「ずおも矎しい自転車」を持っおきたすが、これは通垞、挞近的にあたり効率的に機胜したせん。 それどころか、圌らは深く理論化しお最適な解決策を探すために教科曞に目を向けるずいう課題を自ら蚭定せず、矎しいコヌドを奜みたす。

さたざたな倧孊で、孊生のむンタビュヌ䞭に、私は通垞、どの「孊校」が圌の教育の基瀎ずなっおいるかを芋たす。 そしお、私は基瀎教育においお完璧なバランスを保っおいるこずにほずんど出䌚ったこずがありたせん。 子䟛の頃、私の街では数孊オリンピックの準備はできたしたが、プログラミングクラブはありたせんでした。 珟圚、クラブでは、子䟛たちは「流行の」Go ず Python でプログラミングを孊びたす。 そのため、倧孊進孊レベルでもアプロヌチに違いが生じたす。 倧孊で䞡方のスキルを維持するこずが重芁だず思いたす。そうでないず、理論的根拠が䞍十分な専門家か、孊ばずに良いコヌドを曞きたくない人が䌚瀟に来るこずになりたす。

将来のために「クロスバヌを高める」方法 T字のスペシャリスト

コンピュヌタヌ サむ゚ンスの教育を最倧限に掻甚する方法
このような状況では、生埒が単に自分の䞀番奜きなものを遞択しおいるだけであるこずは明らかです。 先生は自分に近い芖点をただ䌝えるだけ。 しかし、コヌドが矎しく曞かれおおり、アルゎリズムの芳点から芋るず、すべおが明確で合理的で効果的であれば、誰にずっおもメリットがありたす。

  • ITの展望。 コンピュヌタ サむ゚ンスの孊士号を取埗した人は、発達した技術的芋通しを持぀即戊力のスペシャリストであり、おそらくその人が自分のプロフィヌルを遞んでいるでしょう。 しかし、XNUMX幎生になるず、圌たたは圌女が䜕をするかわかりたせん。 圌は科孊や分析の分野に進むこずもできたすし、逆に毎日膚倧な量のコヌドを曞くこずもできたす。 したがっお、孊生には IT 分野での仕事のあらゆる偎面を芋せ、すべおのツヌルを玹介する必芁がありたす。 理想的には、理論コヌスの教垫が実践ずの぀ながりを瀺すこずです逆も同様です。
  • 成長点。 極端な行動をしないこずが孊生自身の利益になりたす。 自分が「数孊者」なのか「プログラマヌ」なのかを理解するこずは難しくありたせん。 問題を解決するずきは、最初の衝動に耳を傟けるだけで十分です。䜕をしたいですか?最適なアプロヌチを探しお教科曞を調べるか、埌で間違いなく圹立぀いく぀かの関数を䜜成したすか? これに基づいお、さらに補完的な孊習の軌道を構築できたす。
  • 代替の知識源。 たたたたプログラムのバランスは取れおいたすが、「システムプログラミング」ず「アルゎリズム」はたったく異なる人によっお教えられおおり、最初の教垫に近い生埒もいれば、XNUMX番目の教垫に近い生埒もいたす。 しかし、たずえ教授が奜きではなかったずしおも、他の科目を優先しお䞀郚の科目を無芖する理由にはなりたせん。 孊士自身も知識源を掻甚する意欲を芋぀けるこずに興味があり、「数孊は科孊の女王であり、重芁なのはアルゎリズムを知るこずである」や「優れたコヌドは他のすべおを補っおくれる」などの急進的な意芋を決しお信頌したせん。

専門文献やオンラむン コヌスを利甚するこずで、理論の知識を深めるこずができたす。 さたざたなコヌスが提䟛されおいる Coursera、Udacity、たたは Stepik でプログラミング蚀語のスキルを向䞊させるこずができたす。 たた、アルゎリズムの教垫は数孊はよく知っおいるが、実装に関する耇雑な質問には答えられないず感じた堎合、生埒は本栌的な蚀語コヌスを受講し始めるこずがよくありたす。 誰もが私に同意するわけではありたせんが、私の実践ではそれがうたく蚌明されたした Yandex による C++ の専門知識、蚀語のたすたす耇雑な機胜が順番に分析されたす。 䞀般的には、評刀の高い䌁業や倧孊からの評䟡が高いコヌスを遞択したす。

゜フトスキル

コンピュヌタヌ サむ゚ンスの教育を最倧限に掻甚する方法
倧孊を卒業しお新興䌁業から倧䌁業に至るたで、あらゆる䌁業で働く堎合、トップ倧孊の孊生であっおも実際の劎働環境にうたく適応できないこずに気づきたす。 事実は、今日の倧孊は倚くの孊生を「子守」しおいるずいうこずです。 授業をたくさん欠垭したり、詊隓やテストの準備を時間通りにできなかったり、寝坊したり、詊隓に遅刻したりしおも、誰もが合栌しお再受隓するこずができ、最終的には卒業蚌曞を受け取るこずができたす。

しかし、今日では、孊生が倧人になっおから独立しお専門的に掻動するための準備を敎えるためのあらゆる条件が敎っおいたす。 圌らはプログラムするだけでなく、コミュニケヌションも行う必芁がありたす。 そしお、これも教える必芁がありたす。 倧孊にはこれらのスキルを開発するためのさたざたな圢匏がありたすが、残念なこずに、十分な泚意が払われおいないこずがよくありたす。 しかし、私たちには効果的なチヌムワヌクスキルを習埗する機䌚がたくさんありたす。

  • 曞面によるビゞネスコミュニケヌション。 残念ながら、倧孊を卒業する卒業生のほずんどは、通信の゚チケットに぀いおたったく知りたせん。 むンスタント メッセンゞャヌのコミュニケヌションの特城は、昌も倜もメッセヌゞが亀換され、䌚話圢匏ず非公匏な語圙が䜿甚されるこずです。 ただし、孊生が孊郚や倧孊ずコミュニケヌションをずる際に、曞き蚀葉の蚓緎を行うこずは可胜です。

    実際には、マネヌゞャヌは倧芏暡なプロゞェクトを小さなタスクに分解する必芁性に盎面するこずがよくありたす。 これを行うには、各タスクずそのコンポヌネントを明確に説明し、若手開発者が䜕が求められおいるかを理解できるようにする必芁がありたす。 タスクの定矩が䞍十分であるず、䜕かをやり盎す必芁が生じるこずがよくありたす。そのため、卒業生が分散チヌムで䜜業するのに、曞面によるコミュニケヌションの経隓が圹立ちたす。

  • 仕事の結果を曞面でプレれンテヌション。 教育プロゞェクトを発衚するために、䞊玚生は Habr に関する投皿、科孊蚘事、たたは単なるレポヌトを曞くこずができたす。 これには倚くの機䌚がありたす。䞀郚の倧孊ではコヌスの授業が XNUMX 幎目に始たりたす。 ゚ッセむをコントロヌルの圢匏ずしお䜿甚するこずもできたす。゚ッセむは通垞、ゞャヌナリズム蚘事に近い圢匏になりたす。 このアプロヌチはすでに囜立研究倧孊高等経枈孊郚で導入されおいたす。

    䌁業が開発に察しお柔軟なアプロヌチを実践しおいる堎合、その䜜業の結果をより少ない郚分で、より頻繁に提瀺する必芁がありたす。 そのためには、XNUMX 人の専門家たたはチヌム党䜓の䜜業の結果を簡朔に䌝えるこずができるこずが重芁です。 たた、今日では倚くの䌁業が「レビュヌ」を毎幎たたは半幎ごずに実斜しおいたす。 埓業員は結果ず仕事の芋通しに぀いお話し合いたす。 成功したレビュヌは、Microsoft、Acronis、Yandex などでのキャリアの成長やボヌナスの䞻な理由です。 確かに、䞊手にプログラミングするこずはできたすが、「隅っこに座っおいる」クヌルなスペシャリストであっおも、自分の成功をうたく衚珟する方法を知っおいる人には必ず負けたす。

  • アカデミックラむティング。 孊術論文は特に泚目に倀したす。 孊生にずっお、科孊文曞の䜜成、匕数の䜿甚、さたざたな情報源での情報の怜玢、およびこれらの情報源ぞの参照のフォヌマットの芏則に慣れるず圹立ちたす。 囜際的な孊術コミュニティにはより倚くの優れたテキストがあり、さたざたな分野で科孊的結果を提瀺するためのテンプレヌトがすでに確立されおいるため、これを英語で行うこずをお勧めしたす。 もちろん、ロシア語の出版物を準備する堎合には孊術的な文章のスキルも必芁ですが、英語で曞かれた優れた珟代論文の䟋ははるかに少ないです。 これらのスキルは適切なコヌスを通じお習埗するこずができ、珟圚では倚くの教育プログラムに組み蟌たれおいたす。
  • 䞻導的な䌚議。 ほずんどの孊生は、䌚議の準備方法、議事録の䜜成方法、デヌタの凊理方法を知りたせん。 しかし、たずえばチヌムプロゞェクトに参加するなどしお倧孊でこのスキルを磚けば、職堎で時間を無駄にするこずを避けるこずができたす。 そのためには、䌚議を効果的に行う方法を生埒に教えるために、生埒のプロゞェクト䜜業を監督する必芁がありたす。 実際には、これには各䌁業に倚額の費甚がかかりたす。結局のずころ、高額の絊䞎を受け取っおいる数人が集䌚で XNUMX 時間の劎働時間を費やした堎合、それに芋合った利益が埗られるこずが望たれたす。
  • 人前で話す。 倚くの孊生は、論文を擁護するずきにのみ人前で話す必芁性に盎面しおいたす。 そしお、誰もがこれに察する準備ができおいるわけではありたせん。 私は次のような生埒をたくさん芋おきたした。
    • 聎衆に背を向けお立ち、
    • 䜓を揺らしながら、委員䌚をトランス状態に導こうずしお、
    • ペン、鉛筆、ポむンタヌを折る、
    • 茪になっお歩く
    • 床を芋おください。

    初めお挔奏するずきはこれが正垞です。 しかし、クラスメヌトの間で友奜的な雰囲気の䞭で授業を守るなど、より早くこのストレスに察凊し始める必芁がありたす。

    さらに、䌁業における暙準的な慣䟋では、埓業員にアむデアを提案し、そのアむデアに察する資金、圹職、たたは専甚のプロゞェクトを受け取る機䌚を䞎えたす。 しかし、よく考えおみるず、これはより高いレベルでの同じ授業の保護です。 勉匷しながら、このような圹立぀キャリアスキルを実践しおみたせんか?

䜕が欠けおいたすか

この蚘事を曞こうず思ったきっかけの䞀぀が、こんな蚘事でした。 チュメニ州立倧孊のりェブサむトに掲茉。 この蚘事の著者は、倖囜人教垫が気づいたロシア人孊生の欠点のみに焊点を圓おおいたす。 さたざたな倧孊での私の指導の実践は、ロシアの孊校ず高等教育が優れた基瀎を提䟛しおいるこずを瀺唆しおいたす。 ロシアの孊生は数孊ずアルゎリズムに粟通しおおり、圌らず専門的なコミュニケヌションを構築するのは簡単です。

逆に留孊生の堎合、ロシア人教垫に察する期埅が高すぎる堎合がありたす。 䟋えば、数孊の基瀎蚓緎のレベルでは、私が出䌚ったむンドの孊生はロシアの孊生ず䌌おいたす。 しかし、孊郚卒業時点では専門知識が䞍足しおいる堎合もありたす。 優秀なペヌロッパの生埒は、孊校レベルでの数孊の知識がそれほど埗意ではない可胜性がありたす。

たた、倧孊で孊んだり働いたりしおいる堎合は、(自分自身たたは孊生の) コミュニケヌション スキルに取り組み、基瀎基盀を拡倧し、プログラミングを緎習するこずができたす。 この目的のために、ロシアの教育システムはあらゆる機䌚を提䟛したす。必芁なのは、それらを正しく利甚するこずだけです。

この投皿ぞのコメントで、教育のバランスを均等にするのに圹立぀コヌスや方法ぞのリンクや、倧孊で孊びながら゜フトスキルを向䞊させるその他の方法ぞのリンクを共有しおいただければ幞いです。

出所 habr.com

コメントを远加したす