パスワードを忘れた? アカウント作成
1895022 story
プログラミング

Khan Academy、一番最初に学ぶプログラミング言語としてJavaScriptを推奨 57

ストーリー by hylom
手軽という意味ではいいのかな 部門より
eggy 曰く、

「Khan Academy」は、初等教育の算数から大学教育レベルのファイナンスまで幅広く網羅した教育ビデオを無料で提供するサイトであるが、一番最初に学ぶべきプログラミング言語としてJavaScriptを推奨することにしたようだ(本家/.IT World記事)。

Khan Academyの動画の視聴者は若者が多いため、集中力を維持させるのに、早い段階で成功をフィードバックできるグラフィックスなどの楽しい要素が不可欠であるとのこと。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 入門には不適切じゃ。

    とアンチJavaScript派のスレッドのために、いちおう書いてみる。
    オブジェクト指向も強力で、はまるといいみたいですね。

    JavaScriptいまいち慣れないな。
    Javaが好き。

  • 「Webで利用する教育コンテンツ」なら、JavaScriptは適しているでしょうね。
    ブラウザという実行環境が既に整っているという点で。

    普段見慣れた画面で自ら手を動かして作ったものが動く、という点もキャッチ―で良さそうだし、
    作ったものを他の人のPCで見てもらって自慢できる、というのも動機付けとしてプラスに働きそう。

    # 一昔前はブラウザが変わると動作が違ったりするような面倒臭さがあったと思うのですが、今は違うのでしょうか。

    • by Anonymous Coward

      # 一昔前はブラウザが変わると動作が違ったりするような面倒臭さがあったと思うのですが、今は違うのでしょうか。

      すべてちゃんと書くならIE8以前はあいかわらず面倒ですが、jQueryを使うようになって、状況は一変しましたね。
      違いをほとんど考えずに済むので(多少は考える)以前に比べたら、互換をとる為の時間はほぼ無いに等しく感じます。

      • ありがとうございます。
        よく見たらIT World記事 [itworld.com]自体がjQueryを作ったJohn Resigの話す今回の採用の概要から始まっていました。

        って、Wikipedia [wikipedia.org]見てみたら、

        John Resig is an application developer at Khan Academy.

        なるほど。

        親コメント
      • by Anonymous Coward

        すべてちゃんと書くならIE8以前はあいかわらず面倒ですが、jQueryを使うようになって、状況は一変しましたね。

        それはJavaScriptを使ったプログラムの勉強じゃなく、jQueryを使ったプログラムの勉強じゃないかな。パラダイムが全然異なる気がする。

        あと、JavaScriptのエラー行は、かなりの場合ずれていた記憶があるのですが、最近は直った or ツールが充実したんですかね。

    • by Anonymous Coward

      GUIを手軽に利用できるという点が
      初心者には非常に学ぶモチベーションになりますよね

      Tclにせよ、Javaにせよ目に見える結果を出すには、
      それ相応に労力が要りますし

  • by Anonymous Coward on 2012年03月03日 1時20分 (#2110496)

    テキスト
    * LOGO - 長老。亀さんでお絵描き。じつは関数型言語。
    * BASIC - LOGO より年長だが、グラフィック関連の命令 (CLS, LINE...) が出てきたのは 80 年代くらいの印象。MS の Small Basic はバランス良し。
    * Processing - 描画系に力点を置いた Java ベースの環境。美大生のメディアアート用途で使われたり。
    グラフィカル
    * Squeak eToys - アラン・ケイ。OLPC にも採用される。ただし Smalltalk 環境ではないので注意。同系統で Scratch も人気。
    * Lego Mindstorms - NXT はなんと LabVIEW ベース。実空間のモノを動かせるというのは他にない魅力。
    * Max/MSP/Jitter - 部品を線でつないで音響合成とか映像とか。非理系の大学でライトに使われたり。

    どーしてもブラウザ環境でというなら Processing.js あたりが落としどころだとは思うけど、いまどき、お絵描き
    させておけば子供が飛びつくだろうって、ちょっと乱暴だよね。マイコンの時代ならまだしも、最近のゲームに
    慣れ親しんだ子供が、プリミティブな図形を描くことに対してよろこびを見いだしてくれるのだろうか。

    # 義務教育に Mindstorms と戯れる時間が導入されたら、たいした情操教育になると思う今日この頃

    • Max/MSP/Jitterは有料なのが気になったら、PureDataで。
      http://puredata.info/ [puredata.info]

      親コメント
    • by Anonymous Coward

      > プリミティブな図形を描くことに対してよろこびを見いだしてくれるのだろうか。

      この点に関しては概ね同意できるんですけど、でもその慣れ親しんでいるゲームは、
      このようなプリミティブな図形描画の発展の上に成り立っていることを教えることが
      本来の基礎学習なのではないでしょうか。

      言語や動作環境は最新のものであったとしても、教える内容は原始的なものからでないと、
      習った環境でしか使えない知識ばかり植え付けることになるんじゃないかと思います。

      極端な話、言語は何でも良いはずなのです。
      コンピューターの本質として、記憶域があって変数がある、その変数を介して

      • by Anonymous Coward

        うちの姪っ子にはペイントブラシは大人気ツールでしたよ?
        アニメーションまでできるのでプログラミング環境はありかと

    • by Anonymous Coward

      # 義務教育に Mindstorms と戯れる時間が導入されたら、たいした情操教育になると思う今日この頃

      ペットのプログラム書き換えてとパパにせがむ子供が現れるんですね

  • 職業プログラマを目指す人に対しての推奨となると何になるだろう。
    狙ってる業界による、っていうのはもちろんあるんだろうけどね。

    個人的にはC言語かじってからjavaが推奨。
    #C言語にあと2段階ぐらいスコープがあったらもっと仲良くなれた。

  • by Anonymous Coward on 2012年03月02日 18時05分 (#2110240)

    HTMLの教育もセット?
    最初に学ぶにはしきいが高い気もするけど・・・対象年齢をどのくらいに想定してるんだろう

    • by Anonymous Coward on 2012年03月02日 18時23分 (#2110250)

      最近の Firefox だと Shift+F4 で Scratchpad 開くし、
      HTML の要素なんて absolute で配置すればスプライトも当然だし、
      CANVAS でビットマップも扱えます。
      30年前に MSX BASIC で遊んでたのがどういう世代かを考えれば
      小学校低学年相手に教えても十分使い物になるくらい敷居の低い環境です。

      まして中高生以上が相手なら、敷居はないも当然くらい低いです。

      今日のPC利用においてwebの閲覧がかなり大きな比率を占めるという点を考えると
      web の閲覧画面をクライアントから色々いじれるという点からしても
      JavaScript は取っ掛かりとして、実用性の面からも申し分ないです。

      親コメント
      • by Anonymous Coward

        敷居じゃなくてハードルじゃない?

      • by Anonymous Coward

        もしかして:同然

      • by Anonymous Coward

        Scratchpad なんて初めて知った。

        言語の性質も大切だけど、こういうツールの存在が初学者には一番重要な気がする。

    • ある程度の枠組みを用意してあげた上で、楽しそうな課題を選んで上げればあるいは。

      テキスト入出力がくせ者で、定番の「ユーザから数字を入力して貰って計算した結果をほげほげ」が意外とめんどくさかったり、一方で、貼った画像の座標をぐりぐり動かす、みたいなのの方が簡単に書けたりするし。「初心者が楽しく学べる用ライブラリ」を用意した上でのJavascript採用はありだと思う。
      親コメント
    • まあ世の中にはWebブラウザに依存しない実行環境もありますから。

      親コメント
      • by Anonymous Coward

        コマンドラインからnode.jsだなんだで頑張って実行するよりは、
        ブラウザに依存しててもらったほうがやりやすそうな気がしますね。

        # パソコンに最初から入ってる青い奴はダメだから、みんなこの赤い丸の最強伝説で学ぼうね

    • T/O
      ちょろっと
    • by Anonymous Coward

      ソースコードの可読性という意味では、javascript付きのHTMLは読みにくいと思うのだが、これいかに?
      まあ、まともなストレージがなくて、巨大なDATA文の羅列を入力してたROM-BASICよりは、構造化されている分ましだと思いますけどね。

      どちらかというと、ステップ実行できるIDE環境があるかどうかの方が、教育的には問題だと思う。ステップ実行できるIDE環境があれば、実際に変数の内容がどう変わるか見ることができるし、プログラムをどう間違えたのかわかりやすいからね。動かしてみました、動きませんでは、学習用には向いていないと思う。

      • by Anonymous Coward on 2012年03月02日 18時51分 (#2110270)

        ステップ実行できるIDE環境は、確かに重要。先生動きませんと呼ばれる立場になって欲しい。

        親コメント
      • 最近の主要ブラウザなら大概JavaScriptデバッガ使えますし、まあ問題ないでしょう。
        編集の面は…Aptanaあたりでそういう機能付いてないですかね? JSはテキストエディタしか使わないのでよくわかりません。

        開発環境的にはハードルの低い言語ですね。

        親コメント
        • by Anonymous Coward

          > 編集の面は…Aptanaあたりでそういう機能付いてないですかね
          ついてますがeclipseベースなおかげでやたら重いので、同じく無料のVisualStudio2010Expressの方が全然良いです。
          でも金払えるならWebStormを買いましょう。1万円でお釣りが来ます。これが最強。

      • by Anonymous Coward

        ただの私見に「これいかに?」とは、これいかに?

    • by Anonymous Coward

      たとえばC系の言語でhello worldって出すだけにどんだけおまじないが必要か考えてごらんよ。

      #それでもスラドのマッチョ共は「C/C++にあらずばプログラミング言語にあらず」的な発言が絶えないだろ?

      • by Anonymous Coward

        なんでプログラミング言語入門と言えばhello worldから, なの?
        標準出力というのは言語論的にはかなり高度な内容.

        個人的には関数から教えるのがいいと思う
        int succ(int x){
            return x+1;
        }
        この場合標準出力が得られないからフィードバックが得られない,
        よって入門には不向き, というのはわかるけど,
        それってC言語(というか大抵の命令型言語)の入門コストですよね.

        例えばScalaの例ではインタープリタで入門をやることが多いけど,
        > def succ(x:Int):Int = x + 1
        > succ(5)
        res0 : Int = 6
        なら, 標準出力みたいな難しい概念の前に,
        より基礎的な関数の概念を教えられていいと思うんだ.

        • by 335 (4199) on 2012年03月04日 20時04分 (#2111112) 日記

          Tutorial Introduction to the Language B, Kernighan's 1972 より

          main( ) {
              extrn a, b, c;
              putchar(a); putchar(b); putchar(c); putchar('!*n');
          }
          a 'hell';
          b 'o, w';
          c 'orld';

          関数宣言、呼び出し、変数宣言、変数呼び出し、その順序、関数の意味を短くまとめた秀逸なコードだ。そもそも標準出力という概念は、当時の計算機には説明不要な機能だったわけで、そこは障害にならないと思う。

          親コメント
        • by Anonymous Coward

          面白くないから

        • by Anonymous Coward

          >プログラミング言語入門と言えばhello worldから, なの?

          入門かどうかは別にしてコンピュータ関係者はこういう洒落が大好きなんですよ。

          hello, world の出自って本当は都市伝説なんじゃないかな。
          自分が何かを作るときは、いつもなし崩し的に進んでいって、
          エピソードになりそうな話は皆無なんだけど。

  • by Anonymous Coward on 2012年03月02日 18時27分 (#2110255)

    いまどきブラウザが無い環境も珍しいので、
    取っときやすいのでは?

    ちょっと前には、子供の科学にも連載されていました。
    htmlの部分は、scriptタグだけでなんとか。おまじないとして。

    プログラムに入る前に
    テキストファイル
    フォルダ
    拡張子
    エディタ(メモ帳)

    等の概念は知っておく必要がありますが。

    昔はROM-BASICインタプリタが入門の土俵でしたが、
    いまの土俵はブラウザなんですねぇ。

    • by Anonymous Coward

      Windowsだったら、拡張子jsのファイルに書けば、タグを書く必要もありません。

      その代わりGUIも無いけど。(メッセージボックス程度は出せる)

  • by Anonymous Coward on 2012年03月02日 20時51分 (#2110350)

    プログラミングにオブジェクト指向の言語はよくないと思います。

    • なんで?
      というか今時OOじゃない言語なんてCOBOLくらい……じゃない!!! [hitachi.co.jp]

      ああ、LISPの人でしたか。

      親コメント
      • by Anonymous Coward

        マジレスするとhaskellはOOではないが

        • が、初心者に合うのかどうか?

          すみません。lisp勢に入れてしまっていました。

          ところでオフトピ
          schemeとhaskellどっちを先にやるべき?
          あとhaskellのアプリってなに?
          回りにないと触手が伸びない。
          #script-fuにも伸びてないけど。

          親コメント
          • by Anonymous Coward

            Haskellは数学に弱いと茨の道ではあるが、プログラミング経験はむしろないほうがいいかもしれん
            情報源は http://haskell.org/ [haskell.org]

            • by Anonymous Coward

              Haskellは数学に弱いと茨の道ではあるが、プログラミング経験はむしろないほうがいいかもしれん
              情報源は http://haskell.org/ [haskell.org]

              元々情報系でもなんでもなくて知り合いにHaskellから学んだ人が居ますが、新しい言語を学ぶ度にHaskellに直してるのが印象的でした
              あの言語学ぶのにいろんな先入観が邪魔するので、本当の初心者なら他言語と同程度の苦労で学べるかと

              • by Anonymous Coward

                Circular programmingなんて勘弁してくれって感じ

typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...