◆ New Entries

プログラミング学習者の6割 「代入とシーケンス実行で挫折した」 ← これマジ?

ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質がないと推定している。翻訳ではなく、まとめ的な感想として紹介してみる。

なぜふたこぶラクダなのかというと、プログラミング学習者の集団において、その成績をグラフ化すると2つの山があるからだ。
低成績の山と高成績の山だ。大学でのプログラミング教育の中で、経験的に、プログラミング学習者には三種類いることが知られている。
全然できない者と、かろうじてできる者と、すばらしくできる者だ。その中間はほとんど存在しない。

この傾向は、年齢、性別、教育レベルの差にかかわらず、等しく起こるものであることも、経験的に知られている。
どうやら、世の中にはプログラミングを理解できる人間とそうでない人間がいるように思われる。

多くのプログラミング学習者が理解に苦しむ問題を調査した所、以下のような結果が得られた。

・代入とシーケンス実行
・再帰と繰り返し実行
・並列実行

再帰やループはたしかに難しい。並列実行はとても難しいが、多くの挫折者はそこまで到達しない。
しかし、代入とシーケンス実行という、プログラミングの最も基本的である概念の理解に苦しむとはどういうことか。

人間はどうやってプログラミングを学んでいるのか。ある説によれば、人間は与えられた状況に対して、メンタルモデル(規則)を形成しているのだという。そのメンタルモデルのルールにしたがって状況を解釈する。メンタルモデルが間違っていれば修正を行う。
最終的に、メンタルモデルとプログラミング言語が一致するようになる。

プログラミングの素質がある人間の割合は、年齢や性別や教育レベルでは変わらないようだ。
プログラミングの素質のある人間は、40%ぐらいであろう。つまり、残りの60%は、プログラミングの素質がないのだ。

つまり、コードが書けるとしたら、その時点ですでにエリート階級に属しているのである。
もし、良いコードが書けるとしたら、指折りのエリート階級に属しているのである。

長すぎるので続きはソースで
http://cpplover.blogspot.jp/2012/05/60.html


 
16 :
:2015/06/07(日) 21:15:30.30 ID:fYLeXxFK0
どの言語が良いかで悩んで終わったぜ

3 :
:2015/06/07(日) 21:10:09.59 ID:zjOuBqvo0
オブジェクト指向が無理

5 :
:2015/06/07(日) 21:10:46.66 ID:fQe5TF150
機械相手だと嘘ついたりごまかしたりハッタリ効かないからな
有能なふりをしている奴は脱落する


11 :
:2015/06/07(日) 21:14:04.46 ID:xDC4E1Tx0
どう考えてもガセ

18 :
:2015/06/07(日) 21:16:01.63 ID:3njvTlYc0
cからやったけど、最初は変数やら引数やらがわからなかった
引数で値を渡す?返り値で帰ってきた値を判定に使用?
って感じだった


22 :
:2015/06/07(日) 21:17:13.75 ID:n8D043cB0
シーケンス実行ってなんだよ

23 :
:2015/06/07(日) 21:17:51.54 ID:XX2A5hAv0
こんなん言語によって違うんじゃね?
わいコボラーやけどこんなのまったくわからんわ
オブジェクト指向言語のソース見るとなんであんな不便なの作ったんだろうと思う
頭痛くなる


29 :
:2015/06/07(日) 21:21:17.24 ID:SaRu22Mv0
分厚い入門書終えてもゲーム作れないとわかったら急に冷めたな

30 :
:2015/06/07(日) 21:21:45.39 ID:+B+BlThy0
シーケンス実行は
手順通りアルゴリズム組めるかって事では?
カレーのレシピが言えればOK


36 :
:2015/06/07(日) 21:23:56.64 ID:CIcrPWdQ0
挫折と言えば、ポインタのポインタじゃないのか?

48 :
:2015/06/07(日) 21:29:43.97 ID:OqCR06zf0
いきなりゲームは難易度高過ぎるからまずWebあたりからやったらええ

50 :
:2015/06/07(日) 21:30:32.62 ID:dX0TZCLk0
シーケンス実行が分からない奴は構造化プログラミングでググれ
基本中の基本だぞ


52 :
:2015/06/07(日) 21:31:02.19 ID:hakfdJcO0
代入で躓くってのがよく分からん
どこに難しい要素があんだ


66 :
:2015/06/07(日) 21:37:27.59 ID:fQe5TF150
>>52
数学の=とC言語の=は根本的に違うものなんだけど初心者にはそれがわからない
==なんてのもあるし


63 :
:2015/06/07(日) 21:34:43.88 ID:Le9CgPx40
再起は未だにわからん

65 :
:2015/06/07(日) 21:36:29.33 ID:/M2nQf+20
再帰処理はむずいよ
自分自身で自分を呼び出すって分かってても意味分からん


70 :
:2015/06/07(日) 21:39:23.29 ID:rMSydTeS0
結局作りたいものがあるかないか
って所に落ち着くんじゃねーの?


78 :
:2015/06/07(日) 21:41:32.30 ID:9lCkWi9P0
プログラミング全然わからない俺にプログラミングについてのオススメのサイト教えてくれ

81 :
:2015/06/07(日) 21:42:28.24 ID:+fH0fPox0
何百人もプログラマー見てきたけど、プログラミングはほんと素養だな
学問的な頭の良さとはまたちょっと違う ぜんぜん違うということは無いけどね
理系はプログラミングが得意とか、特にそういうことでもないんだよな不思議なことに
ただし普通の知能であれば一定レベルには皆なれる そこに達しないのはただの怠慢


82 :
:2015/06/07(日) 21:42:44.92 ID:eXolsGS40
シーケンス実行ってのは普通にプログラムの処理の順番ってことじゃないの
途中で関数があったら、そっちを先に処理するって概念がわかるかどうか


91 :
:2015/06/07(日) 21:44:39.39 ID:GPXCexRo0
他人の書いたプログラムを読んで理解は出来るけど
自分で作るとなるとどっから手を付けていいかわからない


104 :
:2015/06/07(日) 21:49:50.81 ID:XglarFj50
プログラムは定期性激しすぎて大変だわ。
去年、部門に入ってきた新人二人が一人は明らかに向いてないゴミで、もう一人はかなり出来る。
つーか向いてない奴ってプログラム苦痛でしかないだろ、多分。


116 :
:2015/06/07(日) 21:52:21.13 ID:FpcVOb8kO
自分自身を呼び出す処理って説明が分かり難すぎる

122 :
:2015/06/07(日) 21:54:05.76 ID:iXa8CqLd0
納期があるからSEは糞
なにも分からない素人が客だからなあ
納期3日前に仕様変更してくれとか笑える


130 :
:2015/06/07(日) 21:56:03.97 ID:XglarFj50
>>122
客なんてどんな世界だろうとど素人だし、プロから見れば馬鹿丸出しなんだよ
納期3日前に仕様変更してくる客を笑っても何も改善しない
改善するにはどうするか考えるのが人間ってもんだ


129 :
:2015/06/07(日) 21:56:03.43 ID:ENrGYfUB0
SEとプログラマーの違いがわからん

134 :
:2015/06/07(日) 21:58:11.29 ID:dnBD/2VA0
これはおまじないです
箱だと思ってください

こういう一見初心者に優しい風の説明がダメにしてると思う


147 :
:2015/06/07(日) 22:02:18.94 ID:tcR28iui0
こんなん選民思想を生み出すための記事だろ
やる気がありゃ誰でもある程度のものは組める
と思うのはそっち側にいるからなんだろうか


149 :
:2015/06/07(日) 22:02:33.69 ID:rMSydTeS0
出来るプログラマーを国家資格にしたほうがいい
外科医師みたいな感じで
誰もが出来るスキルじゃないんだろ?


150 :
:2015/06/07(日) 22:03:13.78 ID:JwB1s5qa0
プログラミングは最初に仕事として何か達成目標がないと勉強する気にならない
大学では全く理解できなかった
最初は何かサンプルコードをちょっとずつ改良していくようなやり方がいいね


154 :
:2015/06/07(日) 22:05:34.63 ID:XglarFj50
他人が書いた糞ソースのシステムを数年間メンテする

これを経験した事がない奴はとんでもないソースを書く
特に派遣プログラマのソースはゴミとしかいいようがない
人間は自分が苦労してみて初めて身に染みるんだよね


155 :
:2015/06/07(日) 22:05:59.89 ID:VxKHffLF0
プログラム初心者で、今の仕事に飽きてきたから転職がてら勉強してみようと思うが何から勉強したらいいかわからない

163 :
:2015/06/07(日) 22:08:15.92 ID:/IulGGPU0
SE : 御用聞き、基本設計、土下座
PG : 情報収集、詳細設計
土方:コーディング


166 :
:2015/06/07(日) 22:09:24.35 ID:X0v6Wo290
一番楽しいPGの仕事はベンチャーだろうな
収入は怪しいが


168 :
:2015/06/07(日) 22:10:25.03 ID:o50POnt10
世の中には中学の数学が理解できない奴が沢山居るんだぜ?
40%もプログラミングの素質があるってのは意外と多いと思う。


171 :
:2015/06/07(日) 22:11:22.08 ID:RYgj9z7v0
SE : 御用聞き
PG : 基本設計、情報収集、詳細設計、コーディング、土下座

こんな案件ばっかりだったわ


175 :
:2015/06/07(日) 22:11:44.94 ID:0W3UYGFl0
ソフトウェア開発
という事では客になる事の方が多いんだが
毎回申し訳ないと思っている
社内で先ず何がしたいのかがまとめ切れず不明確で
しかも何度発注先の人から聞かれてもその度にブレブレw
いつも済みません


203 :
:2015/06/07(日) 22:20:45.65 ID:6zdrW9qb0
大学卒業した後再受験して情報科行こうと思ってる
卒業時30前後だから日本では職がないだろうし海外で働きたい


214 :
:2015/06/07(日) 22:23:36.85 ID:k5BhRywT0
>>203
目的はなんだ?
プログラミングの勉強なら職業訓練程度で十分だろ


208 :
:2015/06/07(日) 22:22:11.09 ID:21MnY8Ez0
素人だけど1つ謎
何でこんなに山ほどプログラミング言語の数があるんだ?いくつかあるのは分かるとしても。
それぞれ理解するのにも苦労するんだよね。
日本語と英語の差があるの?それともフランス語とイタリア語?それとも名古屋弁と関西弁ぐらい?


228 :
:2015/06/07(日) 22:29:10.71 ID:/9KjY3ul0
プログラミング技術云々じゃなくて やりたいことがある→適当な言語で作った というのが本当は必要なんじゃないの?

236 :
:2015/06/07(日) 22:30:46.57 ID:HhWtsrLY0
プログラマって機械的にコード打ち込むだけの奴隷みたいなのがいっぱいいるってマジ?

248 :
:2015/06/07(日) 22:32:53.04 ID:E/GoDQsl0
組込み屋で他のとこの事全然わからんのだけど
組み込み以外でCってまだ使われてるの?


251 :
:2015/06/07(日) 22:34:15.92 ID:91eXuQJG0
int a = 10;
int b = 20;

a = b;

入門書でさらっとながされる
これが難しいと言い切ったのは慧眼だろう。
=の意味がわかっていても難しい。
「変数は箱っていうけど箱に箱代入してどうすんのw」とか
「箱から出すなら、出すって言えよ」とか
「元々入ってたaの中身はどうなるの?」とか
俺ら普通の概念では色々書いて欲しいこと、手順がすっとばされているからだ。


261 :
:2015/06/07(日) 22:36:03.84 ID:XglarFj50
>>251
そこで躓く奴は向いてないから辞めた方がいい
ほんと、明らかに向いてないのにプログラマやってる奴が理解出来ないわ


270 :
:2015/06/07(日) 22:36:52.25 ID:eV2vK8kg0
>>251
いや、そこで躓くやつは居ないだろ


273 :
:2015/06/07(日) 22:37:13.54 ID:6CODkyOX0
>>251
1行ですむ説明を10行以上かけてやってたらどのみちこの先続かないよ
まじでセンスの世界だから
センスないやつはPGなんて無理


301 :
:2015/06/07(日) 22:43:01.08 ID:eghZVT6C0
>>251
に批判集まってるけどわからない人って本当にこのレベルでわからないから
教育の仕方は考えたほうがいいと思う


308 :
:2015/06/07(日) 22:44:12.49 ID:pNs8/TiN0
>>251
みたいのって説明はしづらいよな
意味不明なコードだからわからん奴にはわからん説明にしかならん


253 :
:2015/06/07(日) 22:34:59.15 ID:WQeSD9VS0
その4割がいっぱい居るからなんとかなってるんじゃないの?
コミュ力あるのは1割ぐらいで、そこが1番重要だろ


260 :
:2015/06/07(日) 22:35:51.16 ID:wg0HncB60
= ←代入
== ←同値比較

は?


264 :
:2015/06/07(日) 22:36:15.82 ID:WQeSD9VS0
コーダーなんて腐るほど居るし、下請にオフショアすれば良いだろ

269 :
:2015/06/07(日) 22:36:48.67 ID:02XxYF3/0
どの言語にも帰結するCだけ理解しとけばどの言語も扱えるようになるのに
初っ端から派生言語に飛びつくアホと企業は狂ってる
まじで時間の無駄


282 :
:2015/06/07(日) 22:39:05.46 ID:tphlSO7/0
ポインタでつまづくのはセンスないから諦めるのが吉

296 :
:2015/06/07(日) 22:42:37.92 ID:eV2vK8kg0
>>282
ポインタでつまづくのは、使い道すらわかんない時点で無理に覚えようとするからだな
必要な場面に出くわすまで配列で済ましとくのがベスト


285 :
:2015/06/07(日) 22:39:54.09 ID:XglarFj50
文系で明らかにプログラム向いてないのにIT企業入ってくる奴は何考えてるのか本当に理解ができない

300 :
:2015/06/07(日) 22:43:00.65 ID:WQeSD9VS0
>>285
コーディングはコーダーつー下請PGのおっさんの仕事
元請はコミュ力が大事。元ホストとかならTOPとれるで


287 :
:2015/06/07(日) 22:40:48.28 ID:W9G/P/tL0
右から左に書く国の人は代入の概念に苦労するんだろうか

289 :
:2015/06/07(日) 22:40:55.40 ID:06exLLqo0
センスの世界って こんなもん教えりゃ誰でもできる

292 :
:2015/06/07(日) 22:41:29.82 ID:3eqjxd780
=じゃくなくて←みたいなのを使えばいいのにとは思った
a←a+1 みたいな感じで


328 :
:2015/06/07(日) 22:48:44.05 ID:Yb+D/lvo0
>>292
パスカルとかそんなんだぞ
:=


299 :
:2015/06/07(日) 22:42:56.48 ID:jFxK1P/C0
てか教えかたが悪いんだよな

2進数とか小一から教えてみ
誰もすぐできるようになるよ

低脳クソ公務員どもが利権やら無能やらで
授業内容や教科書が低レベルだからできないんだよ

無能教師は首にできるようにしろまじで


309 :
:2015/06/07(日) 22:44:29.92 ID:jFxK1P/C0
ほんと
この国は公務員が癌なんだよ

まじでこいつら潰さないと絶対日本はよくならない


313 :
:2015/06/07(日) 22:45:18.76 ID:qi8XK/v70
趣味ではいいんだが仕事にしたら納期が苦痛すぎる辞めたい

315 :
:2015/06/07(日) 22:45:28.60 ID:2MD0o87f0
初心者と先生が登場人物の「誰でも分かる」系の本って、
初心者がいきなり理解力高めてくるよね
前章でアホなこと言ってたくせに


321 :
:2015/06/07(日) 22:47:24.21 ID:RoQ7Dkk10
ごちゃごちゃいってねーで、どんなすげーソフト、サイト作ったか自慢してみろや
カスども


323 :
:2015/06/07(日) 22:47:27.75 ID:LQmWtCdh0
設計だろ
リファクタリングだけで一生が終わりそうだわ


325 :
:2015/06/07(日) 22:48:08.35 ID:ipsvejGS0
全部独学で出来たぞシェル言語で
ただ正規表現が苦しい


326 :
:2015/06/07(日) 22:48:13.23 ID:BzNYOe8/0
お前らCで昇順で並び替える高速なプログラム作れって言われたらどう書く?

329 :
:2015/06/07(日) 22:48:58.58 ID:l8t11sGu0
作りたいものがなくて挫折するのが一番多いんじゃね

332 :
:2015/06/07(日) 22:49:27.19 ID:E88iS1UI0
プロなんとかより基礎のコンピュータサイエンスの方が難しくて長い間理解できなかった

340 :
:2015/06/07(日) 22:51:41.72 ID:+k0g/wVI0
代入とかがわかんないやつは数学における変数の概念がわかってない
つまり中学レベルの数学がわかってないってこと


344 :
:2015/06/07(日) 22:52:42.18 ID:Opn6ikgQ0
プログラムが出来ても所詮使われる側
日本の企業で稼ぐなら使う側に回らないと


346 :
:2015/06/07(日) 22:53:38.11 ID:stln47c20
馬鹿な俺から言わせるともっと基礎から書いてほしい
ANDとかORとかNOTを説明するのに2つの円を書いて網掛けされてる部分がどうこう言われても分からん


355 :
:2015/06/07(日) 22:55:57.35 ID:cvsCm/Ya0
プログラミング好きだけど出来ない就活生なんだが、IT行きたいんだけど最近ホントに自分ができるか怖くなってきた
どうすべきなんだろうか


356 :
:2015/06/07(日) 22:56:03.80 ID:Yb+D/lvo0
流石に集合の概念が分からないのは辛いよなあ…

359 :
:2015/06/07(日) 22:56:48.45 ID:4Uhk5cap0
プログラミングある程度できるけどシーケンスってなんだ

用語がわからん


367 :
:2015/06/07(日) 22:57:48.88 ID:O51fLZsA0
プログラムが出来ると外国語もできるようになるよな
ソースは俺


372 :
:2015/06/07(日) 22:57:58.31 ID:cvsCm/Ya0
プログラミングは独学でできるキリッ
みたいな奴いるけど絶対嘘


378 :
:2015/06/07(日) 22:59:52.32 ID:Yb+D/lvo0
>>372
逆に独学以外でどうやってプログラミング学ぶんだよ
計算機科学とかなら独学無理ってのは分かるけど


関連記事

コメント

※自動フィルタが有効なので、禁止ワードが入ってるコメントは投稿できません…
※その禁止ワードは何か?管理人にもわかりません。FC2に聞いてください。
お名前
テキスト

トラックバック

トラックバックURL: https://newskenm.blog.2nt.com/tb.php/37994-fed717dd