子ども向けプログラミング言語の進化

オバマ大統領の Computing for All (#CSforall) イニシアチブと STEM (科学、技術、工学、数学) への注目の高まりにより、私たちは子供向けのコンピューターを構築する必要がある段階に来ています 教育における標準とベスト プラクティスを確立する時期が来ています。業界は、ビジュアル プログラミングが子供たちにコンピュータ サイエンスと計算的思考を教えるための最良の方法であることに同意しています。これにより、子供たちは非常に幼い年齢で、難しいプログラミング構文を取り除き、ソフトウェア プログラミングの本質を柔軟に習得できるようになります。

ロゴ言語の改善

過去 50 年にわたり、デザイナーはシーモア パパートによって作成されたロゴ プログラミング言語 (LCTT 注釈: 「小さなカメ」を見た学生もいるはずです) を改良し続け、インターフェイスがわずかに異なる多数のプログラミング言語を改良してきました。同じ核となるアイデアが現れました。現在の教育標準は、MIT の Scratch プログラミング言語の人気のおかげで、モジュール (ブロック) プログラミングに基づいています。CSTA の幼稚園から高等学校までのコンピュータ サイエンスの教育基準では、幼稚園から小学校 5 年生を対象に、「モジュールベースのビジュアル プログラミング言語を使用してソリューションを構築およびテストする」プログラミング能力が求められています

どんどん若くなっていく

コンピューター サイエンス教育におけるもう 1 つの傾向は、聴衆の若年化が進んでいることです。研究によると、5 歳の子供でもコンピューター プログラミングの概念を理解できるため、これは避けられない傾向です。まだ文字の読めない子供たちにプログラミングを教えるには、言葉の使用を避ける必要があります。 Scratch Jr や Code.org などの最近の初級コースでは、モジュールベースのプログラミング言語のテキストの代わりにアイコンが使用されています。

ロボットプログラミング

コードに命が吹き込まれるのを見るのは魔法のようです。今世紀初頭には、レゴと MIT はモジュールベースのプログラミングを現実世界に導入するプロジェクトで協力しました。学生は自分のコンピュータでプログラムを作成し、構築するロボットにダウンロードできます。初期の RIS (ロボット発明システム) は Scratch によく似ていました。

2013 バージョンのレゴ マインドストームは、以前のバージョンとほとんど同じことを行いますが、より複雑になっています。入力パラメータをモジュールに追加して、距離、時間、出力などを指定できるようになりました。

Martin Exner は、Logo と、最近では Scratch から派生したプログラミング言語を要約した簡潔なインフォグラフィックを作成しました。ロゴ言語の多くの派生言語は、ゲームの作成、3D ストーリー環境の作成、絵の描画、ロボットのプログラミング、さらには仮想水槽の制御など、特定のシナリオを中心にしています。このアプローチはさまざまな子供たちにとって魅力的ですが、多くの子供たちは依然としてプログラムの書き方を学ぶのが難しいと感じています。

ロゴをベースにしたプログラミングのアイデア

実生活では、コンピュータ プログラミングでは通常、さまざまな種類の入力を考慮し、同時にさまざまな論理的判断を動的に処理する必要があります。起床後に何をするかについて簡単な例を挙げてみましょう。土曜日と日曜日であれば、外に遊びに行きます。月曜日であれば、スポーツ用の服を着る必要があります。学校に行かなければならない週末にはゴミ出しをしないでください。 Scratch を使用して実装されたロジックを以下に示します。

これらのモジュールベースのプログラミング言語に加えて、子供たちにプログラミングを教えるために異なるアプローチをとる新しい言語があります。 2015 年、Wonder Workshop は、ストリームベースのプログラミングインターフェイスを使用した、Wonder と呼ばれる新しいプログラミング言語を設計しました。 Wonder を使用すると、学生は、ステート マシンを構築するための、いくつかの事前定義された機能単位 (またはステートメント) の接続に焦点を当てることができます。ロボットは常に、特定の単一の状態にあり、何らかのアクションを実行し、何らかの入力が与えられると、別のアクションを実行するように変化します。

次の図は、フローベースのアプローチを使用して起床後のタスクを決定する方法を示しています。

このプログラミング言語は、線形プログラミング パラダイムから脱却するだけでなく、コンピューティングへの異なるアプローチを提供し、学生が現実世界の変化に対する反応を理解しやすい方法でシミュレートできるようにします。学生はより簡単に問題を小さな部分に分割し、それらの部分を使用して複雑な問題を解決できるようになります。生徒は問題を解くときに、一度に 1 つの問題だけに集中する必要があります。このプロセスは分解と呼ばれ、これはコンピューター分野の基礎知識であり、Wonder の設計目的でもあります。

私たちの日常生活にはロボットやステートマシンの例が数多くあり、それらはますます一般的になりつつあります。正しい組み合わせのコインを入れると、自動販売機で対応する食べ物が出てきます。自動運転車は周囲の障害物に基づいて移動方法を決定します。ステート マシンは、言語解析、人工知能、通信プロトコル、ゲームのキャラクター変更、さらにはニューラル ネットワークなど、幅広い問題をさらにモデル化することもできます。

ロボットの普及が進むにつれ、教師は子供たちにコンピューターサイエンスを教えるための標準としてモジュールベースのプログラミングを使用するよう訓練されています。それがますます多くの教室に浸透するにつれて、これが正しい方向なのかどうか疑問に思う必要があります。子供たちにコンピュータープログラミングを教えるための、他に良い方法はあるでしょうか。

「Celebrated More Than Years 2」の海賊版リソースが npm にアップロードされたため、npmmirror は unpkg サービスを停止せざるを得なくなり、 最初の創設者の 数百人が参加して、一斉に米国に向かいました。 フロントエンド視覚化ライブラリと Baidu の有名なオープンソース プロジェクト ECharts - Fish 詐欺師をサポートするために「海へ行く」が、TeamViewer を使用して 398 万を送金しました。リモート デスクトップ ベンダーは何をすべきでしょうか? 周宏宜: Google に残された時間はあまり多くありません。すべての製品をオープンソースにすることが推奨されています。 ある有名なオープンソース企業の元従業員が、部下から異議を申し立てられた後、激怒しました。妊娠中の女性従業員を解雇しました。Google は Android 仮想マシンで ChromeOS を実行する方法を示しました。 ここで time.sleep(6) はどのような役割を果たしますか? マイクロソフト、中国のAIチームが「米国のために荷造りしている」という噂に反応 人民日報オンラインはオフィスソフトのマトリョーシカのような課金についてコメント:「セット」を積極的に解決することによってのみ、私たちは未来を手に入れることができる
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/7184990/blog/11125290