Optimaスマートフォン用の表示で見るOptima生産性を向上する系ブログ2017-04-02構成する力と粘り強さプログラミングを学ぶ意義はどこにあるのかたしかにプログラミングは受験数学や学術研究、ビジネスのフレームと近い構造を持っていますが、それだけを取り上げてアピールしてもプログラミングの真価を推し量ることはできないと思います。いったプログラミング以外の人間の営みとの類似性だけでは、プログラミングを学ぶ純粋な意味での重要性が見えにくいはずです。私は、何かと見落とされがちなプログラミング独自の特性を把握するために、少しプログラミングについて考えてみることにしました。いった本当の意味での「プログラミングを学ぶ意義」を把握できていない状態では、結局どのような教材やカリキュラム、指導が最適なのかを判断できないまま、ひとまずそれらしく体系立てたものを手当たり次第に教えるだけ(学ぶだけ)のプログラミング学習になってしまう気がしています。私たちはプログラミングを学ぶべきか今日、ピアニストにならない多くの子どもがピアノを習うように、プログラマーにならない多くの子どもがプログラミングを習う時代にさしかかっているように思います。いえ、プログラミング学習によって生計を立てるだけのスキルを身につけやすいこ点では、他の習い事と毛色が違っています。現役のプログラマーがなぜ生計を立てて暮らしていけるかというと、一定水準以上で「分解し構成する力」と「粘り強さ」を持っているからだと私は考えています。プログラミングに親しむ中で「分解し構成する力」と「粘り強さ」が向上する水準は他の学習とは一線を画しているという仮説を持っています。「プログラマーにならないとしてもプログラミングをやる価値はある」のかどうかは丁寧に議論されるべきだと思うのです。重要なポイントは、プログラミングを習ったにも関わらずプログラミングはそれほどできるようにならなかったが、構成力や粘り強さは身につくか否か。この一点に尽きるのではないでしょうか。このテーマで考えを整理することで、プログラミングを学ぶこと自体の真価やプログラミング適正(その人がプログラミングを技術として身につけられるか否か)の判断基準に迫るきっかけ等が得られるのではないかと期待しています。これら(*)があれば1アプリケーション開発ができるのか?2受験数学の問題が解けるのか?3研究活動を高い水準で行えるのか?4ビジネスを成功させることができるのか?創造性の高い仕事ができる(★)のか?答えは「できない」である。構成力・粘り強さは上記の1~4そして★の複数ある要件の一つである。1~4にはそれぞれ別の要件(#)があることが推測される。(#)前置き仮に1~4の*以外の要件#を以下のようにそれぞれ固有に仮定する。これらは記号が違っているものの、共通する要素も含まれている可能性もある。すると、要件が揃えば1〜4を満たすことを以下のように表現できる。●このように1~4全てに*が共通するからこそ、プログラミング学習時にも「構成力や粘り強さ(*)」を身につける意識が非常に重要である。その一方で、わざわざプログラミングをやる以上は、その技術も十分な水準で獲得することが望ましいことも明らかである。それを実現するためのヒントは1の他の要件である○と他の◎◉●の違いに隠れていると考えられる。23:56構成する力と粘り強さTweetもっと読むコメントを書く2017-04-01プログラミングを身につけるために必要な3つの力とは?昨年の秋ごろから半年ほどプログラミングを学んでみて気づいたことがあります。それが何かというと、プログラミングを身につけるために必要になってくる力がどういうものなのかがわかったような気がしているのですね。これについて書いておこうと思います。私は、プログラミングを身につけるために最も必要な力は「最適を自ら判断し受け入れた上で即実践する力」だと感じています。これを3つに分解してさらに具体化すると以下のようになるかと思います。使うライブラリやフレームワークの選定プログラミングをやる上で鉄の掟を守って自由にいろいろ創ること守るべきことを守った上で攻める、というのは、マナーやブランドイメージを守った上でバリバリ働くとか、「お行儀よくすること」が求められる状況ではそれを守った上でそれが必要ないところでは好奇心の赴くまま自由に振る舞うとか、そういうのに近いですね。『あらかじめルールを決めておきそれを守ることで、あとで不都合を出さずにうまくやっていくことができる』プログラミングを学ぶと、論理的な思考ができるようになるということを最近よく聞くようになりましたが、上記のようなことを考える中で、プログラミングを通して論理力よりも大切なことが学べるような気がしたのでした。23:00【Rails】Tweetもっと読むコメントを書く2017-03-29【Rails】ルーティング通りのビューにならないリンクを貼って別のビューにアクセスしようとした時に詰まったのでメモ。Node.jsでつくる簡易的なタスク管理アプリプログラミングはアプリ作りながら要点を押さえることで爆速で学べます。本やネットでの基本の解説はとても大切ですが、どうしてそれをするのかがわからないということが多々あります。プログラミングができるようになるには、なるべくエラーが出ない環境で実際に動くアプリを作ってしまうのが最善手です。プログラミング学習を最適化する試みの1つとして、プロジェクトマネジメントシステムで私自身が学んだことをレクチャーしながら手習い教材としてまとめていきたいと思います。Node.jsでつくる簡易的なタスク管理アプリTweetもっと読むコメントを書く2017-03-27記録の理由WEBサービスづくりWEBサービスをつくる過程のログを取る理由このブログではWEBサービスを公開するまでの道のりの記録も行っていきます。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。