【Kindle Unlimited】独学で身につけるためのプログラミング学習術: Ver.4 Kindle版 – 北村拓也

【Kindle Unlimited】独学で身につけるためのプログラミング学習術: Ver.4 Kindle版 – 北村拓也

Advertisement

 

 

Kindle Unlimitedで、北村拓也さんの『独学で身につけるためのプログラミング学習術: Ver.4 Kindle版』を読みました。

 

はじめに

3月からプログラミング学習を始めた。

正直まだはじめたと呼べるレベルでもない。

入門した。

SNSや動画で流れてくるプログラミング情報に比べると本は遅れているのかなと思いつつ、せっかくKindle Unlimitedに入っているので読んでみることにした。

 

ざっくり内容紹介

内容紹介

◆Webで一部を公開中
Amazonのカテゴリー3部門すべてで、ベストセラー1位になりました、ありがとうございました(2019.1.6付)。
Amazon Kindle全体新着ランキング1位達成。
記念して、一部を無料公開しています。
Amazon著者紹介の著者Webページから、御覧ください。
内容は随時改定しております。改定情報は本ページの最後に記載しております。◆レビューすべて返事します
レビューにはすべてコメントの形で返事をさせていただいています。
ご意見に加え、改善案や質問も歓迎です。◆内容紹介
プログラミングを勉強してみたけれど、なかなかうまくいかない。
プログラミングに漠然と興味があるけれど何からはじめていいのかわからない。
Progateなどの入門サイトで試してみたけれど、その後何をしたらいいかわからない。そんなことを思っている方は多いのではないでしょうか?独学でプログラミングをマスターするためには、実は最も大切なものがあります。
それが、学習方法です。みなさんも、受験勉強や資格獲得、語学をマスターするためなどの勉強でこのような経験はないでしょうか?
毎日ひたすら勉強しているのに、まったく成績が上がらない。
勉強の効率が悪いのかもしれないと思った。
他の人と比べて、知識が身につくのが遅い。

これらも全て、学習方法が原因なのです。

かつて僕も、がむしゃらに勉強をしていた時期がありました。
しかし、全く知識が身につかず、結局あきらめてしまったことも多かったです。

しかし、勉強法を何度も改善してからは、知識を身につけることがすんなりとできるようになったのです。

本書では、僕が身につけた、プログラミングの参考書を買う前に読んで欲しいプログラミングの学習方法をお伝えしていきます。
プログラミングを使って作りたいモノ別に、おすすめの学習ルートも紹介しています。
これからプログラミングを始める方、プログラミングを勉強中だけれど、身についているか実感がなく不安に思っている方
にぜひ読んでいただきたい内容となっています。

僕は本書を通じて、勉強法がわからず、プログラミングを断念してしまう人すべての人を救いたいと思っています。
そして本書が、一人でも多くの人がプログラミングというスキルを身につけ、自分の武器とするための道しるべとなれば嬉しいです。

◆目次
はじめに
プログラミングが僕を変えてくれた
プログラミングに出会って、人生が変わった
IT技術者の需要が高まっている
世界は機械化している
課題を解決するための新しい力(コンピュテーショナルシンキング)
プログラミングって一体なんなのか?
プログラミングってそもそも何?
60%の人間にはプログラミングの素質がない?
プログラミングで何ができるか
プログラミングができるようになるための8つの学習ステップ
誰もやったことがないことが無限にある
作品別プログラミング学習ルート
WEBページを作ろう
便利ツールを作ろう
WEBアプリケーションを作ろう
ゲームを作ろう
AI(人工知能)を作ろう
スマートフォンアプリケーションを作ろう
VR・ARを作ろう
作品別プログラミング学習法まとめ
応用編 チーム開発
応用編 プロジェクト管理
応用編 デバッグ
応用編 設計
応用編 セキュリティ
応用編 サーバ
応用編 データベース
応用編 美しいプログラム
応用編 アルゴリズム
応用編 コンピュータ・サイエンス
書籍が高すぎて買えない人へ
一度挫折した人へ、プログラミングを楽しく体験してみよう
プログラミングコンテストに参加してみよう
プログラミングコンテストってなに?
作品(ソフトウェア)の評価を競うコンテスト
アルゴリズムに関する問題を解く早さを競うコンテスト
ソフトウェアやネットワークのセキュリティ上の問題点を見つけることを競うコンテスト
プログラミングコンテストに参加するメリット
おすすめのプログラミングコンテスト一覧
ハッカソンに参加してみよう
ハッカソンってなに?
ハッカソンに参加するメリット
国内の有名なハッカソン一覧
僕はどうやってプログラミングを独学で学んだか
おわりに
参考文献
本書で紹介している書籍一覧

◆本書のはじめに
さぁこの本を読んでプログラミングができるようになろう!
そう思って手に取っていただいた方申し訳ありません。
残念ながら、本書を読んでもプログラミングは学べません。
ただ、プログラミングができるようになりたいのであれば本は閉じないでください。
なぜか?
それは、プログラミングができるようになるためには、まずその学習方法について学ぶことが大切だからです。

例えば、「外国に行きたいから、外国語を勉強しよう」
と思って、がむしゃらに英語を勉強したとします。
しかし、実は自分が行きたかった国では英語が通じなかったらどうでしょうか。
プログラミングも同じです。
プログラミングは、様々な種類があり、何を作りたいか、何ができるようになりたいかによって、学ぶ言語が変わります。
やみくもに学習しても、実は自分が作りたいものは作れない言語だった、ということもあります。
だからこそ自分が何をしたいか、何を作りたいかの目標を最初に立てて、それに合った学習法を見つけることが大切なのです。

更に、プログラミング学習は、途中で挫折してしまう人が多いです。
その理由の大きな一つが、学習法を知らないことにあります。
プログラミングを勉強しようと、本屋に行ったら、同じ言語の書籍が何冊もあり、結局どれをえらんでいいかわからずに帰ってしまった。

なんて経験ありませんか?
学習法をマスターすれば、途中で挫折するリスクも減りますし、学習のスピードも格段にアップします。この本では、プログラミングの学習方法について、詳しく解説します。
目的ごとに、おすすめの学習法や書籍を紹介し、挫折しないコツも解説します。
これからプログラミングを学ぶ人にとっての、道案内の役割を果たせると嬉しいです。本書では、独学でプログラミングを修得し、40点以上の作品を作り、受賞40件*1、代表作のランキング1位*2を達成し、国の天才的クリエイター発掘未踏事業に選ばれた僕が、挫折しづらい効率的なプログラミング学習法を紹介します。
また、大学院の工学研究科修士課程を飛び級で修了し、学習工学研究に従事し、15校舎あるプログラミングスクール*3を運営している経験から、最新のプログラミング学習の知見を提供します。本書は、自分で書籍を読んで理解できる大学生・社会人を主に対象としています。
このように実績を書くと偉そうですが、もともと僕は中学生の頃に不登校で期末試験も数学が0点の落ちこぼれでした。
そんな僕でも、プログラミングを学んで、物づくりが出来るようになりました。
誰でも学べば使える物づくりのための最強のツール、プログラミングを学びましょう。(*1) 主な受賞タイトルに、U-22プログラミングコンテスト CSAJ(コンピュータソフトウェア協会会長賞)、IoT Challenge Award 総務大臣賞、人工知能学会 先進的学習科学と工学研究会 優秀賞などがある。
(*2)サイバーセキュリティ学習アプリCyshipが、ゲーム投稿サイトPlicyでランキング一位を達成。また、スマートフォンアプリ市場のGoogle Play 新着有料アプリランキング4位。当時の一位がドラゴンクエスト、二位がファイナルファンタジー。
(*3)小中高生対象のプログラミングスクールTechChance! (https://techchance.jp)◆改定情報
本書は、随時改定しています。
改定情報は著者Twitter(https://twitter.com/tk1tamura)をご確認ください。
Ver.4

  • 学習マップの修正(Kindleのお客様さんのレビュー反映)
  • プログラミング学習を効率的にするヒントの章を追加

Ver.3

  • 画像表示不具合の修正(ぱぱ☆さんのレビュー反映)
  • プログラミング学習ギルドMOLTを追加

Ver.2

  • 縦書きから横書きへの変更(kanさんのレビュー反映)
  • 本書で紹介している書籍一覧の章を追加
  • 本文全体の校正
  • 誤字・脱字修正

 

Advertisement

 

オススメポイント

ドローンの自動操縦

  • プログラミングができればドローンの自動操縦もできる

 

最近、映像方面もかじり出しています。

ドローンもプログラミングで自動操縦できたらどんな素敵な映像が撮れるのでしょうか。

ワクワクが止まりません。

 

自動運転

LV0 主導

LV1 補助

LV2 部分的な自動化

LV3 条件付き自動化

LV4 高度な自動化

LV5 完全自動化

 

日本国内でもLV2までは発売されています。

車間距離の自動調整やステアリングアシストなどがそうです。

最近ではソフトバンクの孫社長が自動運転の事業に着手して話題になっていますね。

もうそう遠くない未来に自動化されるのだと思います。

 

プログラミングを学ぶ目的を作る

Webサイトを作りたいのか、ゲームを作りたいのか、AIを作りたいのかによって、プログラミング言語は変わります。

僕は何の目的もないままはじめましたけど続いています。

個人的には目的がなくても良いと思います。

目的を探しながらはじめてみるのも良いのかなと。

僕はWeb業界が長いのでやはりWebに関わりたいなと思って勉強しています。

あとは何らかのかたちでAIにも関われたら楽しいだろうなと思っています。

これからプログラミングが小学校で必修化されることになったのでそれも楽しみですね。

 

プログラミングを学ぶ目的の作り方

  1. どうやったら目標を達成できるか想像できるようにする
  2. 周りから薦められたなどの目的じゃない目的にする
  3. 達成している状況を想像してワクワクできるかどうか

 

目的を達成している状況を想像して、今の自分とのギャップを理解する

  • 自分が作りたいと思っているものができているかどうか

 

僕は全く想像出来ていません。

あまりにもわからなさすぎて想像すらも出来ないレベルだからです。

それでもとりあえず手を動かしてみればなんとなく出来ることが理解できるようになってきます。

それでいいと思います。

 

他の人に目的を言わない

  • 周りに否定する人がいないかどうか
  • 否定する情報がないかどうか
  • 周りからの意見で挫折してしまわないようにする

 

同意見です。

僕のようなアラフォーに差し掛かればなおさらです。

この人なら絶賛応援してくれそうと言う人には話します。

絶対反対するだろうなという人には言いません。

それでいいんです。

自分が成長できるようにうまく周りを活用したら良いと思います。

 

自己評価の高い環境

  • 物作りが好きなプログラマーが集まるコミュニティなど

 

自分と近い価値観、もしくは理想となる人に近いところに身を置けば良いと思います。

そのような環境であればストレスフリー間違いないです。

もしストレスがあるとしたら自分の出来なさ、理想までの遠さくらいじゃないでしょうか。

でもそれはやりたいことがあってのストレスですから幸せなことだと思います。

 

作りたい目標を決める

  • 目的が決まったら次に目標を決める
  • 既にあるサービスをコピーする
  • 周りの人や身近な課題を見つけた解決する

 

既にあるサービスをコピーする

難しく考えずに、一部だけでもいいので今自分が使っているサービスをコピーして作ってみる。

 

これが一番の近道かもしれません。

僕のようにWebを作る場合は模範となるサイトは山のようにあるので、コピーに困りません。

Webサービスもアプリも山のようにあるのでコピーには最適です。

その中でも使っていた不便だなと思う箇所をアレンジしてコピーしてみるなど工夫をしてみるのが良いのかもしれません。

 

MACの法則

  1. Measurable(メジャラブル:測定可能性)
  2. Actionable(アクショナブル:行動可能性)
  3. Competent(コンピテント:適格性)

 

写経プログラミングをして改造する

これが一番実践的な作業のような気がしています。

既存のものに改良を加えていくので、必要な箇所は自分で探したり調べたりする必要があります。

その積み重ねがオリジナルのコンテンツづくりに生きてくるのではないかと思います。

 

コミュニティや質問サービスを活用する

  • 客観的に書く
  • 詳細に書く
  • スクリーンショットを載せる
  • デバイス環境やバージョン情報も載せる
  • エラーの手順を書く
  • プログラムをそのまま載せる

 

独学でやる場合、このあたりのサービスを活用しなければうまくいかない気がします。

すでに無数の質問はあるのだと思うのですが探すのが中々大変です。

 

人に教える

何事もそうですが、何かを体得するには人に教えるのが一番良いみたいですね。

英語を習得するのに、英会話教室で働いたなんて人もいるくらいです。

人に教えるためには人の倍学ばないといけないのでそのせいではないでしょうか。

つまるところ量が大事ということになるのでしょうか。

Advertisement

 

感想

ペラ読みでしたが、プログラミングに取り組むにあたっての心構えが目に留まりました。

大事なのは目的から、そして目標を決めたら自分の環境づくり。

あとは徹底的に作業するだけです。

ネットで情報を集めつつ、オンライン学習で独学で学びつつ、たまにはこういった書籍で情報収集しながら試してみるのも良いかもしれません。

何をやるにせよ長続きしなければ意味がありません。

まずは地盤固めをしっかりしなくてはと改めて認識しました。

 

Advertisement

Kindle Unlimitedカテゴリの最新記事