あずまのプログラミング日記

プログラミングに関するメモをつらつらと。

【受講生が解説】テックアカデミー・WEBアプリケーションコースのカリキュラム内容や難易度を分析する

f:id:maximum-azuma:20191010234231j:plain


こんにちは、あずまです。Ruby+RailsWEBサービスを作成しています。

今回は下のような疑問に答えていきたいと思います。

 

疑問

TechAcademy(テックアカデミー)のWEBアプリケーションコースの受講を検討しているけど、カリキュラム内容・難易度が気になる。実際に受講した人の感想を聞きたい!

 

ということで今回は、テックアカデミーのWEBアプリケーションコースについての記事です。

実は自分、2年前テックアカデミーでWEBアプリケーションコースを受講していました。

 

当時プログラミングの勉強を始めるにあたって「独学だと絶対詰むからスクールに通おう!」という所まではすぐ決まったのですが、スクール選びでめちゃくちゃ悩んだ経験があります。

無料体験会に申し込んで見たり、受講生の実際の感想などを調べたりなど、いろいろな方法で比較検討しましたが、すごく思っていたのは「実際のカリキュラムを見ることは出来ないのだろうか?」です。

 

やっぱり受験の参考書と同じで、プログラミングスクールのカリキュラムにおいても、「自分に合う・合わない」というのは存在します。また同じ言語を学ぶとはいえ、スクールによってカリキュラム範囲は異なるはずです。

できれば自分に合う&広範囲まで抑えてあるカリキュラムで勉強したかったのですが、当時カリキュラムに着いての情報はどこを探しても見当たりませんでした。

 

結局「完全オンライン制だから校舎に通わなくていい」という特徴と、「大手で実績もあるから安心できる」という特徴を持つテックアカデミーに決めましたが、できればカリキュラム内容を見た上で決めたかったな〜というのが正直な思いです。

 

そこで今回は、自分が受講したはWEBアプリケーションのカリキュラムについて、その内容と難易度を解説していきたいと思います。

少しでも参考になれば幸いです。

f:id:maximum-azuma:20190929190628p:plain
 

WEBアプリケーションコースについて

まずはWEBアプリケーションの概要を説明します。こちらはRuby on Railsでオリジナルサービスを開発」するためのコースです。

 

Rubyと呼ばれるプログラミング言語と、Railsと呼ばれるライブラリ(お助けツールみたいなイメージ)を学び、最終的にオリジナルサービスを作るのが目的です。

 

ちなみにオリジナルサービスというのはいわゆるWEBサービスの事です。

スマホアプリを作成したい方は「iPhoneアプリコース(Swift)」、「Androidアプリコース(Kotlin)」のどちらかを受講してくださいね。

 

PHP/Laravelコースについて

ちなみにWEBサービスを作りたいと思っている方に、実はもう1つだけ確認してほしいコースがあります。それはPHP/Laravelコース」です。

PHPというプログラミング言語WEBサービスを作るのに適した言語で、Rubyに比べ求人数も多い印象があります。気になる方は、こちらについて調べてみてもいいかもしれません。

 

筆者がWEBアプリケーションコースに決めた理由

なぜWEBアプリケーションコースにしたかというと、大きく以下3つの理由があります。

 

toC向けのサービスを作りたかった

②アプリだとインストールする手間があるので、初心者の場合WEBの方が使ってもらいやすい

③「Railsというライブラリがとにかく良い、神」と聞いたから

 

①②に関しては本当に人それぞれなので「へ〜〜」とスルーしてもらって構いません。そして③に関しては、おそらくPHPと差別化できるポイントなんじゃないかな、と思っているのでここは後ほど詳しく解説します。

f:id:maximum-azuma:20191007225113j:plain

 

カリキュラム内容

それでは早速WEBアプリケーションコースのカリキュラムを紹介します。現時点での最新版のカリキュラム内容は以下の通りです。

 

  1. 事前準備(2時間)
  2. 本コースで学ぶこと(1時間)
  3. インターネットの仕組み(2時間)
  4. HTML/CSS(12時間)
  5. ターミナル(3時間)
  6. Ruby(10時間)
  7. MySQL(5時間)
  8. Ruby + MySQL(5時間)
  9. Git/Git Hub(5時間)
  10. メッセージボード(15時間)
  11. Bootstrap(5時間)
  12. Heroku(5時間)
  13. Twitterクローン(30時間)
  14. モノリスト(20時間)
  15. オリジナルサービス(40時間)

 

まあ正直見ただけでは「よくわからん」となると思いますので、以下簡単に解説していきます。完全に理解する必要はありませんので、ザーッと読み流してもらって構いません。

 

1. 事前準備(2時間)

テックアカデミーの受講を開始するための事前準備を実施します。例えばメンターとの面談のために「Talky」というサービスの設定をしたり、チャットサポートを受けるための「Slack」と呼ばれるチャットアプリをインストールしたりします。

 

2. 本コースで学ぶこと(1時間)

WEBアプリケーションコースで学ぶ内容を紹介します。ここで具体的に、各章で何を勉強するのかが記載されています。

 

3. インターネットの仕組み(2時間)

WEBサービスを開発する上で欠かせない「インターネット」の基本について勉強します。この章はITパスポートの勉強をしているような感覚ですね。

 

4. HTML/CSS(12時間)

WEBサイトの目に見える部分を構築する「HTML/CSS」の基本について学びます。これらの言語はマークアップ言語と呼ばれ、プログラミング言語とは異なるのですが、WEBサービスを作るに当たっては必須項目です。HTML/CSSのみに焦点を絞ったコースもあるくらいなのですが、WEBアプリケーションコースでは基礎のみを扱います。

 

5. ターミナル(3時間)

本コースで勉強するRubyや、これから出てくるGit、MySQLは全て「ターミナル」と呼ばれる場所で動かします。ターミナルとは簡単にいうと、「文字のみでコンピュータに指示を与える」場所のことです。概念と基本的な操作方法について勉強します。

 

6. Ruby(10時間)

ついにお待ちかねのRubyを勉強します。Rubyの基本的な文法(使い方)を勉強し、最終的にすごく簡単なWEBサービスを作ります。ここで初めてサービスを作成することが出来るのでわりと感動します。

 

7. MySQL(5時間)

データベースの1種であるMySQLを勉強します。データベースとはその名の通りデータの保管場所で、ほとんどのWEBサービスはデータベースを保有しています。例えばTwitterなんかは、アカウント情報・ツイート内容・フォロー/フォロワーアカウント…などがデータベースに格納されていますね。本章では、データベースの基本的な使い方について学びます。

 

8. Ruby + MySQL(5時間)

実際にMySQLを用いた、簡単なWEBサービスを作成します。こちらもまた物凄く簡単ですが、全てのサービスの基礎の基礎の基礎が分かったような気がして「すげ〜〜!」って感じになります。

 

9. Git/Git Hub(5時間)

本章ではバージョン管理について学びます。バージョン管理とは、簡単にいうとWEBサービス作成の途中過程データを適宜保存する」みたいなイメージです。「ここ変えちゃったけどやっぱ元に戻したい」という時や、「なんか間違えてファイル消しちゃった」という時に、任意のバージョンに戻ることが出来ます。まあオフィス製品の「名前をつけて保存」みたいなイメージですね。Gitは世界中でよく使われているバージョン管理のツールです。

 

10. メッセージボード(15時間)

いよいよ本格的なWEBサービスを作っていくことになります。本章ではメッセージボードという、掲示板のようなサービスを作ります。ここでようやくRailsの出番です。Railsは簡単にいうと、WEBサービスを簡単に作ることができるお助けツール、みたいなものです。実際にコードを書いてみないと分からないとは思いますが、今までは自分がコードを書いている状態ですが、Railsを使うとRailsにコードを書かされている」状態となります。

「は?」という感じですが、まあ「レールに乗った感じ」ってことです。Railsの由来もここにあります。はRubyがここまで使用されているのもRailsのおかげと言われているくらいです。

 

11. Bootstrap(5時間)

この章ではデザインを学びます。最初の方にHTML/CSSは学びますが、あくまで基礎的な部分なので、デザインの学習はこの章のみです。お手軽にそれっぽいデザインを整える事が出来るようになります。(本格的にデザインを勉強したい場合は違うコースも受講した方がいいです)

 

12. Heroku(5時間)

「ヘロク」と読むのですが、作成したWEBサービスを公開するためのサーバを用意することができるサービスです。Herokuの利用にはGitが必要だったりするのですが、そこら辺の諸々をこの章で学びます。

 

13. Twitterクローン(30時間)

今まで勉強してきたことの集大成として、Twitterっぽいサービスを作成します。アカウント登録・ログイン・お気に入り・フォロー/フォロワー・投稿機能について学びます。多くのWEBサービスはこれらの機能があれば実装出来るので、この章が終わった段階で、事実上ほとんどのWEBサービスのクローンが作れるようになります。(あくまで事実上…)

 

14. モノリスト(20時間)

この章ではサービスを作成しながら「API連携」について学びます。API連携とは簡単にいうと、外部のWEBサービスが用意している装備を自分のサービスに組み込むことです。例えばTwitterアカウントで登録・ログインできるWEBサービスなんかがこれに該当します。

 

15.オリジナルサービス(40時間) 

ラストは自分のオリジナルサービスを作ります。特に作りたいものがない場合は、自分の好きなサイトのクローンを作るのがおすすめです。分からないところは自分で悩んだ後メンターに相談し、試行錯誤しながらサービスを作成していきます。

 

というわけで簡単に解説してきましたが、今見返してみるとは「基本は大体ここにある」というイメージですね。もちろん全てを網羅している訳ではないので、自分で調べながら進めるシーンも出てきますが、プログラミング初心者がまずは学ぶべき基礎的な部分はこのカリキュラムで賄えます。

 

他のスクールのサイトを見てみると、BootstrapやGit、Herokuは追加料金を払わないと見れない、というようなところもあったので、テックアカデミーはかなり良心的なんじゃないかなと思います。

 

他のスクールのカリキュラムを見たことがないので分かりませんが、自分としてはテックアカデミーのカリキュラムに満足しています。「は?わかんねーよ!!!」と思ったこともありますが、プログラミングなんてそんなもんです。いずれはカリキュラムが何も無い世界に放り出され、Google先生と一緒に試行錯誤していくことになります。

まず初期の段階はカリキュラムを信じ、ひたすら勉強を重ねていくのがいいです。

f:id:maximum-azuma:20190928001022j:plain

 

カリキュラムの難易度は?

難易度でいうとは「躓きやすい部分は確かにあるけど、諦めず理解しようとする姿勢があれば大丈夫」かなと思います。

自分が一番躓いたのは「6. Ruby」のところで、オブジェクト指向が初めは全く理解出来ませんてました。(やってみれば「あー確かにわかんねえな」って9割の人が思うはずです。多分。)

メンターの方に「とりあえず先に進めてみて、後で理解するのもあり」と言われたので、先に進んでちょいちょい振り返ると、「何となく分かったような気がしなくもない!」という感覚になってきます。

 

さらにもっと進めると「完全に理解したわ」モードに入り、またちょっとすると「わかんね」となったり、まあいろいろ苦労しましたが、諦めない姿勢があれば何とかなります。

 

生存者バイアスに過ぎないかもしれませんが、途中で挫折してしまう方はは「あとちょっと頑張れば理解出来た」人達なんじゃないかな〜と思うので、本当にとりあえず頑張ってみてください。

 

まとめ

とまあ色々書いてきましたが、カリキュラムには自分に合う・合わないという属人的な部分がどうしてもあるので、無料体験に申し込んで実際にやってみるのが一番です。

 

無料体験では実際のカリキュラムを進められますし、課題提出&無料メンタリングを受けることもできます。

自分は面倒くさくてメンタリングは受けませんでしたが、やはりカリキュラムは体験しました。やってみないと分からないので。

 

無料体験はテックアカデミーの公式HPから申し込めるので、気になっか方は是非覗いてみてはいかがでしょうか。

>>テックアカデミー公式HP

 

では、良きプログラミングライフを!