誰でも 自分のタスクをデータベースに追加できます。KiddoをWebサイトに埋め込むことは、YouTubeプレーヤーほど難しくありません。プロジェクトのインスピレーションを与えたDataArtSolutionArchitectのDenisTsyplakovが、子供向けの教育プラットフォームのアイデアと、検疫中のその実装について話しました。
キッドとは?
Kiddoは、子供たちが高速フィードバックで問題を解決することにより、Pythonでコーディングする方法を学ぶためのプラットフォームです。APIを介してユーザーが作成した単純なプログラムは、コードが即座にレンダリングされるシーンを制御します。現在、そのようなシーンは2つあります。1つは迷路で、Cookieを収集してモンスターから逃げ出し、小さなアライグマが走ります。2つ目は、プログラミングの問題を解決するためのよりハードコアなコンソールです。
ユーザーの仕事は、アライグマを旗でマークされたフィニッシュに持って行き、クッキーを集めて、モンスターに捕まらないようにすることです。
キッドは教科書のふりをしません。プログラミングの最初の理解はまだここで必要です。しかし、初心者がインターネット上でPythonを最初から学ぶのに十分なチュートリアルがすでにあります。一目で、PythonBooksチャネルまたはWebサイトに電話をかけることができます。pythonworld.ru。私たちのプラットフォームは、それらへの追加、実用的なタスクのコレクションとして機能することができます。しかし、私には、高校生なら誰でも2、3日で、そしておそらく、問題をはるかに早く解決する方法を理解するように思えます。さらに、十分なヒントがあります。
これで、2つのシーンのそれぞれに20〜30のタスクがあります。基本的に、特にアライグマのあるバリアントでは、非常に単純です。最初は移動するだけです。2つのセルを右に移動し、次に3つのセルを下に移動するコマンドを指定します。
徐々にタスクが複雑になり、移動するモンスターが表示され、助けを借りて戦うことができます。爆弾や銃、レベルが生成されるとトラック自体が構成を変更し始めます
コンソールはあまり面白くありません、それはただのコンピュータ端末エミュレータです。ただし、一般にコーディングが必要な重要なタスクがあります。彼らは巨大な努力を必要としませんが、学生はそれらに対処することができます。しかし、最も重要なことは、少なくとも大学の1年目のタスクを含むマニュアル全体を、このステージに簡単に配置できることです。特定のプロジェクト用に、自分で追加できます。
コンソール付きのバージョンでは、Kiddo Webサイトに24のタスクがあります。Webサイト
にKiddoを埋め込むには、YouTubeプレーヤーと同じように、埋め込みコードをコピーするだけです。
DataArtは、このプラットフォームを会議で使用できると考えています。たとえば、営業日(会議が開始され、ドアが最終的に開くとき)に使用できると考えています。プログラマー向けのゲームは、一方では最小限のエントリーバリアを設定しますが、他方では、これはまだ完全に平凡な動きではなく、従来の広告のいくつかの形式とは異なり、個人的に迷惑をかけることはありません。会議の宣伝は必要悪だと理解しています:-)しかし、この宣伝を面白くて面白くする方法があります。もちろん、子供向けのプログラミング学校との協力も期待しています。現在、そのうちの1つと交渉しているので、一緒に何ができるかを見ていきます。
キッドはどう違うの?
トレーニングサイトを見ると、次の3つの要素があります。
- , — , . , , .
- — , - , , . , - .
- LMS — Learning Management System — , , , , , , .
トレーニングサイトでは、これら3つのコンポーネントは通常1つの全体にマージされます。それぞれが特定のビジネス目標を持つ製品であり、その達成には最大限のユーザーの関与が必要であるため、これは理解できます。同じ理由で、そのようなプロジェクトのLMSにおけるゲーム化の要素は、しばしば非常に難しいように見えます。惑星間飛行、在庫、キャラクタースキルの平準化を伴うクエストです。多くの教育プロジェクトが、できるだけ魅力的に見せるために、オンラインゲームに近づけようとしていることは明らかです。しかし、そのような製品をカスタマイズするのが難しいか不可能であると私には不便に思えます、そして部品で使用することは絶対に不可能です-それを完全に取るか、別のものを探すかのどちらかです。この点で、ユーザーにはほとんど選択肢がありません。
もう1つの問題があります。たとえば、画面上でキューブを移動するだけでよい完全に幼稚なプログラムと、現在のIDEは大人のように機能するというギャップです。中間のニッチは、同じSteamで利用可能なプログラミングゲーム(TIS-100など)で部分的に満たされています。それらは通常、私自身が30年前に自宅のコンピューターで勉強したものに似ています。それらの主なものは、迅速なフィードバックサイクルです。通常のプログラムを多かれ少なかれ成熟したプログラミング言語で記述し、即座に視覚化できます。何かまたは誰かが回転、実行、ジャンプなどします。ただし、このようなゲームは次のようにのみ使用できます。不可欠で独立した製品-タスクを独自の教育サイクルに統合するためにタスクを分離することは不可能です。
ロシアの教育ポータルで末っ子がプログラミングの問題を解決しているのを見たことがあります。次に、彼女はそれらの約90をクリックしました。公平に言えば、タスク自体は非常に単純であると言わなければなりませんが、視覚化とフィードバックの速度により、すべてが悪くはありません。その過程で、サードパーティのプロジェクトで再利用または埋め込むことができるユニバーサルコンポーネントを作成するというアイデアがありました。それを使って好きなことを行い、より複雑なタスクを作成します。オープンソースとして改善することができ、これに基づいて、さまざまな学習サイクルを構築します。主なことは、ユーザー(たとえば、男子生徒)は、すぐに実行される単純なコードを作成する必要があるということです。そうすると、画面上で非常に面白そうなことが起こります。
どうやってキッドを作ったの?
プラットフォーム、つまりブラウザに直接埋め込むことができるコンポーネントのアイデアは、1年以上前に私に思い浮かびました。興味のある方はどなたでも拡大してほしいと思いました。そのため、最終的には、単純な問題から始めて、深く複雑な問題を構築できます。最初はすべてがゆっくりと発展し、次にタレントラボの内部イニシアチブの助けを借りて、仮説をテストし、自分たちのために小さなプロジェクトを作成することで、物事はより速く進みました。
しかし、もちろん、自己分離がうまくいきました。さらに、仲間のエンジニアの間で子供向けのプロジェクトへの関心が著しく高まっている時間もあります。おそらく、自分自身の経験や愛する人の経験から、子供を家に留めておくことはどれほど難しいかを確信していたのでしょう。
全体として、350時間の生産時間しかありませんでした。確かに、どこかで一時的にクライアントプロジェクトの外にいた同僚に助けられました。私たちは繰り返し移動し、ほぼ12の内部アルファリリースがありました。さて、私たちは個別に行動し、特定の瞬間に自由だった人々の助けを借りて行動したので、私たちは巨大な技術的負債を蓄積しました。そのため、ほぼ1か月間リファクタリングを行っています。
一部の機能はまだドラフトにありますが、プロジェクトは拡張できます。タスクは主に開発者自身によって発明されましたが、データベースをほぼ無限に埋め続けることができます。視覚化に問題はありませんでした。たとえば、1980年代後半から多くの人に近い、一般化されたアーケードおもちゃの概念にとどまりました。私自身、アセンブラーでこれらを3つ作ったことがあります。
次は何ですか?
現在、さまざまな国向けにプラットフォームをローカライズしており、そのソースコードはGitHubに投稿されています。ただし、タスクのデータベースを補充して、いつでもKiddoをサイトに移動できます。問題はJavaScriptで書かれており、その複雑さは作者の想像力以外の何物にも制限されません。グラフィックフィールドを使用したタスク用の既製の写真のセットがありますが、必要に応じて、独自の写真を描くことができます。
最後に、誰かがKiddoに独自の何かを追加したい場合、たとえば、特定のサイトの要素としてより有機的に見えるようにする場合は、kiddo @ dataart.comまでご連絡ください。私たちは何かを理解すると思います。または、コードをGitHubにフォークして、自分で実行することもできます。