ウェブのみ、ハードコアのみ





HabréにはMail.Ru Technoparkに関するいくつかの記事が既にあります。 今日は、プログラムの一部であるWebテクノロジーコースがどのように始まったかについてお話したいと思います。



現在、テクノパークは単なるトレーニングセンターではありませんが、最初はほんの2、3のトレーニングコースでした-スタートアップとして始まったと言えます。 最初の教師である私たちは、生徒に何をどのような形式で伝えるべきかを正確に理解していませんでした。 しかし、すぐにその理由が明らかになりました。開発者、テスター、ソフトウェアシステムのアーキテクトなど、有能な専門家を養成したいと思っていました。





ソフトウェアシステムのアーキテクト向けのトレーニングプログラムをゼロから開発するのは簡単なことではありません。 Webアプリケーションの開発と、アルゴリズムとデータ構造に関する合理的で永遠のコースから、私たち自身が非常にうまくできることから始めることにしました。



熱意に満ちて、私はコース「ウェブ技術」のプログラムを編集し始めました。 最初の問題はすぐに発生しました:何を言う必要がありますか? アルゴリズムやデータベースなどとは異なり、Webテクノロジー向けの確立されたトレーニングプログラムはありません。 大ざっぱに言えば、誰も私たちにウェブ開発を教えているわけではありません。これは誰もが実際に学ぶ技術です。 したがって、完成したプログラムを採用して適応させることはできませんでした。何を話し、何をコースの枠組みの外に残すかを決定する必要がありました。 「PHP / Perl / Python / HTML / CSS / JavaScriptでのプログラミング」シリーズの本を基礎として取り上げることは、それほど深刻なことではありませんでした;誰でもそのような文献を読むことができます。 さらに、最初の学期にコースが教えられるため、学生に良い印象を与えることが重要でした。実際、テクノパークの学生の知り合いはそれから始まりました。



長所と短所を比較検討し、決定しました。

  1. いわゆる概要コースを構成します。 テクノパークでのすべてのトレーニングの一種の計画になります。データベースからユーザーインターフェイスまで、中規模のWebアプリケーションがどのように機能するかを説明します。
  2. 特定のプログラミング言語を詳細に学習することはありません。MSTUの生徒は、自由時間に自分でこれに対処することができます。
  3. 私たちは、学生が研究されている技術で「遊び」、問題を解決する実践的なクラスを追加します。




Pythonは、開発とスニペットのメイン言語として選択されました。 なんで? Pythonは簡単です。 スニペットは、この言語のコードを初めて見た人でも読みやすいです。 また、Pythonは自習に最も簡単であるという事実からも進みました。



コースは非常に一般的であることが判明しました。 ネットワークプロトコル、httpサーバー、実際にはバックエンド開発、データベースの操作、フロントエンド開発、および情報セキュリティが含まれていました。




そのため、コースがコンパイルされ、学生の最初のバッチが勉強を始めます。 しかし、状況はかなり暗いです。学生は講義やセミナーで積極的に「詰まっています」。最後の学生は60人中5人です。 多くは試験に来ましたが、主題の深い理解を示さず、ギザギザのフレーズで答えました。 一般的に、学生は「試験の前夜にすべてを学習する」と「合格するだけ」という原則に基づいて、コースを通常の大学の分野として認識していることが明らかになりました。 しかし、生徒たちには驚きがありました。多くの資料があり、文献は非常に断片化されていますが、マニュアルはありません。 その結果、最初の学期の後、学生のほぼ50%が(もちろんテクノパークから)追放されました。 最もイニシアチブと精力的なものが最初のセットに入ったので、それは非常に悲しいです。



問題の解決策は学生自身のおかげで見つかりました。調査の後、彼らは本当にa)練習をしたい、b)何をする必要があるかが明確でないことが判明しました。 そのため、後期に宿題を追加しました。 今、各セミナーの前に、学生は明確に定式化されたタスクを実行し、それのためにポイントを獲得し始めました。それなしでは、試験を受けることができません。 そして、これはセミナーへの参加にすぐにプラスの効果をもたらしました!



初めて自己組織化チームを見ました。 チーム開発の禁止にもかかわらず、3人の学生がチームを組んで一緒にプロジェクトに取り組み始めました。 外部的にも機能的にも、プロジェクトは非常に似ていましたが、コードは完全に異なっていました。 その結果、それぞれの頭が別の頭を複製するような山のヘビになりました。 どうやら、フォールトトレランスのために...




3番目のストリームでは、さらに先へ進みました-宿題として、小規模ながら本格的なプロジェクトを導入しました。 技術的なタスクを作成し、画面レイアウトを描き、プロジェクトをステージに分けました。ワークショップと宿題ごとに1つです。 プロジェクトと一緒に、ポイントベースのグレーディングシステムを導入しました:現在、試験に参加するには、プロジェクトの基本バージョン(20ポイント)を作成する必要があり、追加機能が実装された場合、30ポイントと試験が自動的に取得されます。



膨大な作業量にもかかわらず、プロジェクトは各生徒が個別に完了する必要があります。 なんで? 第1に、チームトレーニングは法的にずさんなものです。練習が示しているように、グループの1人の学生がすべての作業を行い、残りは休みます。 第二に、グループで作業するJavaコースと私たちのコースを比較することは興味深いことでした。 そして第三に、もちろんハードコアです。



コースを改善する別のアイデアは、トレーニング部門を思いがけなく投げました。 スケジュールの特性により、講義の前にセミナーを実施しなければなりませんでした。つまり、学生はまだ誰にも説明されていない技術で宿題をしなければなりませんでした! そして、これは興味深い結果をもたらしました:講義への出席とこれらの同じ講義での学生の活動が増加しました。 一般に、すべては論理的です。問題に直面して-質問が発生しました。



コース中にポイントを獲得する1つの方法は、興味深いトピックについて講義することです。 興味深いレポートを作成します-ポイントを獲得します。 特に起業家の学生は、デリバティブの助けを借りてレポートへの関心を刺激しました。彼らは、レポートに良い質問をするために約束したポイントを与え始めました。




そして、3学期の結果は、最終的に、私たちを完全に満足させました。 学期の終わりに到達した学生はわずか50%だったにもかかわらず、知識とモチベーションのレベルははるかに高くなりました。 これらはまさしく「最高の最高の最高」でした。



現時点では、4番目の学生の流れを研究しています。コース自体は大きく変わりました。フロントエンド開発を別のコースに移動し、残りの分野はわずかに減少しました。 実際、このコースは概要ではなく、バックエンド開発に関する特別なコースになりました。 それがさらに不明瞭になるかどうか、時間がわかります。



3学期はそれほど長い時間ではないと思いますが、私にとってはもちろん、すでにいくつかの重要な結論を出しています。 彼らは、学生と一緒に教えたり仕事をしたりする人々に役立つでしょう。 だからここにある:



  1. 練習が必要で、大量に。 生徒を「捕まえて」、学習と行動の動機付けをする実践的な演習です。 そして、理論は技術の視野を優先し、広げるために必要です。
  2. 正確な技術仕様は大いに役立ちます。 いいえ、彼らは創造性を殺しません。 いずれにせよ、これを与えられた人は、自分のやり方ですべてを行います(そして、おそらくより良い)。 しかし、残りはトピックで迷子にならず、より多くの情報を吸収します。
  3. 練習後の理論は素晴らしいアイデアであり、私たち自身の例でこれを証明しました。
  4. 過負荷になるよりも学生に過負荷をかける方が良いです。




記事を締めくくりたいのは、聴衆の質問です。同僚、Web開発者、あなたの意見では、Webコースで何を議論する必要がありますか? 分析を容易にするために、タグの形式(mvc、orm、security)で応答できます。 あなたには明らかではなかったが、経験だけで来て、ウェブのあなたの考えを変えた何かを呼びなさい。 これがコースをより面白くし、将来の同僚をより良く準備するのに役立つことを願っています!



All Articles