プログラミングを義務教育に取り入れるのは不自然という主張 160
ストーリー by hylom
一理ある 部門より
一理ある 部門より
eggy 曰く、
イギリス政府はプログラミングを小学校の義務教育に取り入れようとしているそうだが、これに対し英Telegraph記事が反論を述べている(本家/.、Telegraph記事)。
その主張は、「本来義務教育に含まれるべきものは、読み書きや算数のように日常生活において不可欠なものであるべきだが、コーディングはそれに該当しない」というものだ。ニッチなメカニカル技術であるコーディングは、配管工事や自動車修理と共通して、一部の人間(「ずば抜けてさえない変人」)しか興味を持たないものであるとも述べられている。
同記事に対する反応は、Telegraphでも本家/.でも辛辣なものが大多数である。日本政府も6月5日に発表した成長戦略の中にプログラミング教育を盛り込んでいたが、/.Jの皆さんのお考えを是非お聞かせ頂きたい。
昔は読み書き算数も (スコア:5, すばらしい洞察)
庶民の生活には不要みたいな扱いだったのだから、
文明の発展に従ってそういった基礎教育を拡張して、
日常生活そのものを拡張していくというのもアリな考えではないのだろうか。
Re:昔は読み書き算数も (スコア:1)
論旨には同意。
でも読み書き算盤はかなり早くから必要になってたはず。
そもそも小学校の授業は色々やらせてみるって意味もあるだろうから今この瞬間に必要なことしかやらないってのはどうかとも思うし。
裁縫や料理と (スコア:2, 既出)
裁縫や料理と同じなんじゃないかな?
基本は学んでおいた方がいいかなと。
Re:裁縫や料理と (スコア:1)
台所ついてる家は普通だけど、プログラミングできる衣食住はそんなにないんじゃないかなぁ。
Re:裁縫や料理と (スコア:2)
プログラミングを職業とすると衣食住に不自由するというのは確かかもしれない
衣:とりあえずくたびれたスーツとネクタイがあればいいというかそれ以外必要ないか、私服可能であっても面倒で選ばなくなる。
食:簡単に取れる食事しか選べない
住:会社借り上げの寮に押し込まれ、事実上、転居の自由を奪われる
家事の手順を考えてする人はプログラミング的じゃないのかなあ。
発想の自由度を上げるためにいろいろな考え方をかじらせるのはいい事だと思うのだが。
#存在自体がホラー
Re:裁縫や料理と (スコア:1)
パソコンがあれば、大抵のSDKはフリーで入手できますので。
プログラムが出来る環境は大抵はそろってます。
むしろ、台所がついている過程と同じ普及していると言っても過言ではない。
仕事で出来なくても、基礎は学んでおいて良いと思う。>その点は元コメに激しく同意
それで興味を持つか、
それ以外に興味を無くするダメな人(ずぬけてさえない変な人)になるか
プラスアルファでプログラムにも興味を持って人生を豊かにする人
プログラム技術でベンチャーを立ち上げて国を代表するIT企業にまでする人になるか
は人それぞれなので。
それは別にプログラムに限らずたの学問や技術も一緒なので。
選択肢は与えてあげても良いと思う。
Re:裁縫や料理と (スコア:2, すばらしい洞察)
選択肢は与えてあげても良いと思う。
それはそうだが、選択肢を与えることは、義務教育で教えることと同義ではない、ということが問題になっているのでは? つまり、義務教育で教えなくてもできるようになることは多い。実際、私もプログラミングを義務教育で身につけたわけではない。
義務教育で使える時間は有限なのだから、「与えてあげても良い」という弱い理由だけで、その内容を変えてよいというわけではないね。
ところで、君の文章はひどい。国語も大事だぞ。
Re:裁縫や料理と (スコア:1)
という2通りに読める。話の繋がりから前者だろうと推測はつくが、逆に言えば、話の繋がりを意識しなければ理解できない悪文であるということ。
たいへん貴重なご意見ですね(笑)。
たとえばITエンジニアが普通に仕事をやっていくのに、ここで指摘したレベルで神経質になる必要はないだろう。
その通りだと思います。
しかし、#2488272 [srad.jp]のレベルでは、「ITエンジニアが普通に仕事をやっていく」ことすらできないと愚行します。いかがでしょうか?
Re:裁縫や料理と (スコア:1)
手抜きで書いただけなのかもしれないし。
手抜きにしてもひどい。
手抜きで馬鹿にされるのが嫌だ、と思うなら、次からは手を抜かないか、書かないかのいずれかを選べばいいよ。
他人を馬鹿にした投稿を平気でしているRyo.F氏の人間性じゃないかな?
馬鹿にしてはいない。
だから、私の文章への批判 [srad.jp]も、馬鹿にされたとは思わない。
# あれで私を批判できた、と感じる人も少ないことでしょうが(笑)。
それはそうと、匿名の臆病者の陰に隠れて他人の人間性を云々する君の人間性も、自ら論ってはどうかな?
少なくともスラッシュドットでの活動をもって「仕事をやっていけるか」を測ることを是とするなら、ね。
おやおや。「ITエンジニアが普通に仕事をやっていく [srad.jp]」云々は、私が言い出したものではないんですがねえ。
Re:裁縫や料理と (スコア:1)
一般の方(大人)は、Excelの分析ツール、ソルバーあたりで十分なのでは?
コーディングなんて、大学でシミュレーションを書くようになってからで十分では?
Excel指向っていうか、数値指向っていうか、なんでそんなに偏ってるの?
確かに、Excelの分析ツールやソルバーを小学生に教えるのは無理だと思う。でも、そんなものを教えなくても、プログラミングは理解できるよね。
Re:裁縫や料理と (スコア:1)
教えれば、プログラミングは覚えるだろうけど
どうだろう? 『プログラマーは誰もがなれるものではない? [srad.jp]』って話もあったよね。
数値試行なのは、プログラミングの教育での用途が、それぐらいしか無さそうだなって思っただけ。
失礼ながら、それはあまりに発想が貧困なんじゃないかな。
ちなみに、日本の義務教育って、用途だけを考えて組み立てられているものでもないね。音楽や体育を義務教育で教えてない国家もある。
義務教育って言っても、中学校の内容は、必ずしも実生活の用途に直接結びつくものでもない。
Re:裁縫や料理と (スコア:1)
なおさら、義務教育では不要では?
義務教育でプログラミングを教える必要がある、とは主張していないよ。
でも例えば、誰でもプロサッカー選手になるわけでも、草サッカーを続けるわけでもないのに、体育の授業でサッカーをやったりするよね。
こういう例は体育だけではないよ。数学だってそうだろうし、国語の漢文や古文だってそうだ。
何が言いたいのか、判りません。
あなたの挙げた理由だけでは、義務教育に取り入れる・取り入れないを決定できない、と言っているわけ。
日常生活において不可欠なもの (スコア:2)
Excelのマクロとか、意外と日常生活で使うような気がするんだけどなぁ。
#でもVBが必修とかそれはそれでちょっとイヤ
Re:日常生活において不可欠なもの (スコア:1)
日常でマクロまで手を出す人は少ないような気もしますが。
# どんなアプリケーションでも「パソコン」って呼ぶ人のほうが多いんじゃないかな。
ワークシート関数 (スコア:1)
今から十数年前、当時の情報処理技術者試験の内容を見ていると、簡易プログラミング言語としてワープロや表計算をあげていたんだよね。
ちょっと感覚とずれているけど、コンピュータに指示を与えるという意味でプログラムの一種とも言えるかも。
表計算ソフトのワークシート関数は、ひとつのセルに一つか二つの関数を入力しているぐらいなら便利だけど、条件分岐させたり、表引きさせたりすると、見通しが悪くなってくる。
条件分岐や繰り返しがある場合、ExcelならVBAを使ったほうが、わかりやすいと思う。
「ワークシート関数は簡単」「VBAは難しい」とステレオタイプで考える人が大半だけど、その人たちの使ったり作っているワークシートの複雑さ・わかりにくさはすごいことが多い。
道具を使い分けること、同じことも仕方によって効率・能率がぜんぜん違ってくることを理解させるのにプログラムは良い訓練になると思う。
/*
同名の関数の仕様が、ワークシートとVBAとで違うのは何とかならないですかね。
*/
日本で言うと「技術家庭」 (スコア:2)
問題はどんな言語を使うかだけだと思うんだが。
ま、それより、本質的にはしっかり数学を叩き込むことだけど。
Re:日本で言うと「技術家庭」 (スコア:2)
逆にさんすうや数学を理解する手助けにならないですかね?
Re:日本で言うと「技術家庭」 (スコア:3)
いや、私が中学生の時の技術家庭(私のころは男子は技術だけ)の時間で思ったのが、クラスのほとんどの連中(成績がいい奴も)が技術の時に出てくる物の「理科的」な動作原理とかに興味を示していなかったんですよ。
例えば、交流モーターを習うときに、「あ、これってファラデーの【右手】と【左手】両方なんだ」とかが、さっと出てこない。そんな感じ。
技術の時間て、受験にも関係ないし、適当に暗記して、内申書がおかしくならない程度しか考えてない。
プログラミングより大事なことはたくさんある (スコア:2, すばらしい洞察)
わたしゃプログラミングは子供のときから自分で学んだが、
そんなことよりも恋愛の仕方なんかを義務教育で教えてほしかったと今になって思う。
Re:プログラミングより大事なことはたくさんある (スコア:1)
保険の実技を・・・
Re:プログラミングより大事なことはたくさんある (スコア:4, おもしろおかしい)
そんなことより漢字変換はミスることがある、ということを学ぶべきだった。
Re:プログラミングより大事なことはたくさんある (スコア:2)
年金とか税金関係と書道ってなんか歴史的なつながりでもあるのかな。
なんか、そういう関係で書道コンクールとか割と見るような気がする。
どこかのショッピングセンターの一角で、小中学生が書いた「納税」という紙がずらりと壁一面に貼ってあったのはちょっとシュールだった。
#存在自体がホラー
Re:プログラミングより大事なことはたくさんある (スコア:1)
「せんせー,年金と鼠講ってどう違うんですかー?」
Re:プログラミングより大事なことはたくさんある (スコア:1)
年金は無限連鎖講じゃないだろ。
講には違いないけど。
Re:プログラミングより大事なことはたくさんある (スコア:2)
それでは両方とも同じでは?
Re:プログラミングより大事なことはたくさんある (スコア:1)
昔は、そんなことを教えなくても問題なかった。見合い結婚が多かったので。
そもそも、恋愛は教えれば誰でもできるというわけではない。できない人だってそれなりにいる。
その辺、プログラミングと似てるのかもね。
選択肢を用意するのは大事だが (スコア:2)
必須のようにしてしまうのはどうかな~とも思うな。
でもこういうのは表現の仕方1つでみかたがかわるから
論理的な思考を身に着けるにあたってプログラムに限らず非常に有用である
みたいなこと言えばまた違ってくるんじゃないかとも思ったり思わなかったり・・・
プログラミングはいらない (スコア:2, すばらしい洞察)
教えるならITリテラシーだ。
私はバカだ! (スコア:2)
Telegraph はアホ (スコア:2)
Telegraph の理屈が通るなら、「音楽家になる人は少ないから音楽教育はやめるべき」「美術家(以下同文)」「数学家(以下同文)」「歴史家(以下同文)」「スポーツ選手(以下同文)」「地理なんか習ったって、ほとんどの人は近隣さえ覚えていれば生活に困らない。必要な人間だけ地理を学べばよい」「英語を知っていれば外国語など学ぶ必要なし」とでも唱えたほうが、まだ理屈にかないますね。
イギリス新聞 (スコア:1)
イギリス新聞 [kuronowish.com]
新聞の色としてもひどい記事ですね。
いわゆるゲーム脳的な決め付けを感じる
こういうゲーム脳的な場合の反論は簡単で、
(世界の医学雑誌)ランセット、JAMA辺りに論文採用・掲載されたら信じてやんよ
Re:イギリス新聞 (スコア:1)
当然タレコミのこの部分ですよ<決めつけ
>ニッチなメカニカル技術であるコーディングは、配管工事や自動車修理と共通して、一部の人間(「ずば抜けてさえない変人」)しか興味を持たないものであるとも述べられている。
テレグラフ誌が、日本でいうところの「東スポ」や「但しソースはゲンダイ」みないな
扱いなのか調べたかっただけなので、他意はありません。
ちょっとまぎらわしかったですね
普通に考えたら選択制ですね (スコア:1)
古文・漢文・中国語・スペイン語・ruby・javascript
からふたつ選択ってことでどうでしょう?
Re:普通に考えたら選択制ですね (スコア:2)
イギリス人なら魔法でしょう。
また2つの事がごっちゃになってる (スコア:1)
小学校でプログラミングを教えるかということと、プログラミングなんか冴えない人の仕事だと言う悪口への反感。
プログラミングで欠かせない論理的思考だけ教えるべき (スコア:1)
実際のプログラミング(構文とかそういうの)を教えるという話なら、そんな授業は多くの人にとって役に立たないので、義務教育で教える意味は無いと思います。
ただ、プログラミングを学ぶと身に付く、フローチャートとかサブルーチンとかみたいなそういう論理的な思考だけは、義務教育で教えるべきかと。
そっちは多くの人にとって役立ちますし、その後本格的にプログラミングを学ぶためにも、役立つものです。
(だから、使う言語も、Javaとかみたいなプログラミング言語じゃなくて、GUIでフローチャート組み立てるような教育用のでもいい。)
あとは、コンピュータの基礎知識とか、簡単な歴史とか、ネットを安全に使うためのあれこれとか・・・そういうのは必要かと。でもプログラミング自体はいらね。
Re:プログラミングで欠かせない論理的思考だけ教えるべき (スコア:1)
そんな授業は多くの人にとって役に立たないので、義務教育で教える意味は無いと思います。
そんな単純な条件で、義務教育の内容が決められているわけではありません。例えば、多くの人にとって、楽典は役に立ちません。しかし、義務教育で楽典を習いますね。例えば、大抵の日本人は、ト音記号を知っています。
# 一方、義務教育で音楽を教えない国家もあるわけですが。
これは何も、音楽に限った話ではなく、数学にも国語にも当てはまります。
ただ、特定のプログラミング言語を教えるリスクというのはあって、もし可能であれば、楽典くらい安定したものがいいでしょうけど、現実には難しいかな。
Re:プログラミングで欠かせない論理的思考だけ教えるべき (スコア:3)
+ 30年変わらない安定したANSI仕様があって、
+ 構文が簡単で (カッコしか無い)
+ 型を付けられるが付けなくても良くて
+ 関数型も手続き型もできて
+ 高レベルも低レベルもできて
+ コンパイラもインタプリタも入っていて
+ 仕様を全部覚えなくとも扱える(教える範囲を狭められる)
Common Lispを使えばいいと思います (執拗な布教)
まあそれは冗談として、
義務教育を終えた普通の人にとって、
「そういえば小学校で○○やったよね〜」の◯◯に、
「被子植物」や「鎌倉幕府」と共に「for文」が入るような世の中になれば、嬉しいですね。
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
Re:プログラミングで欠かせない論理的思考だけ教えるべき (スコア:1)
ただ、現状のプログラミングの学習でそう言うことは意識になさそうだし、プログラミングができる人もあまり意識していなさそう。
「そういうこと」って
手続き型言語における関数の概念や、グローバル変数・ローカル変数・引数の使い分け
のことじゃないですよね?
だとすると、
状態を保持して、それを変化させていくと言う考え方
のこと? んー、そうかなあ。よく解らない。もう少し解説してもらえるかな?
Re:プログラミングで欠かせない論理的思考だけ教えるべき (スコア:1)
「アプリケーションやデータには内部状態があって、パソコンを使ってる時は UIを通してそいつを操作している」
ってことを意識してもらえるようになると、コンピュータの挙動に関する誤解が減るんじゃないかと期待。
それと、
プログラミングができる人もあまり意識していなさそう。
これがつながらないんだけど。
Re:プログラミングで欠かせない論理的思考だけ教えるべき (スコア:2)
UIがコントロールをカプセル化、
あるいはオブジェクトが内部変数をカプセル化。
元コメは、
そこの使い分けをせず全部グローバル変数で実装されているタコなプログラムを、
仕事で何度も見てきたんじゃないでしょうか。
# レキシカル変数のないプログラミング言語はどっちかというと使いたくない
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
Re:プログラミングで欠かせない論理的思考だけ教えるべき (スコア:1)
主に「学校教育のプログラミングで学べること」としての「意識」のつもりで書いているので後者。
その後者というのは、
状態を保持して、それを変化させていくと言う考え方
のことだよね。
だとすると、それを
プログラミングができる人もあまり意識していなさそう。
と言うのが理解できないんだけど。
XXはどうして動くの? (スコア:1)
テレグラフの主張に答えが出てるんじゃないでしょうか。
道具は発達してますが、人間の生来の認識は古代人と変わらんので、
「チップで…」「電波が…」みたいな概念に近い感覚で身の回りの物を捉えがちです。
実際は不思議なちからで動作するモノやシステムは無いんですが。
というわけで配管や自動車整備の技術を教育する必要はない反面、
自動車なりコンピュータ(ハード&ソフト)なり、モノの「構造」は教えたほうがいいでしょうねえ。
Re:何を教えるか (スコア:4, すばらしい洞察)
その授業の結果として、Hello Worldしか動かせなかった、ってレベルだったとしても、
彼らが現在使っている、そして、今後も使い続けていくだろう様々なコンピュータ機器は、
何か魔法的なよくわからない力で動いているわけじゃなくて、
誰かが書いたプログラムの通りに動いているだけなんだ。
ということが学べたならそれはそれで有用なんじゃないですかね?
Re:何を教えるか (スコア:1)
確かに#include っておまじないを教わるしなぁ。
Re:何を教えるか (スコア:2)
仰るとおり論理的思考を養うにもいいですし、「やりたいことを手続きで表現する力」を養うにもいいですよね。
皆にそれがあればいいのに・・・。それがない人が(少なくとも)事務部門に多いせいで、苦労してます。
毎期、事務部門からやってくる「~調査の依頼」ってやつの説明文が、記入例の列記になってるんですよね。
そのせいで、例から外れたものは事務部門に問い合わせないといけない。
残念なことに調査対象が例から外れるものだらけなので、みんなが問い合わせをし事務部門はてんてこ舞い。
事務部門の他の業務まで遅延してみんながイライラ。
そのうち、事務部門から記入例を数倍増しした説明書がやってくるんだけどあまり改善はしない。
見かねた同僚が、記入のための判定フローチャート作って事務部門に持って行ったら大喜びされ、すぐに配布されてその期は無事終了した。
でも次の期に判定基準が変わったらしく、前の期とはちょっとちがった記入例の列記が配布されてた。
フローチャート作りなおす能力はなかったらしい・・・
Re:何を教えるか (スコア:1)
いきなりjavaやVBでforループで1から100まで表示させることに意味があるとは思えない。
しかし、それすらできない人には、プログラミングは無理。何事も基礎は必要でしょう。基礎だけを取り上げると無意味に思えるかもしれないけど、実はそうではないよね。
教えるとすればそこに至る設計。机上でフローチャートでも書かせてみればいい。
ループを書くことすら知らない人には、どのくらいまで手順を分解すれば良いかは理解できないんじゃないかな?
Re:何を教えるか (スコア:1)
プログラミング技術そのものではなく考え方を教えるという意味では、
カルネージハート [wikipedia.org]みたいなものがいいかもしれませんね。
ψアレゲな事を真面目にやることこそアレゲだと思う。
Re:何を教えるか (スコア:1)
マシニングセンターのプログラムを教えるというのはどうだろう?
どうやって加工するか手順を考えて各自でプログラムを組み、実際に動かしてモノを加工し、どのくらいの時間かかったか、寸法精度にどんな差があるか、いろいろ学べるよね。
ま、予算が足りなくて夢のまた夢ではありますが…。
Re:微妙だなぁ (スコア:1)
必要なソフトウェアを「誰かが」作っておいてくれる社会ならそれもいいでしょう。
しかし現実は、それを作るのも社会の構成員の誰か。
その品質を良くするには、底辺を広くすること。
コーディングの基礎知識を教育すれば、将来作る側に行きやすくなるでしょう。
必要なソフトウェアもそうでないものもたくさんあり、自由に選べる社会がより健全だと考えます。