11

私は誰かにプログラムを教える準備をしています。コースの教材を学んだとき、最初のいくつかの演習ではタートルグラフィックスを使用しました。入門教科書を読んでいて、そのテクニックを使った教科書は見つかりませんでした。他の人はこのアプローチが役に立ちましたか?そうでない場合、プログラミングを学ぶためのより良い方法は何ですか?

4

18 に答える 18

7

対象グループの年齢にもよると思います。

彼らが子供である場合(私は12〜14歳までと言います)、簡単なグラフィックを行うことは彼らをやる気にさせる良い方法です。一方、実際のプログラミングやアルゴリズムについて多くを学ぶことを期待しないでください。

10代(14〜18歳)の場合は、かなりの結果が得られるアルゴリズム(3Dやフラクタルなど)を使用するのは良いことかもしれませんが、それらは古く、より抽象的な思考が可能であるため、2Dタートルグラフィックスは考えていません。十分に興味深いです。

彼らが古い場合、グラフィックを行うことは気を散らすものです。その年齢で、彼らは何も空想なしで学ぶのに十分な内面の動機を持っているべきです。

要約すると、派手なグラフィックスは、学習の役割(実際のプログラミングの学習を容易にする)よりも、動機付けの役割(自分が何をしたかをすばやく確認でき、コンピューターで何ができるかを他の人に簡単に示すことができる)に役立つと思います。

于 2008-12-06T09:19:21.463 に答える
6

80年代後半、Cでプログラミングする前は、ApplesoftBASICLogoでプログラミングしていました。子供の頃、カメはプログラミングが簡単になるので素晴らしいと思いました。私が子供たちにロゴを教えることにした場合、私はおそらくここから始めて、積極的に開発されたロゴインタープリターを手に入れます。

于 2008-12-06T09:01:45.103 に答える
3

LOGOの重要な点は、ユーザー定義関数です。あなたがそれを強調する限り、それを伝えることは非常に得意です。正方形を描く方法をインタラクティブに示してから、正方形と呼ばれる新しい単語を作成します。次に、正方形を使用してパターンを描画する方法を示します。次に、それらのパターンを単語にします。

于 2008-12-06T09:22:49.010 に答える
3

Scratchのようなツールを使用するよりも、プログラミングを教えることの方が悪い場合があります。これはドラッグ アンド ドロップのプログラミング インターフェースであり、プログラミングの基本的な概念を教えるために使用でき、楽しい視覚的な結果が得られます (Web サイトのギャラリーから確認できます)。

ロブ

于 2008-12-06T14:32:05.157 に答える
2

Logoは、再帰関数がどのように機能するかについて非常に明確な図を示しました(しゃれは意図されていません)。当時、アセンブリプログラミングを行っていたため、メソッドに戻るときに前の状態に戻る必要性がLogoで非常に明確になりました。

の効果を非常に簡単に確認できるものの再帰的な実装。

于 2009-03-06T20:10:31.433 に答える
1

プログラミングとは何かを知る前に、Doom2というゲームのcのような方言でスクリプト/コードを書いたので、ポインター、継承、ポリモーフィズムなどの概念について真剣に学ぶことになると、理解を助けるだけでなく、ポインターや配列のようなものがいかにクールであるかを理解するのに役立つメンタルモデル。

私の友人は優れたプログラミングの学生ですが、アルゴリズムが機能していることを視覚化できないとイライラします。他の学生を支援し始めたとき、同じ問題が発生していることがわかりました。駆け出しのプログラマーとして感謝するために、同じ友人は私に「クレイジーなヒモのたわごとを見せて、それがどのように行われるかを見せて」と雄弁に提案しました。彼は正しいです、誰かが本当に何かを学びたいと思っていても、彼らが学んでいることが彼らに素晴らしいことをさせると彼らが考えるならば、彼らはより多くの精神的エネルギーを引き出すことができるでしょう。

私の最善のアドバイスはこれです:最初は可能な限りコンソールにプログラミングするのに少しの時間を費やしてください

それはあなたに制約を感じさせ、あなたの努力は無駄に見えるようになります。それは、プログラミングの学習に使用されるべきフロントエンドとしてそれを評価した後でのみです。前述のポリモーフィズムや継承などの概念や他の方法をほとんど教えられないと思うので、私自身はロゴを使用しません。私の友人が10代の若者にラッパーでXNAを使用してプログラミングする方法を教えていることを知っています。画面に画像をブリットさせることができるものなら何でもいいと思います。そうすれば、ゾンビや犬などに継承される動作を備えたEnemyEntityという抽象基本クラスが必要な理由がわかります。概念が理解しにくいというわけではなく、最初は理解しにくいというだけです。

私は続けることができましたが、それは私が他の人に教えることによって学んだことを超えていると思います。プログラミングの指導にグラフィックスを使用することで、学生は無形の概念のメンタルモデルを他のどのモデルよりも早く構築できるようになると思います。

XNA素晴らしいグラフィックライブラリであるC#を教えたい場合は、ラッパースプライトクラスを作成して、最初に概念を教え始めたときに、できるだけ複雑さを隠してください。

SDLc ++から始める場合の下位レベルのライブラリ

于 2008-12-06T10:04:58.300 に答える
1

エラーメッセージの品質のため、Logo(コンパイルされていない)のような解釈された言語から始めることを強くお勧めします。このプロセスでは、エラーメッセージを読むことが非常に重要です。また、簡単なレベルでは、Logoを使用すると、指示を1つずつ直接モードで実行し、期待される結果が得られたときに手順に実行できます。

@ Alex:MicroWorldsはロゴの商用バージョンであり、英語、スペイン語、ポルトガル語、イタリア語、ロシア語などで存在します。英語を母国語としない人にとっては大きなプラスです。

于 2010-03-27T13:18:01.040 に答える
1

私の1年目のコンピュータサイエンスの論文の1つで、Javaを使用してカメのオブジェクトを介してフラクタルパターンを作成しました。

特定のパターンを生成するために必要なアルゴリズムが正しく実装されているかどうかを視覚的に確認するのは非常に楽しかったです。しかし、主な質問に答えてください。カメを介したプログラミングが役立つとは言えません。誰かにプログラムを教えるための最良の方法は、彼らがやりたいことを何でもできるように彼らに彼ら自身のアプリを構築させることだと思います。これにより、クリエイティブなコントロールが可能になり、行き詰まった場合でも問題の解決方法を学ぶことができます。

于 2008-12-06T11:30:51.747 に答える
1

LOGOはTurtle-Graphicsだけではありません。LISP に由来する他の興味深い概念もあります。「タートル」はロゴの「必須」の側面を強調するためのものです。:)

于 2010-03-28T11:34:26.513 に答える
0

画面に顔(円や正方形)を描く簡単なプログラムを書いて、BASICでプログラミングすることを学びました。どういうわけか、私の友人の何人かはそのように学んだが、カメのプログラミング全体は決して私のものではなかった。その後、Pascalに移動し、次にDelphi、Java、C ++ / C#に移動しました。私の意見では、秘訣は生徒を「驚かせ」、独自のプログラムを作成することで達成できる可能性のあることを印象付け/力を与えることです。私は実際にいくつかのGUIプログラミングまたはゲームプログラミングを実演します。最終目標を念頭に置いておくと、基本を学ぶのがはるかに簡単になります。

最近、私はSmallBasicに出くわしました。これは、概念を教えるように設計された子供向けのクールなプログラミング環境です。やってみます。それはそれを使用する方法を説明するかなり完全な紙が付属しています。

于 2008-12-06T08:15:35.307 に答える
0

学校でもロゴとカメを使ったので、いい紹介になりました。

私たちの子供たちは、MicrosoftKoduとのインターフェイスが少し更新されるようです。とても印象的です。これは、X-BoxLiveで実行されるゲームを作成するために作成されたアイコンベースのプログラミング言語です。

于 2009-03-06T20:07:29.163 に答える
0

初めてコンピューター (VIC-20) を手に入れてプログラミングを始めたとき、自分が何をしているのかを両親に説明するのは非常に困難でした。

私の母は、彼女が働いていた図書館をコンピューター化するプロジェクトの準備として、コンピューティングのコースを受講しました。LOGOを学んだ後、彼女は家に帰ってきて、私が何に興味を持っているかを突然理解したと言った.

タートルグラフィックのロゴが私たちをより近づけました!

于 2008-12-06T09:36:21.960 に答える
0

私は現在、python を学んでいて、少し亀を使っています。ラボでは使用していませんが、宿題では使用しています。それが存在することを知っているのは素晴らしいことであり、特定のコマンドと構文を取得するための良い方法です。全体的に、完全に必要だったとは思いません.

于 2009-05-06T21:03:45.477 に答える
0

個人的な経験、YMMV...

コンピューターとの最初の出会いは、10 代前半のタートル グラフィックスでした。私は大好きで、すぐに夢中になりました。(おそらく、誰か[何か]が初めて私が言ったことを正確に実行したからでしょうか?)

視覚的で即座のフィードバックにより、私はもっともっとやりたいと思うようになりました。使用していた本で見た写真を複製する方法を知りたかったのです。それを「仕事」と分類することさえせずに、初期のプログラミング スキルと自分で学べる自信をゆっくりと築き上げました。

この仕事をしてお金をもらえるなんて信じられない幸せなソフトウェア開発者である私を、今日の道に導いてくれたと信じています(知っています、知っています-すべての企業の嘲笑はさておき、私は自分の仕事が好きです)。

私が言ったように、YMMV。

于 2012-04-04T00:36:04.190 に答える
0

私は 7 歳の子供に Logo を使用したプログラミング方法を教え始めたところです。彼はそれをとても楽しんでいます。コマンドは彼の限られた読み取り能力のために十分に簡単であり、彼はカメのグラフィックを使用してクールな絵を描くのが大好きです。彼がそれを使って学んだことをどれだけうまく保持しているかに驚いたので、彼の年齢には良い選択だったと思います.

年長の子供(または大人)にとっては、他の言語の方が初心者言語としてより有利かもしれませんが

于 2009-11-20T12:14:39.087 に答える
0

私は 80 年代後半に「子供向けコンピューティング」コースを受講しましたが、ロゴを使用したタートル グラフィックスに関する広範なセクションがありました。正直なところ、私は涙が出るほど退屈で、そこからほとんど何も学びませんでした。

「カメのプログラミング」は、芸術に傾倒している人や幾何学に非常に興味がある人にとってはうまくいくと思いますが、概して、子供にとっても、取り組むべきはるかに興味深い問題があります.

于 2008-12-08T02:14:10.573 に答える
0

若い頃、とても面白いと思いました。それは、私が 2 日間ほど使ったにもかかわらず、私が学んだ最初のプログラミング言語の 1 つでした。それが私のプログラミングへの興味の始まりでした。

最近では、ほとんどのステートメントが省略形であるため、構文が少しわかりにくいと思います。今日では、コンピューターははるかに強力であるため、言語はより明確なステートメントから利益を得ることができます. もう 1 つの要因は、それを使用することを学んでいる人の母国語です。英語が母国語でない場合、ロゴは理解するのが少し複雑になります。したがって、ロゴを子供たちに教えている場合は、まず子供たちが英語の用語に慣れていることを確認してください。(英語を母国語とする人であれば簡単です。元がオランダ語、ドイツ語、フランス語、ポルトガル語である場合はより複雑です。ロシア語または中国語の場合は、別の文字に適応する必要があるため、さらに複雑です。セットも。)

于 2009-08-26T21:16:15.970 に答える
0

ああ、懐かしいロゴの思い出。プログラミングのレッスンというよりも、幾何学のレッスンのほうが多かったと思います。たとえば、特定の形状、デザイン、またはパターンを生成するために、さまざまなポイントでどれだけ回転するかを考え出すなどです。プログラミングに幾何学を混ぜるつもりならうまくいくかもしれませんが、その人が幾何学の基本を持っていない場合、たとえば、正方形とは何か、他の 4 辺の形状とどのように違うのか、三角形とは何かなど.

于 2008-12-10T02:09:51.860 に答える