追記: 食用菊へのリンクを追加しました
↑記事を読んだ.がバッテリーが足りなくなってしまったので途中で投稿してしまった.
これはこれで話のスコープを小さくまとめることができたので良かったと思う.
一日電源に接続してバッテリーが97%まで回復した.同じUSB-Cであるスマホの電源があったので助かった形だ.
他記事情報
さて,冒頭の記事が投稿されてから様々な反響が巻き起こっている.活発な議論や意見交換が行われていて,とても良いことだと思う.
この記事では,業態によっては人海戦術的な業務になっており,初心者が育ちにくい環境になっている,という点について触れている.
また俺が前回書いた記事についての反応もある.
この記事では「プログラマを体系的に育てられる方法はあるか」という問いに触れ,ある一定レベル以上のプログラミングにはセンスが無視できず,プロとして通用するような人材を大量生産することは困難であることと,その一方で「あるレベル」にまで引き上げることは可能であり,その術はもっとあるのだとしている.またその手段の一例として,ある程度いっしょに作業を行って基本や設計の勘所を伝えていくこと,そして調べ方を教えて知的好奇心を刺激していくことを紹介している.まず手本をやってみせて,メンティーにも同じことをやらせる,またある時には一緒にやる,あとは本人に独りで育ってもらうというスタイルである.
「プログラマと教育者との関係は,芸術家と芸術系の学校との関係に近いものがあるのではないか」ということを,この記事を読んだあたりで着想した.
芸術家を育てる美術系の大学ではどうやって育ててるのか気になる/"ここらへんで「プログラミングって大変だし面白くないな」ってやつと「知的好奇心が刺激されて気持ちいい」ってタイプが分かれてくる。 " / “234350” https://t.co/3kZDIccQoy
— めるくん🎨 (@windymelt) 2019年1月4日
美術系の教育、とにかくデッサンしまくるイメージ(ただの推測)なんだけど、これも基礎連大事という話なのだろうか
— めるくん🎨 (@windymelt) 2019年1月4日
芸術系の大学/学校ではどうやっているんでしょうね.そもそもこういう系統の学校は「生徒はある程度(絵|音楽)をやる能力がある」という前提で回ってそうだし,入試によって選抜もされるので,一概に比較できないとも思う.
追記: ご意見がありました
たしかに音大に言ってる嫁の妹に聞いたところ「専門職系はそもそも入学試験ってハードルがあるのでやる気並びに才能が無いやつは居ない」って言ってた。しかし「育てるんじゃなくて生き残ったやつが勝つ」みたいなことも言ってたのでちょっと違うかもしれない。
— そーだい@初代ALF (@soudai1025) January 5, 2019
追記終わり
「プログラマを体系的に育てられる方法はあるか」という問いに対して,専門学校に通っていた経験をもとに応えるエントリがこちらである.この著者の体験によれば,座学よりも実技を重視してアルゴリズム100本ノック的な問題が出題されたこと,そして学生はこれを解く過程で懸命に考えながらトライアルアンドエラーを繰り返すことで実力を鍛えていくこと,そしてプログラミングの面白さを知ることで劇的に成長する可能性があるという.そしてタンポポを載せるような仕事を簡単な仕事の代表のように扱うのは良くないということだ.
基礎的な問題を繰り返すことで処理の組み立てにかんする基礎体力を鍛えているという点が新鮮だった.プログラミングが処理をデザインするものだといえるなら,これは『ノンデザイナーズ・デザインブック』のように基本を抑えるという過程にあたるのかもしれない.
また,プログラミングを学ぶ側が懸命に動作を追求している,という点が重要であるように思えた.プログラミングの学習は学ぶ側の意欲に強く左右されることが伺える.この点は「プログラミングの面白さを知ることで劇的に成長する可能性がある」という主張とも繋がっているといえそうだ.面白い!と感じれば,それを追求していくことができるようになるのだ.この点は前の id:Soudai さんの記事の「いっしょにやってみる」というスタンスにも,面白さを伝える側面がありそうに思える.
このため,まずは「プログラミングの面白さを伝える」というステップがあってもよいのかもしれないと思う.
読んで自分で考える能力(リテラシー)の大切さ
「ぼくはxxxだと思ってるんですけど、動かないんですよ」
エラーメッセージをちゃんとよく読め,ちゃんと自分でやりたいことを考えろ,という点について.
ブコメなどでも指摘されていることだが,「書かれていることをきちんと読み取り,論理的に考えて判断する」といったことができるのは,身に付けるリテラシーであって生得的なものではなさそうだ.リテラシーとはもともと識字のことであって現代の日本人はほとんどこの意味でのリテラシーを気にすることはない.しかしITリテラシーといった概念が出現し,情報社会をうまく生きるために,新種の能力が要求されるようになってきた.そこで今回の「書かれていることを読み取り論理的に考える」能力も同様に,プログラミングを学ぶ上で最低限要求される能力といえるかもしれない.ただし,全ての日本人がこの能力を保有しているとはいえないはずだ.この能力を(もしできるなら)育てることが,プログラミングを教えることへの第一歩だといえないか.ひょっとするとそれは「現代文」に通じているかもしれない.
ところで,プログラミングの学習・習熟という観点で身近な人々を想像してみたところ,プログラミングが得意な人には「言葉遊び」が好きな人が多いようだな,という感想を抱いた.もちろんこの言葉遊びというのは悪い意味ではなくて,冗談とか洒落が好きな,という意味だ.あくまで身の回りの話なので信憑性はないが,やはりこういった抽象的な言語操作を行う能力がプログラミングと関係があるかもしれない.
読解能力といった話については,以下の記事も参考になる.
だいたいプログラミングってすごく高度なことなので,自信を持とう
わりとプログラミングって世の中では難しい高等なこととされていることがわかってきた(身の回りの人は普通にできるし……)ので、なんかよくわからん芸術家的な自身がついてきた
— めるくん🎨 (@windymelt) 2019年1月4日
ところで自分はあまり自分のプログラミング能力について自信がなかったのだが,こうやってプログラミングができる人できない人といった話を見るにつれて,自分の能力も世間一般からしたら大したもんだという自信が持てるようになってきた.
やっていきましょう.
あとでみつけた記事
食用菊
いわゆる刺身に乗っているタンポポはタンポポではなく食用菊である.