生活を良くします - 怠惰なプログラミング

生活を良くします-怠惰なプログラミング

外資系でエンジニアをやっています。便利なサービスや商品、プログラミングで作ったものなどを紹介していきます

英語とプログラミング、どっちも無料で日本にいながら独学できるオンラインサービスまとめ 〜 初心者から上級者の開発講座

プログラミングと英語

両方とも昇進や仕事に役立つ

自分が仕事をしていると英語とプログラミングは必ず使うことになります。そもそもプログラミングのドキュメントは大抵が英語ですし、コードを書くときも英語です。

最近では小学生でも英語の授業が必修になり大変そうだなと思っていたらプログラミングまで必修になりそうとのことです。

昔見たことのあるSerial experiments lainでも黒板にC言語を書いて授業していましたがさすがに授業はプロジェクタを使ったりiPadを使いながらやってくれると信じています。

英語とプログラミングはどちらが重要?

グローバル化とかが叫ばれているので英語はますます重要になっています。むしろ使えて当然という流れになってきているのが怖いところです。

最近では英語・プログラミング・会計の知識が三大スキルとまで呼ばれているそうです。会計は簿記を少しやっただけなので詳しいことはわかりませんが、企業した時に役に立ちそうです。

プログラミングも技術者が学ぶものという範囲を超えて営業職の人までも勉強するようになっています。営業職がIT知識があればエンジニアとの話もスムーズになりますし仕事の幅も広がるからです。クックパッドでは営業職の人もプログラミングを学ぶらしいです。

プログラミングと英語ができれば確かに日本で生きていくにはそんなに困りません。ブラックIT企業も存在しますが、プログラミングと英語ができれば国外に脱出できますしさらに技術を磨けばフリーで仕事もできるようになります。

プログラミングも英語もできれば身につけておきたいですよね。休日にやることがないから勉強しようと思える状態がベストだと考えています。

そこで普段使っている無料でプログラミングと英語が学べるサービスを紹介します。moocと呼ばれているやつですね。スタンフォードやMITが行なっている授業を(大学自身が)撮影して無料で公開しているものです。

なかなかハイレベルだったりしますが説明がしっかりしていたり、初心者でもわかるように難易度別に設計されているので安心です。

無料で学べるサービス一覧

Udacity

ユダシティと読みます。なぜ無料なのかを考えると、Googleやkaggle、Amazon, BMWなどが協賛しているため、でしょう。

一番よく使うサービスです。難易度とこの授業を通して勉強すると役に立つこと・出来るようになることが講座を受ける前からわかるようになっています。特に面倒な環境開発とかはなく、登録すればすぐに勉強開始できます。

英語が苦手という人でも字幕が日本語を含むかなりの数の言語に対応していますし、そもそも聞き取りやすい発音の講師が多いです。たぶん非ネイティブだけど英語が得意みたいな一番勉強中の人に向いている講師が多いイメージ。

普段はこの講座を1.5倍速にして講座を受けています。

f:id:what_a_day:20170128155916p:plain

さすがに1.5倍速だと英語を聞き逃しやすくなるので日本語の字幕をつけています。それでも聞き取りやすい英語なのでリスニングの勉強としても十分に機能しています。

初心者向けのコースから上級者向けのコースまでたくさんあります。そして上の写真は Intro to Computer Scienceというコンピュータサイエンスの入門向けの講座です。

pythonでwebサイトに貼られているリンクを全て自動取得するという目的を立てながら基本的なコンピュータサイエンスの考え方やpythonの使い方を初心者向けに教えてくれます。

ドットインストールでは物足りなかったのでpythonの講座を探すとこの講座が見つかったので結構楽しみながら受けています。

f:id:what_a_day:20170128155926p:plain

一つの講座がだいたい3分以内で終わり、結構頻繁に手を動かす小テストが出現します。基本的にプログラミング初心者ではないので簡単に思えますが習ったばかりの時に知りたかったことばかり解説されていて羨ましくも思えます。

たまにかなり難しいのが出題されます。

JavaやAndroidアプリ開発(レベル別)、データサイエンス、iOS、デバッグの方法、Gitの使い方などかなり多くのプログラムがあります。たいていの言語は探せばあるように思えます。

基本的に無料で学べますが、VR開発とかだと有料のNanodegree Programsというプログラムに入る必要が出てきます。このプログラムを終了すると修了証が発行されるようです。

https://www.udacity.com/

Codecademy

f:id:what_a_day:20170128161928p:plain

特に環境開発が必要なくブラウザ上でコードの実行ができます。スタートした瞬間からやや説明不足気味ですがすぐに上のような画面に飛びます。ちょっとCodecademy初心者にはどうやって進めていいのかわからず、一瞬だけ迷いました。

だいたいは左に書いてあるインストラクションに従いながら自分の手を動かしてコードを書いていくことになります。説明は簡潔にまとめられていてわかりやすいです。

ちなみに指示や解説のようなものは全て英語ですが、自分で黙々と手を動かしながら進める方式のため講義はなくリスニングする機会はほとんどないです。

プログラミングをあまりやったことがない人にはちょっと向いていないかもしれません。ただしQ&Aサイトがしっかりしているのでそこで解決できます。

Python, Java,Html,Javascriptなどが学べますが、PRO版にアップデートしなければいけない講座が増えたような気がします。

MITOPENCOURSEWORK

アルゴリズム・イントロダクションという有名なMITで出版されている本を使った講座がある(割と当たり前)。

MITで実際に行われている授業風景を撮影してものが多いです。また講座によってはビデオがない場合もあります。その場合はノートとして実際に行われた授業のノートを見ることができます。

多くの講座ではEXAMとして試験問題が公開されていたりするので本気で学習度合いを見るには良い講座だと思います。

コンピュータサイエンスだけでなく建築や物理、歴史、数学、政治と言ったことが学べるので本当に大学に通っているような感じです。

英語とプログラミングができるようになると海外で働くことも視野に入ってきます。日本ではブラック企業の代名詞みたいになっているSEでも海外では専門職ですし、給料も日本の倍くらいもらえるようです。

海外の大学の授業がなんとなくでも聞き取れるようになれば十分に現地で働くことが可能になるはずです。もちろん現地ではしばらくは勉強が必要にはなりますが。

とても有名だけどとても高い本。強い人の証みたいなとこがある。

OCW Course Index | MIT OpenCourseWare | Free Online Course Materials

Coursera

f:id:what_a_day:20170128165734p:plain

コーセラは、スタンフォード大学コンピュータサイエンス教授Andrew NgとDaphne Kollerによって創立された教育技術の営利団体である。世界中の多くの大学と協力し、それらの大学のコースのいくつかを無償でオンライン上に提供している。 ウィキペディア

暗号技術とか機械学習の講座があるということでたまに聞くサイトです。Udacityにない講座が取りたくなったら使おうと考えています。どうやら基本的には無料で使えますが、修了証が欲しい場合は課金する必要があるという認識です。

FPGAの講座を探していたところどうやら入門編?みたいなコースはあるようです。まだやっていないのでわかりませんが、Udacityと並んで使いやすそうです。

ちょっとだけ見てみたところかなり計画的に講座を受講することが勧められており、一週間でこのくらいのビデオ講座と参考書を読んでねと親切に書かれています。だいたい一週間に5時間ほど確保できれば講座の修了には支障は少なさそうです。

Stanfordなどの大学からの講座が結構ありました。

色々とみていくと英語の学習講座もあり、Business English for Non-native Speakersとか良さそうでした。単縦な会話の次はビジネス英語を覚える必要があるみたいです。

Coursera | Online Courses & Credentials by Top Educators. Join for Free

Khan Academy

f:id:what_a_day:20170128162831p:plain 教育の格差を広げないようにするため多くの人に勉強する機会を与えるEdtechの代名詞的存在です。全ての講義が無料で公開されています。

プログラミングだけでなく数学や物理、音楽や芸術と言った幅広い分野が勉強できます。このKhan Academyでは講義形式で進めるものがほとんどだと思うのでリスニング力も高まります。

Udacityと同様にYoutubeを通して配信しているので講義のスピードを調整できますし字幕もつけることが可能です。

プログラミングの講座は少なめですが、プログラミングやデータサイエンティストに必要となる確率・統計の基礎知識の復習などにはもってこいの学習プラットホームです。

それ以外にも経済学の勉強やアメリカ用の大学受験に使うSATやMBA留学でも使われたりするGMATの対策講座が無料で利用できます。知り合いはここで歴史の勉強をして興味を持ち、実際に大学院に入学していました。

理系・文系の区別なくたくさんのことが学べるのでどちらかというとプログラマーの素養や大人の教養を磨くところでしょう。

Khan Academy | Free Online Courses, Lessons & Practice

短期留学する・日本語のスクールに通う

フィリピン留学など

だいたい一ヶ月くらいでも十分に英語のスキルが伸びます。

プログラミングと英語力を同時にあげるのが不安な場合はまずは英語から短期間で完成させるのが良いと思います。なぜなら英語に苦手意識がなくなれば上記のオンラインコースを苦痛なく受けることができます。

プログラミングの勉強をしているだけで英語力の維持ができるのはなかなかお得なことです。

昔フィリピンに短期的に語学留学 + 旅行で行きましたが、そのフィリピン留学と海外ドラマだけでTOEICは900以上になりました。転職や就職の時には話のネタになって使えます。

最近はIT留学というものがあって英語とプログラミングを海外で同時に学ぶというものがあるそうです。具体的には優秀な人材が揃っている英語圏のインドなどに留学し、1ヶ月から3ヶ月でプログラミングを学ぶという感じです。

転職などで時間が空いているときはやって見るのも悪くなさそうです。


英語の短期留学後はプログラミング初心者を抜け出すために一旦は日本語のコースに通います。最初の部分だけできるようになればプログラミングは個人の努力によってレベルが決まってくるので一人でオンラインコースを受講すれば良いということになります。

大学生くらいで時間がある人には是非おすすめしますし、退職・転職で一時的に一ヶ月くらい暇になった時でもエンジニアの素養を身につける・英語力を身につけるという目的で色々と頑張ってみるのも悪くないと思います。

エラーメッセージとかマニュアル・ドキュメントの類いはたいてい英語なので全く出来ないと厳しくなります。

中学生レベルの文法と高校生レベルの単語、あとは適宜調べるといったことが必要です。

それくらいプログラミングにとって英語はわりと重要です。

海外ドラマ・映画で一応の英語力をつける

プログラミングには英語が必要

日本語でもProgateやドットインストールなどで勉強できますが、どうせやるなら英語力もついでにつけたいですよね。

ITの中心はアメリカ・ヨーロッパなのは確実ですから変数の命名であったり最新のことはたいてい英語です。良質な講座が英語で公開されているのでチャレンジしてます。

求人情報で得する

プログラミングだけ・英語だけできる人はそれなりにいますが、英語・プログラミングの両方ともできる人は結構少ないです。

どれか一つの分野でトップになるのはかなり難しいですが、分野を組み合わせれば人口が減るのでその分だけ生存しやすくなります。希少価値というものにも多少は貢献できそうです。

昔やった勉強法について書きました。要約すると基礎知識を覚えた後は実践してみてダメなところをググろうという脳筋な感じです。

www.what-a-day.net

無料でできる学習だとなお嬉しい

Prime会員になっていると嬉しいことにAmazon Primeビデオなどが追加費用なしで海外ドラマが観れます。

ここでも英語だけを勉強するのではなく教養も同時に身に付けようとしています。そういう口実のもと映画・ドラマを観ています。どうせなら面白く楽しみながら勉強したほうがいいのでそんな感じで英語の勉強をしましょう。

英語ができればオンラインコースなどに対してもより気軽に挑戦できるようになると思います。そうすれば英語もプログラミングも(教養も)勉強できるようになるという完璧な計画です。

www.what-a-day.net

まとめ

  • 無料で勉強できるオンラインコースは割とたくさんある
  • 初心者でも続けられるようにうまく設計されている