解決済みの質問
小学生でもプログラミングが出来る人がいるようですが、その人はどうやってその技...
小学生でもプログラミングが出来る人がいるようですが、その人はどうやってその技術を会得したのでしょうか?
前にそういう人が本当にいるかどうか質問したことはあるのですが、やはり小学生でもプログラミング出来るというのはどうにも信じられません。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1219975707
一体以下に挙げる内容などはどうやって覚えたのでしょうか?
・ソースコード、目的プログラム
プログラムの仕組みについて知る必要があるので小学生には会得出来ない。
・変数
中1で習う文字式の知識が無いと会得出来ない。
・関数、引数、戻り値
高1で習う関数f(x)の知識が無いと会得出来ない。
・代入演算子
中1で習う代入の知識が無いと会得出来ない。
・比較演算子
小学生では数や変数の比較についての深い知識は扱わないため会得出来ない。
・命令文
小学校には英語の科目は無いはずなので、単純な命令文でも覚えられない。
・配列
変数の知識が無いと理解出来ないが、変数は文字式の知識が必要になるので小学生には会得出来ない。
・構造体(C言語などで用いる)
変数や配列より遥かに難しいので、小学生どころか高校生でも会得するのは困難。
・ポインタ(C言語などで用いる)
データの仕組みについて知る必要があるので、小学生どころか高校生でも会得出来ない。
・論理演算
高1で習う集合論の基礎に関する知識が無いと会得出来ない。
・オブジェクト指向(C++やJavaなどで用いる)
概念が難しいため小学生には会得出来ない。
・2進数(C言語やアセンブリ言語などで必要になる知識)
2進数による数値表現やその演算などは大学で習う計算機科学の基礎知識が必要になるので、小学生どころか高校生でも会得出来ない。
・ハイパーリンク(HTMLなどで用いる)
小学生にはURLすらチンプンカンプンな英文にしか見えないはずなので会得出来ない。
- 補足
- ここでは順当に教育を受けた小学生を対象にしています。
高校や大学レベルの学力を持った小学生を対象にはしていません。(それほどの学力があればプログラミング出来ても不思議は無いから)
小学生レベルの学力を持つ小学生がどうやってプログラミング出来るようになったのかが知りたいです。
ちなみに、少なからずそういう人がいたのが信じられないのではなく、そういう人がありふれていることが信じられないのです。
-
- 質問日時:
- 2009/1/1 09:49:50
-
- 解決日時:
- 2009/1/8 00:42:45
-
- 回答数:
- 7
-
- お礼:
- 知恵コイン
- 100枚
-
- 閲覧数:
- 4,302
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
まず前提が誤りでしょう。
プログラムを書いて、思い通り実行させることと、その対象とするものの本質を理解していることとは別です。
・ソースコード、目的プログラム
ゲームを作りたい→プログラムというのをかければできそうだ→よしやってみよう
という理由だけで十分でしょう。
・変数
何かしらの数値が入る箱だと、どの本でもウェブサイトでも解説しています。
別に文字式の知識は必要ありません。
・関数、引数、戻り値
あなたは、自動販売機の仕組みが理解できなければ自動販売機を使えないでしょうか?
そんなことないですよね?
関数→自動販売機
引数→お金
戻り値→ジュース
などと、適当なアナロジーを与えてやれば、お金を入れればジュースが出てくるという感じで理解できます。
別に数学的な意味での関数を理解する必要はないです。
・代入演算子
箱におもちゃをしまうことは、幼稚園児でもできます。
・比較演算子
30円と500円、どちらが大きいかぐらい、小学生にもわかるでしょう。
それを記号化しただけの話です。
記号化するのは、小学生の方が好きだと思いますよ。
小さい時、暗号文で友達と手紙のやり取りをしませんでしたか?
・命令文
これもダウトです。
文字の並びを覚える、つまりスペリングを覚えるのは、我々大人よりも、子供の方が優れているでしょう。
学んでいないから覚えられないというのはおかしな前提であると思います。
・配列
小学生は箱をたくさんつなげたものをイメージできないのでしょうかね?
そんなことはないでしょう。
・構造体(C言語などで用いる)
構造体を理解していなくともプログラムは作れますし、構造体自体違う大きさの箱の集まりですから、それほど難しいものではないと思いますよ。
・ポインタ(C言語などで用いる)
これもダウトです。
使いこなすのは困難ですが、理解するのは難しくありません。
要するに、矢印マークの描かれた看板ですから。
・論理演算
集合論の知識がなくても、XXかつYYやAAまたはBBは理解できると思いますよ。
逆に聞きますが、おなかがすいていて、食べ物がある時に食事をするとか、りんごか柿を食べるということを理解するのに、集合論や論理学が必要ですか?
逆でしょう。論理学や集合論は、これらを説明するためのものです。
・オブジェクト指向(C++やJavaなどで用いる)
オブジェクト指向の概念を難しいと感じるのは、構造的プログラミング手法に慣れた人たちなんだそうです。
オブジェクト指向自体は直感的で、初学者にはむしろわかりやすいとすらされています。
・2進数(C言語やアセンブリ言語などで必要になる知識)
2進数は高校で習います。大学の知識が必要というのは、明らかな間違いです。
コンピュータはスイッチの塊であって、スイッチが入ったことを1、スイッチが切れていることを0として考えてみましょうというぐらいの発想なら、小学生でも理解可能だと思います。
もちろん、これを駆使して高度なプログラムを組めるとは思えませんが。
・ハイパーリンク(HTMLなどで用いる)
URLは住所ですといえば、所詮記号の集まりですから、英文など理解できなくても十分理解可能でしょう。
昨今のブラウザは親切にURLをロケーションバーに表示してくれますから、それをコピペしてしまえば、特別な前提知識を必要としないと思いますよ。
ここを押したらこっちに飛ぶ。飛ぶ先のURLはこれこれといった程度の理解だと思います。
補足に対して:
学校で習うことがすべてではありません。
そういう人がありふれているのは、情報機器に触れる機会が多く、また最初に情報機器に触れる年齢も低年齢化しているからでしょう。
お父さんがコンピュータプログラマだなんて子も珍しくありません。
なにより、彼らの物作りに対する創作意欲が、学力を超えてイメージによる理解を可能にしているのではないかと思います。
あくまで個人的な意見ですがね。
- 違反報告
- 回答日時:2009/1/1 18:29:16
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:
4人が役に立つと評価しています。
ベストアンサー以外の回答
(6件中1〜6件)
- 並べ替え:回答日時の
- 新しい順
- |
- 古い順
ごめんなさい。この質問の答えじゃないんですけど・・・・
いや~~~カルチャーショック(?)を受けました~~~あああ!!
僕いま中3でC言語やってるんですけど小学生でも出来るひといるんですかあ~~~~~あああああ
70のダメージ。
頑張ってやる!!って励みになった。ありがとう!
- 違反報告
- 回答日時:2009/1/4 19:46:02
別に構造体とか知らなくても、英語読めなくてもプログラミングはできます。
自分は小学生のときからHTMLとかC#とか(こっちは中学生)やってました。
まぁ・・・遊びに近いし、ゲームの呪文とか、カードゲームの効果とか子供のころは覚えられるんですよね。不思議と
- 違反報告
- 回答日時:2009/1/2 19:05:31
doctorwho_torchwood_tardis_mayoさん
順当に教育を受けたからこそできるんです。
あと、逆に「子供だからできる」といえるかもしれません。
だって、ヴァイオリンもピアノも子供のころから
ちょっとずつやればすぐ覚えるでしょう?
大人からやるととても難しいんですよね。
だいたい、そんな天才小学生はプログラミング自体しないでしょう。
たとえ勉強がいくら得意とはいえども、プログラミングということにかけては
最初はみんな初心者です。計算・読解能力の面などはすこし有利かもしれませんが、
そう大して変わりません。
プログラミングができる小学生はプログラミングを努力して勉強しているんですよ。
そもそも、上に書かれている「~は理解できない」という、すべての例自体間違っています。
すべて小学生でも理解できます。
変数、関数、引数、配列なんか小学生でも十分理解できます。
論理演算も簡単です。
もちろん、「最初から自分でやれ」というのは大きなハードルがあるでしょうが、
インターネットの普及によって、参考になる大量の資料がすぐに表示されます。
とても分かりやすく解説しているサイトもたくさんあります。
つまり5,6年生でもこれぐらいは十分理解できます。
というより、上にあげたどれよりもハイパーリンクが一番簡単なのでは?
最近は簡単に、俗に言う「ホームページ」を作ることができますしね。
ほとんだ自動作成されたとしても、HTMLも少しは弄るでしょうし。
もちろん、もっと詳しいこと(「なぜ、こういうものがあるか」など)は説明できないにしても、
十分扱えます。
2進数だってあなたは「高校生」とおっしゃっていますが、
5,6年生でもわかります。中学生ならより深く理解できるでしょう。
2進数に限らず、16進数もです。
オブジェクト指向自体簡単ですよね?
というより、簡単すぎます。
いや、難しいところもありますが、むしろ他より簡単。
小学生向けにも説明しやすいです。
つまり、あなたがあげたすべての例は「小学生では絶対に無理だろう。」
というあなたの思い込みからでてきたものです。
どこかに「昔の小学生」のビジョンがあるのではないでしょうか?
だいたいネット社会といわれる現代に生きる小学生がハイパーリンクごとき分からないはずありません。
プログラミングだろうが何であろうが基礎・基本を少し覚えれば、
それを応用して十分実用性のある物を作れます。
前回の質問を拝見したところ、
あなたは昔、プログラミングを「高校の数学くらい難しく感じていた」ということでしたが、
たぶんそういう所からも、その思い込みができたのでしょう。
いまだにココロのどこかに「プログラミング=とても難しい」
という式があるのでは?
プログラミングで重要な言語処理能力と計算能力などは人によって得意不得意があると思います。
「国語」と「算数」がニガテな子もいるでしょう。
しかし、こういうものは努力しだいでなんとかなります。
もちろん、多くのプログラマーの方々の成功例を思い出せば、
仕事で成功するために最後に必要になるのは、ちょっとしたアイデアが必要かもしれません。
もちろん、そうなれば大成功です。
しかし、さっき言ったように、基礎・基本さえ覚えれば十分です。
特に、「プログラマーとして活躍したい!」という小学生を除けば、これは通用します。
よく伝記にのっているエジソンの言葉みたいなことですよ。アレです。99%・・・
まあ結論として、プログラミングができる小学生がたくさんいる一番の理由は
・コンピュータが気軽に触れるようになったこと
・わかりやすい資料がたくさんあること
この2点がきっかけになったのでは?
「環境の変化」がキーワードです。
いずれにしても、「プログラミングができる小学生がたくさんいない」
という考えはすでに古く、捨てた方がよいでしょう。
現代は「そういう人がありふれているのが『あたりまえ』」です。
- 違反報告
- 編集日時:2009/1/2 09:58:14
- 回答日時:2009/1/1 20:34:54
アナタは学校で習うことがすべてなのですか?
中学や高校で習う程度の事なんて、覚える気のある小学生にキチンと教えれば
理解しますよ。
日本ではありませんが、海外では飛び級制度もあります。
12歳で大学生だっていました。
プログラミングなんて特に、アナタの様な受身の発想では習得は難しいでしょう。
>信じられません。
そう考えてしまう思考は、可哀相なほどトレースできます。
がんばれ!
人間の能力は様々で個人差が大きいから、他人の事なんて気にしなくても
良いです。
大丈夫だから、がんばれ!!
■補足を受けまして■
その前提をどこで持ってしまったのか?
それが疑問です。
でも、プログラミングなんてパズルと一緒で根気があれば試行錯誤で出来てしまい
ます。
別に不思議な事ではアリマセン。
他の回答者も言っています。
「 好きこそ物の上手なれ 」
ヤル気があれば出来るよ。
人間の思考力なんて、小学生で一人前になれます。
なれ無い人もいるだろうけど・・・ 半分くらいは出来上がるからね!
色々ありますので、全てが自分と同じ基準だと思わないことです。
- 違反報告
- 編集日時:2009/1/1 13:33:56
- 回答日時:2009/1/1 10:52:57
「好きこそものの上手なれ」ですね
自分が小学生の頃、TK-80のアセンブラでゲーム作っている同級生なんていましたし、自分も中学に上がってからですが、Compo BS-80Aで、Basic Level2やZ80アセンブラをやっていました
ご質問のような系統だった専門教育を受けたような立派なものではなくとも、少なくとも趣味レベルでなら、興味を持って取り組めば「会得できない」という否定的な現象は無いと思います
分野が異なりますが、一般に普通高校卒業レベルといわれる第1級アマチュア無線技士国家試験を小学3年生くらいが合格したりしています
これも「常用対数計算など小学生が会得できない」「三角関数など小学生が会得できない」「電波法やITUの憲章など漢字すら読めない小学生に会得できない」と否定するのは簡単ですが、現実には何名も小学生で合格しているのが事実です
補足:
ここの回答者の誰一人として、そういう天才児童の話はしていませんが?
私自身も詰め込み教育世代とはいえ落ちこぼれと同級生や教師にいじめられた部類です
- 違反報告
- 編集日時:2009/1/1 12:06:50
- 回答日時:2009/1/1 09:57:53
・ソースコード、目的プログラム
プログラムの仕組みについて知る必要があるので小学生には会得出来ない。
という仮定が既に間違いです。
ましてや、高校生でも…とは、笑わせてくれますね。
それらは単にあなたが理解できないというだけです。
自分の考え及ばないことを棚に上げて決め付けること自体が学問する姿勢ではありません。
できない、あれは嘘だ、と言い続けていただいても私は一向に困りません。
世間知らずが誰かは世間が見極めてくれます。
- 違反報告
- 回答日時:2009/1/1 09:55:38


質問した人からのコメント
何故か自分は専門学校の頃、ポインタについてはなかなか理解出来ませんでしたが・・・
色々とありがとうございました。