久保清隆のブログ

ライフハック、健康、旅行など、役立つ情報を書きます。

素人プログラマのプログラミング学習記録 その1:学習戦略 / 勉強法

0.目的の明確化

a) プログラミングを学ぶ目的

「会社」、「顧客」、「世の中」に貢献すること。
具体的には、

  • (社内メンバーに貢献)社内の不(不便、不足、不満、不快、不幸、不平等、無駄、非効率など)をなくすため、プロブラミングで自動化
  • (顧客に貢献)社内の技術力を強化し、優れた製品とサービスを作り出し、顧客のニーズを満たす
  • (人材採用に貢献)高い技術力を売りにし、優秀な人材を惹きつける
  • (人材育成に貢献)初めてプログラミングを学ぶ人のモデルケース/実験台となる
  • (社会貢献)世の中の不(不便、不足、不満、不快、不幸、不平等、無駄、非効率など)をなくし、社会を豊かにする
  • (自分へ貢献)プログラミングを楽しみ、サービス、システムを産み出し、皆を幸せにし、自分も幸せになる
b) ブログを書く目的
  • 今後プログラミングを勉強する人の参考になるように学習計画、学習記録を残す。
  • 様々な人からの意見を頂いて学習効率を高める。
  • ブログに書くことで頭の中を整理し、学習効果を高める。
  • 後から読み返して復習したり、つまづいた時に参照する。
c) プログラマに関する言葉(自分なりの定義)
  • 学習効果 = 方法 × 集中力 × 時間
  • プログラマ = 知識 × 論理的思考力 × 創造力 × 気質(怠慢、短気、傲慢)
  • プログラマの方向性:アルゴリズム、シンプル、エレガント || 善、悪
    • 善とアルゴリズムの方向のプログラマを目指す。
  • ハッカー (hacker) :ハッカーとは、コンピュータ一般について常人より深い技術的知識を持ち、その知識を利用し技術的な課題に対して最小の手間で最大の効果を生み出す人々のこと。(ウィキペディアにより抜粋)

1.短期的なプログラミング学習戦略 / 勉強法を考える(目安:3ヶ月間)

a) 集中力を高める、使う時間を増やす
  • 楽しさを見つける(DVD、マンガ、小説、ブログなど)
コンドル [Blu-ray] ザ・インターネット [Blu-ray]
ソードフィッシュ [Blu-ray] サイバーネット [DVD]
ウォー・ゲーム [Blu-ray] キャッチ・ミー・イフ・ユー・キャン (字幕版)
「バトルロワイヤル」 ザ・ハッカー 侵入者抹殺 [DVD]
Hacker: Very First Time (English Edition) ザ・コア (字幕版)
ウェブマスター [DVD] サベイランス/監視〈特別編〉 [DVD]

参照:Project Seven -ハッカー物/サイバーパンクの小説/映画-

  • 楽しくなったら集中力もプログラミングする時間もアップする。
  • 楽しみながらプログラミングする。
b) 学習戦略 / 勉強方法
1.知識と気質を身につける
2.プログラムを書きながら、論理的思考力や創造力を発揮し、養い、磨く。
  • i) プログラマの気質
    • 怠慢
      • 全体の労力を減らすために手間を惜しまない気質。この気質の持ち主は、役立つプログラムを書いてみんなの苦労を減らしたり、同じ質問に何度も答えなくてもいいように文書を書いたりする。よって、プログラマの第一の美徳である。
    • 短気
      • コンピュータが怠慢な時に感じる怒り。この怒りの持ち主は、今ある問題に対応するプログラムにとどまらず、今後起こりうる問題を想定したプログラムを書く。少なくともそうしようとする。よって、プログラマの第二の美徳である。
    • 傲慢
      • 神罰が下るほどの過剰な自尊心。または人様に対して恥ずかしくないプログラムを書きまた保守しようとする気質。よって、プログラマの第三の美徳である。

(小飼弾 404 Title Not Found - #1 プログラマーの三大美徳その1「怠慢」:ITproより抜粋)

2.具体的な計画

1ヶ月目
  • プログラミングの全体像を把握する。
  • Rubyを一通り使いこなす。
  • 本で勉強

みるみるプログラミングがわかる本 改訂版

みるみるプログラミングがわかる本 改訂版

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

(1〜9:重要、10〜14、17、20:やや重要、それ以外は必要に応じて)

アルゴリズムの絵本-プログラミングが好きになる9つの扉

アルゴリズムの絵本-プログラミングが好きになる9つの扉

TCP/IPの絵本 ネットワークっておもしろい!

TCP/IPの絵本 ネットワークっておもしろい!

SQLの絵本―データベースがみるみるわかる9つの扉

SQLの絵本―データベースがみるみるわかる9つの扉

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

2ヶ月目
  • オブジェクト指向とデータベースを学ぶ
  • 3ヶ月目までにアプリを作るため、2ヶ月目中旬までに何を作るかを考える。
  • 本で勉強

なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング

なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング

オブジェクト指向を理解する 〜プログラミング基礎の基礎

MySQL入門以前

MySQL入門以前

MySQLの基礎(概要編) 〜プログラミング基礎の基礎
MySQLの基礎(コマンド編) 〜プログラミング基礎の基礎

3ヶ月目
  • 2ヶ月目に考えたものを完成させる。
  • 本で勉強

RailsによるアジャイルWebアプリケーション開発 第2版

RailsによるアジャイルWebアプリケーション開発 第2版

  • 作者: Dave Thomas,David Heinemeier Hansson,Leon Breedt,Mike Clark,Andreas Schwarz,James Duncan Davidson,Justin Gehtland,前田修吾
  • 出版社/メーカー: オーム社
  • 発売日: 2007/10/26
  • メディア: 大型本
  • 購入: 18人 クリック: 300回
  • この商品を含むブログ (134件) を見る

4ヶ月目以降
  • 会社のプロジェクトに関われるようになっている。
  • 長期計画(3年後、1年後)を考え、そこから短期計画(月、週、日)に落としていく。



お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。
にほんブログ村 IT技術ブログ プログラム・プログラマへ人気ブログランキングへ Subscribe with livedoor Reader