(2024/04/14 文字の色と画像の表示を修正)
※この記事はRecursion様からの依頼で作成したレビュー記事となります。
ITスキルの需要が高まってきている現在、「プログラミングを学びたい」と考えている方も多いと思います。
ですが、プログラミング経験が無い人からしたらどこから勉強を始めればいいのかすら分からないですよね…。
今回はそんな初心者の方にもおすすめできるサイト、「Recursion」について紹介します。
Recursion(リカージョン) | コンピュータサイエンスを基礎から学べるプラットフォーム
Recursionとは?
Recursionはコンピュータサイエンスについて学習することができるプラットフォームです。
アウトプットを中心とした学習ができ、基礎から学べるので未経験者でも安心です。
学習コースにはかなりの量のテキストやコーディング問題が用意されています。
また、Recursionにはエディターが用意されているため、各コンテンツが環境構築不要で利用できるようになっています。
コンピュータサイエンスって何?
そもそもコンピュータサイエンス(以下CS)とはなんなのか、Recursionのサイトでは以下のように説明されていました。
コンピュータサイエンス(CS)は、プログラミングやアルゴリズム、ハードウェア・ソフトウェア開発、データ処理などといった計算の理論や情報の処理に関する学問です。しかし今や、コンピュータサイエンスは単なる学問の範囲を超えて、現代社会を構築する上で非常に重要な概念であると言えます。人工知能や機械学習、データサイエンス、サイバーセキュリティなど、あらゆる分野に活用できるその柔軟性によって、プロフェッショナルな現場から個人的な趣味までと、幅広く応用され、私たちの生活を豊かにしているのです。
引用元:Recursion
プログラミングの知識だけではソフトウェアは作れません。
CSについて基礎からしっかり理解することで出来ることの幅が広がりますし、プログラミング能力の向上にもなります。
有料会員・無料会員について
Recursionには無料会員と有料会員があります。
有料会員の場合、無料会員と比べてページ数・問題数がめちゃくちゃ増えます。
さらにエンジニアに無制限で質問ができたりチーム開発に参加したりと、他の人と交流しながらの学習ができるようになるみたいです。
月額プランで61ドル = 約8,446円(※2023年5月時点)ですがその分内容は充実しているので、高く感じるかどうかはその人次第だと思います。
参考に無料・有料の比較画像を引用して載せておきます。
実際に使ってみた
ここから本題、Recursionに登録して実際の学習コースやコミュニティを試してみました。
今回特別に有料会員のサービス内容も体験させていただけたので、有料会員に登録するか迷っている方の参考にしていただければと思います。
学習の流れ
試しに初級コースの学習を始めてみます。
テキストを読みつつコードも書いて学ぶ
学習コースはテキストを読みながら進めていく形式です。
コースのテキストを進めていくと所々にコードを書くことができるコンソール部分があり、実際にコードを書いて実行して結果を確認しながら進めることができます。
初級コースはすべて無料で学習することができ、途中で出てくるコーディング問題もすべて無料で解くことができます。
コンソールに入力して解答を提出するシステムになっており、提出後は解説を確認できるだけでなく他のユーザーがどのような解答をしたのかも見ることができます。
言語は以下の中から選ぶことができます。(赤文字は初心者おすすめ言語)
- C++
- JavaScript
- Java
- PHP
- Python
- その他
ページを再読込しなくても言語を切り替えられるため、別の言語での書き方をすぐ確認出来て便利です。
クイズに挑戦して内容を定着させる
テキストを進めていくとそこまでの内容がまとめられたクイズが出題されます。
提出ボタンをクリックすると採点されて何問正解したかが表示されます。
クイズは程よい難易度で、中にはテキストをちゃんと読んでいないと分からないものもありました。
このようにテキストパートとクイズパートを繰り返してコースを最後まで進めていきます。
もちろんコースを中断して後で続きから再開することもできます。
ダッシュボードに戻るとコースの進捗状況が表示されるので、自分がどれくらい進んだのかを一目で確認できます。
コミュニティ
Recursionでは有料会員限定ですがDiscordを使って他のユーザーと交流することができます。
Discordはアプリのインストールが必要ですがアカウントは無料で作れます。
コミュニティでユーザーがお互いに質問・解答して高めあえるのがRecursionの特徴の1つだと思うので、私もアカウントを作ってサーバーの様子を見てきました。
サーバー内のやり取りを色々見ましたが、交流はかなり活発に行われているようです。
特に、問題に詰まったユーザーが質問して、分かるユーザーが考え方を教えるというユーザー同士のやり取りが多かったです。
「人に教える」行為は学習の理解度を高めるのにかなり効果的なので、Recursionのアウトプット型の学習にもとても合っていると思います。
Recursionの良い点・悪い点
Recursionを実際に利用してみた感想を自分なりにメリット・デメリットに分けてお伝えします。
メリット:コーディング問題に挑戦できる
知識をつけるには文章を読むだけよりも問題を解いた方が確実だと思います。
Recursionでは用意されている問題数が多く、難易度も簡単なものからよく考えないと分からないようなものまで様々です。
ネットで調べれば練習問題はいくらでも出てきますので、練習用のお題が欲しいだけなら他のサイトでもいいと思います。
ただ、Recursionなら現役ソフトウェアエンジニアが厳選して作成したカリキュラムで学習ができるので、他サイトよりも効果的な学習が期待できると思います。
メリット:テキストのボリュームがすごい
無料会員でもテキストの量はかなり多いですが、有料会員はもっと多い。
内容も「詰め込み過ぎず かつ 大事な部分はしっかり教えてくれる」という印象です。
必要な知識を身につけられるので基礎を学ぶにはとても良いと感じました。
メリット:分からない部分を相談できる
これはプログラミング初心者にとっては一番のメリットになるのではないでしょうか。
経験者に聞ける環境って意外と貴重なんですよね。
IT系の学校や職場なら先生や先輩・上司に教えてもらうこともできますが、そうでない場合は自力で書籍やサイトから探す必要がありますし、そもそも見つけたその情報が正しいのか分からない、どうしてこれで動くのか分からない…みたいなこともありますよね。
同じユーザー同士で質問しあったり現役の方に気軽に相談ができるのはかなりありがたいと思います。
デメリット:コースによってはアンロック条件がある
コースが初級・中級などいくつかあるのですが、中には条件を達成しないとできないコースもあります。
例えば中級コースの条件が「初級コースのクリア」なので、初級コースを飛ばして中級から始めるといったことはできません。
初級はかなり基礎的な内容となっているためプログラミング経験がそこそこある人だとすでに知っている部分が多く、もっと先の内容を学習したい人にはちょっと面倒かもしれません。
基礎知識も改めて勉強すると意外と知らない部分が出てきたりもするので個人的にはあまりデメリットだとは感じませんが、人によってはデメリットになってしまうと思います。
Recursionはこういう人におすすめ!
下記に当てはまるような人にはおすすめしたいと思いました。
- CS、プログラミングについて理解を深めたい
- 毎日コツコツ学習ができる
- プログラミング初心者で何から勉強すればいいか迷っている
- 同じくらいのレベルの人たちと一緒に勉強したい
特に初心者の人であれば経験者に質問できる環境もあるので、一人で勉強するよりももっと効率よく学習を進められると思います。
短期集中でスキルを身につけるのが目的ではないので、そういう方は別の学習サイトなどを利用した方がいいかもしれません。
まとめ
個人的には、プログラミングを始めたての初心者~ちょっと慣れてきた経験者くらいのレベルの方にちょうど良いと思います。
また、Recursionの学習効果を最大限活用するには有料会員になってコミュニティで交流したりチーム開発に参加するのが一番かなと感じました。
無料会員で出来る範囲も初心者の方にはかなり勉強になる内容となっているので、試してみる価値はあると思います!
コメント