ワークショップの作成者が教育コースを作成する方法

Yandex.Practicumの各コースの背後には、開発者、イラストレーター、デザイナー、方法論者、メンター、コードレビュー担当者、そしてもちろん、コース資料を作成する作成者と編集者という大規模なチームがあります。



つまり、コースプログラムは次のように作成されます。







これらすべての段階の後でも、プログラムは補足され、更新されます。プログラミング言語とフレームワークの新しいバージョンがリリースされ、ツールの使用状況が変化し、学生からのフィードバックが寄せられます-コースの最新バージョンをコンパイルするときに、これらすべてが考慮されます。



この投稿では、著者の側からコースを書くプロセスがどのように配置されているかを説明します。カットの下で-有用なコースを作成するための主なルール、作者の死の概念、良いコースを書きたい場合にすべきでないトップ5のこと、そしていくつかの個人的な話。この投稿は、知識の伝達プロセスに関与するスペシャリスト(チームリーダー、技術ブロガー、教育コンテンツの作成者)に役立ちます。



資料の提出方法



実習には、初心者から上級者向けのコースがあります。この投稿では、最初のグループについて説明します。



ほとんどの場合、そのトピックについてまったく何も知らないか、かなり知っている学生が私たちのところにやって来ます。すでに自分で何かを勉強している人もいますが、それでも最初のものに焦点を当て、簡単な言葉で資料を提示しようとしています。



生徒が資料を簡単に認識できるように、実際の例に基づいて作成しています。このようにして、複雑な用語を使用せずに、変数、関数、ループ、その他すべてがどのように機能するかを説明できます。原則として、初心者の生徒は、他のサイクルの例ではなく、たとえば冷蔵庫に行く例でサイクルを説明するときに非常に感謝しています。





「C ++開発者」 コースの例



著者自身の経験に大いに助けられています。彼らは自分たちがどのようにして知識を習得したかをよく覚えています。それらの多くは、単にドキュメントを詰め込むだけでなく、明確な比較とともに、使い慣れた例を使用して、トピックの本質を簡略化された形式で再び語りました。今、彼らは他の人々のために同じことをしています。





おばあちゃん、糸の玉、セーターの助けを借りて、コース「ミドルパイソン開発者」の ORMとは何かを説明



します。複雑なことを自分自身またはチームに簡単な言語で説明するスキルは、著者の仕事の基礎です。 。



学生の興味を維持する方法



明確で有用なテキストでさえ退屈になる可能性があるため、私たちは常に現代の文化的文脈を考慮に入れようとしています。著者がメディアをフォローし、文化的規範を認識し、古き良き古典を思い出し、新しい映画を見ることが役立つと信じています。





Pythonコースのユニバーサルパスポートトピックの「5番目の要素」を参照



するイースター要素をよく使用します。たとえば、現在立ち上げの準備をしているJavaコースは、進行するにつれてさまざまな問題を解決するヒーローとの旅として構築されています。イースターエッグを縫い付けて、問題を解決するだけでなく、お気に入りのテレビシリーズや有名な曲への言及を見て笑顔になるようにしています。



多くのコースでは、生徒の注意はストーリーテリングを通じて捉えられます。主人公と彼の物語が架空のものであっても、その資料は初心者の読者にとってより面白くて記憶に残るものになります。



たとえば、新しいコース「React Developer」では、最初の学生が、遠隔地のハンバーガーでウェイトレスとして仕事をし、彼女を改善することを夢見ているヒロインに会います。トレーニング全体を通して、学生はスペースバーガーのWebサイトを開発し、ストーリーのヒーローが彼をサポートします。設計作業でCRAブランクとコンポーネントのフォルダー構造を作成する必要がある場合、ヒロインは改善する計画を提示します。ハンバーガー、そして学生がJSXとタイプセット全体を書かなければならないとき、英雄はハンバーガーを修理し始めて、壁を塗ります。





スペースウェイトレスは、React開発者コースの学生に同行します



Python開発者コースの無料部分では、学生は独自のパーソナルアシスタントであるAnfisaを作成します。 Anfisaは、サードパーティのサービスに関する情報を要求し、受信したデータを仕事で使用する方法を知っています。彼女は(ノートのように)友達のリストを保持し、各友達の街の天気を判断し、友達にアイスクリームを提供することができます。 Anfisaのリストに載っている友達は、コースを準備した私たちのチームの人たちです(著者からの小さなイースターエッグ)。そして、友達が住んでいる都市は、チームの人たちが実際に生まれた都市です。コースを進むにつれて、アンフィサは徐々に増加します。当初、アンフィサはまだあまり知らないので小さいです。しかし、徐々に学生はコードを書き、それにさまざまな機能を追加し、Anfisaは成長し​​ます。





Python開発者コースのイラスト:オープンボックスはDjangoに比喩的に関連する項目を含む、学んだ教訓であり、新しいボックスはまだ学ばないものです。



どのような困難が生じるか



簡単な例とよく知られた関連性を使用して、複雑な技術的現象を説明することは非常に重要です。しかし、プログラミングの世界のすべてをすばやく簡単に日常生活に移すことができるわけではありません。いくつかの例はかなり明白です が、いくつかの概念は簡単に説明するのが難しいです。



たとえば、フレームワークとは何かをどのように説明しますか?Python開発者コースでは、次のようにします。



  • . , , . , , .



    , .



    . . , . , .



    . . . ( , ). : , , , . , .







    — , . , , , . , ? . , ? .



    . .


これは予想外の深刻な課題です。著者が主題にいるとき、複雑なことは何もないように思われるかもしれません-彼に座って説明させてください。しかし、著者がこのトピックに精通しているという理由だけで、彼は別の説明が必要な例で何かを説明します。



しかし、作者が正しい(そして理解できる!)アナロジーを選択することに成功したとき、これは別々の嵐の喜びの理由です。



複雑な概念を説明する方法の例をさらにいくつか示します。



  • 孫が食べたパイの例を使用して、変換について説明します。





  • 確率論とは反対の出来事-たとえば、オンライン映画館で映画を購入する:





  • , , . , , ;
  • for : , , :





  • «» Python, - , .




それぞれの作者には独自のスタイルがあり、私たちはそれを維持しようとしています。企業環境では、作者の死という概念が人気があります。そのアイデアはこれです:作者は完成した資料に表示されるべきではありません。主なことは、意味、事実、経験を伝えることです。さらに、編集者はテキストをできるだけ非人格的で検証します。



私たちはこの概念に同意しません。それは私たちのプレゼンテーション形式を破壊するように思われます。はい、私たちには編集者がいて、方法論者と一緒に、著者のテキストをレビューして修正し、学生の立場に立っています。同時に、著者は美についての彼の考えの枠組みの中で特別な方法で冗談を言うことができます。それが意味を傷つけないのであれば、編集者はそのようなことをテキストに残します。



著者は、ステージの内部リンク、モジュールの名前、ストーリーテリングイベントとのリンクなどについて考えます。編集者は、コースプログラムが突然ジャンプすることなく、徐々に複雑になることを確認します。ファシリテーターは、最初から生徒に過負荷をかけないように、情報を追加の資料に転送することを提案する場合があります。



テキストは、十分に有益で曖昧さがなくなるまで前後にさまよいますが、著者の提出物はそこから消えることはありません。



開発者が著者になる方法



人々はさまざまな方法でさまざまな専門分野から著者になります。以前に記事やレッスンを書いた人が来てくれれば論理的ですが、そのような候補者はかなりいます。ほとんどの場合、作成者は教育の分野に興味があり、知識を他の人と共有したい開発者です。プログラミングの特定の分野での経験に加えて、ITの外部の人が彼を理解できるように、著者が興味深い方法で記述および説明できることが重要です。また、作者が正確なアナロジーを描き、比喩、例、実践からのタスクを考え出すことができることも重要です。



ここにワークショップの作者からのいくつかの話があります。



Artemy Vereshchinsky、コース「React開発者」の作成者、JSC「Netris」のユーザーインターフェイス開発責任者



Artemyは常にインターフェイスを扱いたいと考えていました。システム管理者でありながらコーディングを開始し、CMS(Wordpress)で開発をマスターした後、ヨーロッパの食品業界のブランドで働きました。それから1年半のフリーランスとマスタリングデザインとJSがありました。



Razer、Pantone、その他の企業のディストリビューターのフロントエンド開発者として働き、LCとショッピングカートを作成しました。彼は2つの役割を組み合わせ、Rostelecomの子会社でフルスタック開発を習得し、チームとともに、ビデオ放送を管理し、世界の裁判所の監視を行うための製品を実装しました。



現在、Artemyは、ビデオ監視の分野で設計システムを作成し、B2Gプロジェクトを開発する設計者のチームを管理し、フロントとしてコードを記述しています。

digital- — , , — . , -, . , .



, , .


コース「Web開発者」の著者であるSergeyOzerov、nebenan.deのフロントエンド開発者



子供たちにプログラミングの基本を教えるためにSergeyと呼ばれる知人。それ以前は、物理数学リセウムで学び、その後、物理学の工科大学で学びましたが、勉強中のプログラミングは困難でした。もう一度、トピックを理解するために、彼は子供の頃、すべての用語と定義を可能な限り噛み砕いて、それを自分自身に説明することにしました。



将来的には、このアプローチは、真空中での球形プログラミングではなく、どこで、どのように、どのコードを使用できるか、どのプログラムを作成できるか、何を実行するか、実際にどこで発生するかを指で示すのに役立ちました生活。

子供たちに何かを説明するとき、あなたがずっと前に過ぎて、完全によく知っているように見える何かでさえ、あなたはそれをさらによく理解し始めます。当初、私自身もいくつかの話題に取り掛かっていましたが、子供向けの教材を用意することで、子供たちを完璧にマスターすることができました。


Web学部の1階のコンテンツリーダーであるAndreyStrogovは、



ハチミツを学び、自由時間にプログラミングを学びました。彼はまた、誤ってJSとレイアウトの基本を学童に教えるように提案されました。



, , . : , , : «, , ». , .



, . , . , computer science , .


「Java開発者」コースの著者であるNastyaRagozina Nastya



は、B2BセグメントでJavaプログラマーとして数年間働いていましたが、時間が経つにつれて、これに興味を失いました。仕事を辞めてから数か月後、彼女は教育に関連するパーティーの時間を探し始めました。彼女は自分のスキルを維持したいと思っていました。また、常に新人を助けることも好きでした。Nastyaは、いずれかのコースのレビュー担当者として開始し、その後、コースのいくつかの資料を作成しました。

私はこの分野で働く準備ができていることに気づき、この段階でそれを私の主な仕事にしたいと思っています。私は幸運でした。ワークショップがJavaコースの著者を募集し始めたのはこの時点でした。


初心者に知識をもたらさない方法



作業の過程で、絶対に避けるべきものの別のリストを自分たちでまとめました。



  1. - .



    , , - . , .
  2. , , , .



    « , , , », — . , , .
  3. .



    . , . « , ...» .
  4. , .



    , . , , , . , , , . .
  5. 他の12のエンティティに言及して、1つのエンティティを説明します。このアプローチは、学生にとって混乱し、時間がかかります。


私たちはクールな著者と編集者の努力でコースを書き、学生と私たちの方法論者からのフィードバックのおかげで絶えずそれらを洗練し、改善しています。あなたが私たちのアプローチを気に入って、あなたの経験を共有したいのであれば、私たちは著者のためにいくつかの欠員を持っています



All Articles