質問

私の7歳の子供がプログラミングを学びたいと思っています。(彼のアイデアは私のものではなく、彼は外の世界で物事を行っています。ですから、その観点からはあまり心配していません。彼はすでに、就寝時に読むために私のオフィスからゲーム プログラミングの本を持ち出していました。) 先日、私たちは座って、非常に簡単な数字当てゲームを書きました (8 を選ぶと正解で、それ以外は何でも)間違っている)。

それはうまくいきましたが、言語の構文に基づいていくつかの質問がありました。(その時 IDE を開いたので、たまたま Java を選択しました。) 私は中等教育以降のプログラミング入門コースを教えているので、これは私にとって少し目を見張るものでした (高校を卒業したほとんどの生徒は質問することに消極的です)。 7 歳児に構文をどのように説明すればよいのか、本当に考えなければなりませんでした。

明らかに、ほとんどの「言語」と同様に、どの C 型言語にも同じ問題が発生します。Squeak を検討しましたが、まだ使用しないことにしました。アリス環境も検討しましたが、これも気に入りませんでした。

身体的な観点から見ると、彼はキーボードやマウスの操作に慣れており、レゴ セットを比較的簡単に組み立てることができます (したがって、楽しい結果が得られる指示に従うことが彼にとってうまくいきます)。私は Lego NXT にアクセスできますが、彼はその点ではまだ少し幼いです (付属のグラフィック環境を使用しても、作業の結果を確認するのに時間がかかりすぎます)。

理想的には、この経験が彼に数学と論理に対する自信を築くのに役立つことを望んでいます (7 歳の子供が論理を持っている場合:-)。

子供の頃、タートルのグラフィックやロゴを使っていたのを覚えています。私はこれに傾いているのですが、他に何かアイデアはあるでしょうか、あるいは誰かが良いロゴ環境を推奨できるでしょうか?

編集1:

ロゴもうまく機能しています。彼に角度の概念 (90 度、180 度) を教える必要があります。残念ながら、学校ではまだ割り算をあまりやっていないので、角度を付けるのは楽しいかもしれません...

まず正方形を描きます。

FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90
FORWARD 50
RIGHT 90

後である時点でループに入ります。

REPEAT 4 
[
    FORWARD 50
    RIGHT 90
]

そして変数:

make "length 50

REPEAT 4 
[
    FORWARD :length
    RIGHT 90
]

これは非常にうまくいきます。実質的に構文はなく、7 歳児でも簡単に語彙を覚えられ、すぐにフィードバックが得られます。

編集2:

私が部屋を出ている間に彼は簡単なプログラム (まだループはありません) を書くことができたので、それは成功でした。実際、それは非常にうまくいきました。私たちは方眼紙と分度器を用意して、90度の角度を考え出しました。すると、彼は正方形をたくさん作り、正方形を長方形に変えて、どこが間違っているのかを確認することができました。デバッグ方法。プログラミングに興味のある 7 歳の子供を持つ人には、このアプローチをお勧めします。中等教育後の学生にも勧めたいと思います(!)

役に立ちましたか?

解決

JavaScriptでブラウザベースのロゴインタプリタが実際にあります。

http://logo.twentygototen.org/する

他のヒント

私は強く7歳は新しい構文を学ぶ苦労を持っているでしょうと言う人に反対します。これは完全に後方です。 7歳にして30何か非英語のネイティブスピーカーにラテン豚を教えてみてください。またはあなたの子供を外国に旅行してみてください。 (ヒント:それはおそらくあなたではありません)ヶ月後原住民と流暢にチャットすることができます誰が見ています。

子供たちはより速く私たちの灰色の毛が何よりもの非常にの任意の言語規約にピックアップします。

私は私が10歳の時にプログラムする方法を学んだの正確の方法は、あなたはあなたの息子を教えました。私の父は、私たちのAT&T PC6300に付属のGW-ベーシックインタープリタを使用して、我々はコンピュータがあなたに質問をし、そしてあなたがA / B / Cに答えるために持っていたゲームを書きました。 GW-Basicで構文に大きな利点は、あなたが複数行の文を持っていなかったということでした。あなたは似たようなしようとする場合があります。 Javaは、それは中括弧だと、少し厳しいかもしれません。

例コード:

10 PRINT "What color is Big Bird?"
20 PRINT "A. Blue"
30 PRINT "B. Green"
40 PRINT "C. Yellow"
50 INPUT$ ANSWER$
60 IF ANSWER$ = "C" THEN PRINT "Good Job!" ELSE PRINT "Oops, wrong answer!"

私はその構文の様々な順列を使用し、自分の「ゲーム」を書き込む時間時に時間を費やしました。そして、それは私が助けるかもしれない...もっと知りたい行われます。

パーサについて彼に知らせます。あなただけのものが存在する理由に文脈と推論を追加する必要があります。物事が開始および停止どこコードを読み取る機械が認識できるように中括弧があります。

私はあなたがそれらの に目的を説明すると、子供を含め、ほとんどの人がいる限り簡単に物事を拾うことがわかります。学校は私のためにひどい失敗、これまでの半分のものを学習のポイントを説明するノー・ワンだった理由はここにあります。

スクラッチには別のものです。子供たちにプログラミングを教示する目的のために特別にMITで開発されています。

私はPythonがあなたのニーズに合うかもしれないと思います。これは、他の多くの言語よりも習得が容易なものとの対話インタプリタは、プログラマがすぐにコードの一部が実行されたときに何が起こるかを確認することができますのために知られています。それに付属しているIDLEのGUIを使用するのは簡単です。また、Tkinterを経由亀のモジュールを持っています。

https://docs.python.org/library/turtle.htmlする

発達、7歳でも彼らの話し言葉の構文の基本を把握することはほとんどありません。

どのような言語や環境、使用、私は遊びのようなプログラミングの考え方ではなく、実際のプログラムを書く能力に焦点を当て推薦します。このために、何かあなたは、Pythonのように、または、よりグラフィカルな経験、Silverlightのために、おそらく最高だろう、コマンドラインから実行し、すぐに結果を見ることができます。

Microsoft は、適切と思われる興味深い取り組みをいくつか行っています。

  • ポップフライ: http://msdn.microsoft.com/en-us/devlabs/cc950523.aspx --- 「Popfly には、ゲームを作成して友達と共有する簡単な方法が含まれています。さまざまな組み込みテンプレートから選択するか、最初から横スクロール ゲーム、2D シューティング ゲーム、その他のゲームを作成します。そして何よりも、コードを 1 行も書かずに開始できるのです。」モチベーションを上げるのに本当に役立つと思います:)

    • 小さい基本: http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx --- 簡略化されているはずですが、Intellisense+.net フレームワークをサポートしています (短い説明はあまりにもマーケティング的なので、貼り付けませんでした:P)

ミニBASIC言語を持っている小さな基本して、試してみてくださいそして若い群衆のために簡略化されます。

、Javaから逃げます! スクラッチに、ロゴ、または<のhref = "HTTPのような、教育のために設計されたものを試してみてください:// PLT-スキーム.ORG」のrel = "nofollowをnoreferrer"> PLTスキームでます。

なぜQBasicはの日に戻っていませんか?それは私が学んだ最初の言語です(実際にはGW-BASICだったが、それはポイントの横にあります)。

の構文は(気まぐれな、時には実にイライラはあるが)約1の頭を取得する方がはるかに簡単です。それは私のものだっただろうと、それは何もOOを教示していないが、それはとにかく、おそらく彼の頭の上だ。

ます。

私は、基本的な視覚的、またはあなたが同じくらいの構文、中括弧などを心配する必要はありません似たような使用を言うと思います。私は7でプログラミングされたが、それはロゴやC64基本にしました。私はそれはあなたができる「大きな」ものの一つが、愚かなカメを動き回るだったように私にはとてもイライラさせられた...ロゴを嫌っ。私はそれを下に持っていたしかし、一度C64ベーシック(私には)(数年)...素晴らしかった私はCとさえC64アセンブラを学ぶために興奮しました。

次の 2 つの考えが思い浮かびます。

  • 3歳の息子は遊ぶのが大好きです ワールド オブ グー 私と一緒に。彼はまだ問題を解決することはできませんが、たくさんの情報を吸収しているのはわかります。
  • 試してみてください アリス. 。私の息子はまだこれを試すには若すぎますが、彼が大きくなったら、彼が熱心であれば試してみましょう。FWIWを見てこの番組を知りました 最後の講義 ランディ・パウシュ著 (R.I.P)

彼は http://scratch.mit.edu にチェックアウトしてもらいます。私たちは

...入力すると、私の7歳のは、このことを学んでいます

Etoys のは、おそらくあなたが探しているものです。それはちょうど子供たちのために作られたのSmalltalkの一部は、グラフィカルな風味です。これは、OLPCプロジェクトで使用されます。

私は Stagecastするを使用して、プライマリ・グレードのコンピュータのコースで関与していました。これは、子供たちのために設計されたグラフィカルなプログラミング言語です。それは、グラフィカルな対話型ですので、私はそれを理想的な入門言語を発見しました。それは読書や数学を必要としない、それはWindowsとMac OS上で動作し、子どもたちが学ぶために動機づけられているので、簡単なゲームに最適です。

それが再設計されているように見える一方で、

、あなたはまだ、 Hacketyハックするの古いバージョンを取得することができますこれはティーンエイジャーと始めプログラマのため_whyによって設計されたRubyプログラミングキットです。

私はアリスについて少し破れています。

一方で、あなたが直接視覚的満足感をプログラムすることができますフレームワークがあると便利です。これは本当に良いアイデアです。

一方で、私はそれをドラッグ&ドロップによって排他的に初心者のプログラムを持っていることは非常に悪いアイデアだと思います。私は、これはも、彼らはドラッグ&ドロップインターフェースを奪われ、適切に書かれたコードを生成することができない非識字のソートにつながる可能性があることを恐れています。

は個人的に、私は、算術演算とブール論理の基本は最初の子供に教えることがより重要だと思います。彼らはこれらの概念を把握した後、私は基本的な構築物に移動することは適切であると思います。私はちょうど子供が条件文を理解することができる方法を参照し、ブール論理ずにループが、その後、再び、かなり明るい子供たちがそこに存在しません。)

前の文が満たされていると仮定すると、私はPythonのための私の投票をキャストする必要があります。

私は多くのアーケードゲームエンジンの一つのために見て、彼はそれで遊ばせているだろう。彼は、ループや条件、そしておそらくいくつかの手順を使用する必要がありますいずれかを選択します。

前にプログラムされたことがないと非常に技術的ではないかもしれない人々を目指しているという実利からプログラムするための学習と呼ばれる

が存在ブック。

これは、新しい人々がピックアップするためには非常に簡単にすることができRubyが使用しています。

私は高校でチューリング言語に導入されたときに

私はプログラミングに興味を持つようになりました。チューリングは、一度に多くの学校での教育言語として使用し、それはプログラミングの概念を紹介するために私のために非常によく働きました。ここで Wikipediaの

からチューリングの説明であります

のチューリングは、カナダのトロント大学のリック・ホルトとジェームス・コーディーによって1982年に開発されたパスカルのようなプログラミング言語です。チューリングは、クリーンな構文や精密機械に依存しないセマンティクスを特徴とユークリッド、PascalとSP / kの子孫である。

の英国のコンピュータ科学者アラン・チューリングにちなんで名付けられた、チューリングは、主に高校や大学レベルでの教育言語として使用されています。他の二つのバージョンでは、オブジェクト指向チューリングとチューリングプラス、システムプログラミングバリアントを存在します。 2001年9月に、「オブジェクト指向チューリングは」「チューリング」と改名された、元のチューリングは「クラシックチューリング」と改名されました。チューリングは、トロントのホルトソフトウェアアソシエイツから入手可能です。

マイクロソフトのWindows、Linux、およびApple Macintosh用

のバージョンが用意されています。チューリングはまだ広くプログラミングの入門として、オンタリオ州の高校で使用されている。

の2007年11月には、事前に商品化プログラミング言語だったチューリングは、フリーウェアになりました。 2007年11月28日の時点で、それは、個人的、商業、教育利用のための無料ホルトソフトウェアのWebサイトからダウンロードすることができました。<のhref = "http://en.wikipedia.org/wiki/Turing_(programming_language) "REL =" nofollowをnoreferrer "> 1 の

また、コモドール64のエミュレータを使用することができます。それは右BASICからのを開始します。

//en.wikipedia:

同様レゴ™の<のhref = "HTTPを捨てるかもしれません。 ORG /ウィキ/ Lego_Mindstorms」のrel = "nofollowをnoreferrer">可能性として、マインドストーム™に。これは、LabVIEWに基づくグラフィカルプログラミング言語を使用します。

私は以前の今日、この記事を読んで、その後、偶然に偶然YUP.comに行き、発見

<のhref = "http://www.yup.com/articles/2007/04/27/teaching-kids-to-hack-with-hackety-hack" のrel = "nofollowをnoreferrer" タイトル= "ティーチング子供たちはHacketyハックと(プログラム)」をハックする>ティーチングキッズHacketyハックするで(プログラム)をハックする

私はこの質問を見て、誰のための追加のリソースとしてそれを投稿したい考え出します。

私は最近、同様の<のhref = "https://stackoverflow.com/questions/960935/would-shell-scripting-be-a-good-language-to-teach-a-kid-some-に応え非常にシンプルな--プログラムの開発/ 961030#961030" > SOた、 kidbasicするへのポインタでの質問オープンソースとクロスプラットフォームのソフトウェアです。

スキームがいいとシンプルさの点で、ロゴと構文的に類似しています。また、Schemeは理解再帰の非常に直感的な方法を提供し、早い段階で、より良いとの良好なほかならないコンピュータサイエンスの基本的な概念のこれらのタイプを拾っています。

UCBスキームも(空が限界だと言うことはありません!)ポリゴンを構築し、数のパズルを解くよりも、7歳に多くの意味を成して文章を、操作するための機能が内蔵さの多くを提供しています。

小学2年生のときは「BASIC Fun」という本に載っているプログラムを打ち込んでいました。

無限ループと INPUT A$ の概念は重力を発見するようなものだったことをはっきりと覚えています。頭の痛いもの。

独学で学んだ私の進歩は氷のように遅かったが、GOSUB が変数引数を取れるようにしたいと思うプログラムの点には到達した。今にして思えば、それは関数ポインタを理解したということだった。

私の初期の目標には、長いプログラムを書くことが含まれていました。仕様が明確に定義されたプログラムは失敗のリスクが高すぎるため、7 歳児にとって長いプログラムは悪い目標ではありません。誰でも書くことができます 長さ プログラムに参加して満足し、途中で多くのことを学びましょう。

1980 年代には、BASIC によるプログラミングに関する書籍があらゆるジャンルで出版されていました。そういったものはプログラミングのアイデアの素晴らしい源となります。ただし、たとえ 7 歳の子供でも BASIC を使用することはお勧めしません。lua は BASIC のシンプルな雰囲気を持っていますが、壊れたクソではありません。

もう探す必要はありません。実際には、まさにこの目的のために設計された学習プラットフォーム/OS が存在します。 砂糖.

OLPC (子供 1 人につき 1 台のラップトップ) と呼ばれるオペレーティングシステム 砂糖 は現在一般公開されており、Mac、Windows、Linux などのすべての主要なオペレーティング システム内で VM として実行できます。

次の場所でコピーをダウンロードしてください シュガーラボ.

含まれている興味深いアクティビティの 1 つは、ロゴの 21 世紀バージョンを強化した TurtleArt と呼ばれるものです。Pippy という子供向けバージョンの Python IDE もあります。 実際に子供たちに Python を教えています。

見る タートルアート そして ピッピー そしてその その他の活動 砂糖で見つかりました。

アラン・ケイは、実際には彼の先見の明のある DynaBook を現代的に具現化した Sugar OS のいくつかの斬新なコンセプトの背後にありました。大人(エンジニア)としても、一緒に遊ぶのは楽しいと思います。

VM としての Sugar が気に入っている場合は、ハードウェアを購入すると同時に、世界のどこかにいる貧しい子供を助けることもできます。

Engadget は次のように説明しています。 OLPC XO Buy-One、Give-One プログラムが進行中

OLPC OX

私たち大人へのボーナスとして, Sugar は Fedora に由来します。つまり、これは本物の完全な Linux ベースの OS です。ハッキングするのは楽しいはずです。;-)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top