プログラマーを不正行為で捕まえる方法はありますか?





バサルトSPOIPS RASが主催する第13回会議「高等教育におけるオープンソフトウェア」で、私は栄光の都市ペレスラヴリザレスキーを訪れました。 そして、この会議では、Habrの読者にとって興味深いかもしれない質問が提起されたように思えました。 それらの中には:





特に、2つのレポート、またはそれらで発生した問題を取り上げたいと思います。



コメントでこれらのトピックを議論できてうれしいです。



最初の重要な報告:「高等教育の国家監督の誤り-ロシアの高等教育の主な問題」



このレポートでは、著者は現在の教育の非効率性の問題を概説しました。 これの考えられる理由は官僚主義です。 官僚化の問題についてはあまり広めません。 誰もが何らかの方法で教育プロセスに接続し、それに直面していました。 著者は、教育の主な問題はプロセスではなく結果が制御されることであるという意見を表明しました。 つまり、正式な要件が大学に課され、検証されます。 教育の真の価値は、卒業生に対する需要です。 著者は、照明や室温などの制御されたパラメーターに何度も言及しました。 後者は、おそらく、会議が開催された部屋の温度がそれほど高くないためでした。 講演者は、公式な要件は、たとえば、現在より普及しつつあるオンライン教育には適合しないと指摘しました。



著者は、彼の意見では、教育の質の向上を可能にするアプローチを提案しました。 アプローチは、卒業生の需要によって大学を評価することです。 まあ、彼は、卒業生の需要は、多くの基準によれば、議論の余地のある基準に従って評価されることを提案しました-大学卒業後3年間、つまり個人所得税2によると、ロシア連邦の卒業生の白人給与です。 この用語は、時間の経過とともに大学の影響が減少するという事実に基づいて決定されました。 ロシア連邦のみの白人の賃金は、卒業生が予算を補充することに基づいて選択され、その一部は次世代に訓練を提供するために使用されます。 彼は、地域化(地域の平均に基づく給与配給)と州の重要因子(低賃金の重要な部門があるため)の2つの修正のみを提案しました。



実際、すべてが金になったため、多くの人が評価基準を好まなかった。 私の意見では、少なくとも提案は注目と議論に値する。 州が予算で賄うのであれば、投資がどれほど効果的か、つまり、この大学での教育が予算補充にどれほど効果的かを知りたいのです。



個人的に私の懐疑論を喚起したのは、現在の非効率的なシステムを維持する必要がある著者の質問です。 著者は、彼の提案が賢明で教養のある役人を解放し、社会にとってより有益なタスクを実行することを心から確信しています。 ところで、私は彼らの精神能力と教育にも疑いはありません。



2番目の重要なレポート:「Python3の特別なコースのコピーと貼り付けをどのように確認しましたか?



著者は、Python言語を教える特別なコースを教えました。 学習プロセスでは、学生は限られた数のオプションで学習タスクを提供され、各学生に個別のタスクを与えることは不可能でした。 著者は、タスクの検証を自動化しようとしました。タスクはオンラインで受け入れられました。もちろん、盗作または単純な不正行為の問題がありました。 著者は、プログラムを「標準的な」統一形式にしたプログラムを開発しました。 PEP8のフォーマットに加えて、彼は内部解析ツリーの変数名も変更し、プログラムスナップショットではなくアルゴリズムスナップショットを受け取りました。 このキャストによると、同様のソリューションのクラスターをコンパイルすることが可能でした。このクラスターの最初の作成者が最初に合格しました。



ユーティリティをチェックすると非常に良い結果が示されましたが、多くの誤検知がありました。 著者は、5要素を超えるディメンションを持つ同様のソリューションのクラスターが偽であるというルールを導入する必要さえありました。 5人以上のグループに精通している人々がコースに登録できるとは考えにくいという理由で、5番は著者によって採用されました。 そして、依然として多くの誤検知があり、盗作の可能性のある「目」に対するすべての解決策を検討する必要がありました。 その結果、著者は、強力な「情報接続」の条件でそれを下げることは正しいかどうかを自問しました。 たとえば、オープンソースの本質は単なるコラボレーションであり、実際、最新のITテクノロジーはコラボレーションの原則に大きく基づいており、優れたソリューションを借りることには何の問題もありません。 さらに、彼はロシアのどこで解決策の情報を迅速に検索することを教えているのかわからないと言い、そのような場所がなければ最初はモスクワ州立大学になります。



傍観者として、著者との議論を続け、彼がプログラミングにおけるコラボレーションとの戦いの無益さを認識しているにも関わらず(少なくともこのように)、彼はまだ元の質問をしていることを発見しました。 すなわち、元の著者を最も知的で才能があり勤勉な学生として識別する方法は? 制御を放棄し、適切なリポジトリで受け入れられたPRを確認して知識をテストすることを提案したとき、言語の基本に関するコースはうまくいかないと答えましたが、もしそうなら、むしろコミュニティと対話する能力のテストになりますPRを押し進めます。 コントロールの助けを借りて、二次専門家を養成するという熱を表明しました。 プログラミングは専門学校(必要に応じて大学)でも教えることができるように思えました(もう私からではありません)。 コーダー-はい、あなたは専門学校で学ぶことができ、彼らは複雑な数学や高度なアルゴリズムを知る必要はありません。 実際、多くのアルゴリズムを備えた巨大なコードベースがすでに作成されており、適切な場所でそれらを使用する方法を知る必要があります。 そして、はい、1つまたは別のライブラリ、技術、または一連の技術の使用方法を知っているコーダーは、プログラマーよりもはるかに多くを必要とします。 彼らは本当に同じタイプの同様の問題をより速く解決するので、ビジネスの観点からより効果的です。 しかし、それは著者が特定しようとしているものとまったく同じものであり(そのうちの1つは、彼自身もそうであると確信しています)、進歩を推進しています。 彼らの多くは、あなたが知っているように、生き残るのが最も賢くて強力ではなく、最も適応性があるため、制御システムを通り抜けて大学を飛び出すことはできません。



したがって、私の意見では、大学はプログラマではなくプログラマを教える場所である必要があります。 したがって、大学は人々の意識を厳しく制御する必要はありません。彼らはすでに知識を得るために勉強する意欲があります。 結局のところ、何らかの理由で、崩壊しつつある西側では、不正行為にそのような深刻な問題はありません。 彼らはあなたの卒業証書が偽物である場合、その過程ですぐに明らかになることを理解しています。 したがって、あなたの評価ではなく、得られた知識が前面に出てきます。



就学前教育



会議のタイトルには「高校」というフレーズが含まれていますが、未就学児の発達に関する報告はかなりありました。 論文は次のとおりです。大学よりも早くITを教える必要があるか、恐ろしいことが起こります。たとえば、ある卒業生が試験に合格するために31のPythonプログラムを暗記しました。



これらのレポートの1つは、 PictoMirプロジェクト専用でした。 この製品は、シンプルなグラフィカル言語であり、ロボットを制御するためのエミュレーターです。 この製品は現在、ハンティ・マンシ自治管区およびモスクワの他のいくつかの場所で導入されており、6歳からの子供でテストされています。 私の知る限り、この言語をサポートしている物理ロボットは2つだけです。著者が述べたように、プロジェクトはNIISI RASで開発されているため、両方のロボットは軍用または半軍用です。 確かに、レポートの著者は、コーヒーブレイクのデモンストレーションの後、主催者にPictoMirの世界から来た3人の子供用ロボット(、虫、プラー、プッシャー、間違っていなければ)を提示しました:)



gitlabのソースコード。



子供のプログラミングを教えるための別のロボットプロジェクトが発表されました。 これはUMKIプロジェクトです。 ロシア科学アカデミーの別の研究所によって開発されていますが、サイズははるかに小さくなりますが、 IPLIT RASです。 このプロジェクトの目的は、Arduinoに基づいたロボットプラットフォーム(マシン)を作成することです。 通信はZigBeeインターフェースを介して実行されるため、複数のマシンに基づいて、メッシュネットワークを編成できます。つまり、マシンのグループはマルチエージェントシステムです。 著者はいくつかの車を見せに持ってきましたが、私はそれらと遊ぶことができませんでした、なぜなら 私は同じ日に出発しなければなりませんでした。



githubのソースコード。



学生および大学の無料プロジェクト



Alexey Novodvorsky(会議組織委員会委員長)は、残念ながら、大学環境で開発、サポート、または最初に開始されたプロジェクトは非常に少ないと指摘しました。 ここで私は同意し、私の記事「プログラマーを獲得する場所」で 、私は大学がオープンソースプロジェクトに取り組むのに適した場所であるが、私たちはそれらのかなりの数を持っていると述べた。



この会議では、2つの同様のプロジェクトが発表されました。ご存知のように、これはEmboxとシンプルなIDEプロジェクト「Kuzya」です。



私のレポートでは、教育目的で使用されるさまざまなOSの開発アプローチを比較しようとしました。 開発中(バージョン3)の本格的なオープンプロジェクトになったMinixは、たとえば、教育ツールとしてのみ使用できるNachosよりも、学生の学習の観点から興味深いという結論に達しました。 また、8年以上にわたって開発が続けられ、業界で需要があるため、プロジェクトを成功と呼ぶこともできました。 私はこの成功を、主にオープンソースプロジェクトの一環として本格的なソフトウェア製品を作成することに最初に焦点を当てたものと結び付けました。 当然、私はプロジェクトのオープン性について話しているのではなく、成功の基礎として暗示されています:)



githubのソースコード。



Kuzyaプロジェクトは、開発者の猫にちなんで命名されました。 これは、リヴィウのイヴァン・フランコ国立大学で開発されおり、シンプルな(私は最もシンプルなIDEでもあります)IDEです。 最も単純なのは、C / C ++の学習を特に目的としているためです。 Kuzyaにはプロジェクトファイルさえありません;編集は単一のコンパイルファイルで行われます。 組み込みのグラフィックモジュールがあります。



githubのソースコード。

ロシア語の記述はsourceforgeにあります。



学生自身も2つのレポートを提示しましたが、残念ながら非常に質の高いものではありませんでした。 生徒は明らかに話す経験がありませんでした。 私が言える唯一のことは、学生をオープンソースに参加させることが正しいことだということです。



「非プログラマー」の無料プロジェクトへの参加の問題



それはまさに会議での報告の一つの名前です。 ソフトウェアプロジェクトでドキュメントを書く問題の例についての著者は、コードを書くことに忙しくない人々を巻き込むことの問題について話しました。 著者によると、プログラマーとは異なり、プロジェクトに参加している「非プログラマー」は、経験を学び共有することはできません。 しかし、この記事を書くことで、私は自由プロジェクトへの「非プログラム的な」貢献の難しさに関する論文に反論します。 別の「非プログラム的な」貢献として、Stas Fomin belonesoxは、この会議専用のウィキペディアページを作成することを提案しまし 。 彼はまた、 0x1.tvでテクニカルレポート付きのビデオ(この会議のビデオも利用可能)を勉強し、コメントを残すように学生を招待しました。 参加に問題はありません、願望があるでしょう! :)



PS




All Articles