CS(コンピューターサイエンス)奮闘記③『Recursionを受けてみて...』【第18号】
こんにちは!
テクノシップブログです!
先週からCS(コンピューターサイエンス)基礎を学び始めており、
その経過を「奮闘記」としてお送りしています。
ちょうど1週間経過したので、前回立てた目標の確認と、その成果をアウトプット
したいと思います!!
1.前回の目標の確認
前回の目標は以下の通りでした。↓↓
結果はどうだったのか、、、
目標達成です!!
前回の記事でご紹介しましたが、学習教材を変更し、
「Recursion」というオンライン学習サービスを利用し始めました!!
以下、概要です↓↓↓
---------------------------------------------------------------------------------------
Recursion(CSを基礎から学べるオンライン学習サービス)
こちらは「無料プラン」と「有料プラン」の2種類があります。
カリキュラムに沿って基礎から学習を進めていき、コーディング問題やクイズに
答えながら知識を定着させていくスタイルをとっています。Facebookの現役エンジ
ニアの方がカリキュラムを作成しており、現場で通ずる良質な知識が習得できそう
ですね。
最終的にはチームで実践的なアプリケーションを開発する経験を詰めたり、
途中で分からない点は質問し放題だったりと、非常に有意義な学習体験が
詰めそうなサービスですね!!
ただ、使えるサービスを増やすには「有料プラン」にする必要があり、
月額7,000円くらいするので、少し手が出しづらい印象もあるかもしれません。
Recursion↓↓↓
---------------------------------------------------------------------------------------
最初は「使えるサービスを増やすには月額7,000円の有料プランに切り替える
必要がある」という点に尻込みしましたが、無料プランで学べる内容もそれなりに
豊富にあると改めて感じたので、アウトプットの機会も豊富にあるという点も
加味して、こちらを使って学習を始める方向にシフトすることにした
という経緯でした。
1週間で無料で学習ができる「CS初級編」を一通り学習したのですが、
正直学習し始めたばかりの初心者としては、、、
「無料プランでもこんなに内容の濃い
学習ができるのか!!!」
と思えるくらい、驚きの学習内容でした!!😄
今回の記事では、1週間通して学習した「Recursion」の感想をお伝えできれば
と思います!!
2.Recursionの学習内容(無料プラン編)
無料プランでの学習内容は以下の4つです。
●データとデータ型について
まず、「データ」と「データ型」について学習します。
なぜ、ここから始めるのか。
私が学習して感じたのは、
「コンピュータと人間の都合が異なる」
という本質的なところをまず理解するためです。
例えば、人間は「1」というものを見せられたとき、それが「数字の1」として
利用するためのものか、それとも「単なる文字としての1」として利用するための
ものなのかを、文脈やその他の状況を読み取って瞬時に判断できます。
しかし、コンピュータはそうは簡単にいきません。なぜなら、
コンピューターはすべてのデータを
数字の『0』と『1』の
2通りでしか表現できないから
だからこそ、人間の都合をコンピューターの都合に合わせて扱う必要が
あるのです。
そのために「データ型」というものが必要になってくるのですが、
続きはRecursionでどうぞ!!
●「演算」について
前項で本質的なところをある程度理解できたら、今度はコンピュータの
最も大きな仕事である「演算」を学習します。
ここは、私的には「プログラミング学習の復習」のような感覚で学習できた
のですが、
「演算子」と呼ばれる
演算に必要な記号一つ一つを丁寧に解説
してくれているので、とても分かりやすくてためになる内容でした!!
学習した演算子の一部を纏めてみたので、参考までに。
※ただし、演算子の役割は言語ごとに異なる場合があるので注意が必要です!
詳しくはRecursionで!!
●「変数」について
続いては、複雑なプログラムを記述していけばいくほど役に立つ「変数」
の学習です!!
私としては、「変数」というものをただの便利な道具としてしか感じていな
かったのですが、学習してみて、仕組みから言語ごとでの違った使用法まで
詳しく学習することができ、「変数」というものの重要性をしっかりと理解
することができました!!
●「関数」について
無料プランの最後は、データを入力して演算子、結果を返すための処理を
纏めた、「関数」の学習です。
上述の通り、関数は今まで学習した「データとデータ型」、「演算子」、
「変数」の知識をすべて使用していく内容なので、これまでの復習も含めて
有意義な内容となっています!!
ここでは、「引数」と「戻り値」がキーワードになりますので、
学習をする方は注意して学習してください!!
3.Recursion(無料プラン)の全体的な感想
無料プランの学習を通じて、特に素晴らしいと思ったのが、
「充実したコーディング問題」
が整っていることです!!
コーディング問題では、その直前で学習した知識を使って問題を解くという
仕組みになっていることはもちろん、何より素晴らしいと感じたのが、
「複数言語でコーディング問題ができる」
という点です!!
動的言語の「PHP」や「Python」、静的言語の「C言語」や「Java」など、
多くの言語でアウトプットできるので、言語ごとのデータの扱い方に関する知識も
深めることができ、より密度の濃い練習体験を積むことができたと感じています!
それぞれの言語に詳しくなるというよりも、「複数言語を通してコンピューター
そのもののことをより詳しく理解できるようになる」という感覚を覚えました!
無料プランはここまでですが、有料プランに入ると、
「オブジェクト指向型プログラミングの学習」
「具体的な言語やフレームワークの学習」
「チーム開発の経験」
「課題アプリケーションの開発」
など、より実践的な内容が盛り込まれてくるようです!!
私も無料プランで学習したことを復習した後は、ぜひ有料プランを学習して
いきたいと考えています!!
Recursion↓↓↓
ちなみに、今回私が学習した内容をより詳しくアウトプットしたものを
「Qiita」に投稿していますので、ぜひそちらもご一読ください!!
データとデータ型
変数
関数
4.テクノシップ第18号プチ編集後記
〜おうちタイムが増えているせいか、趣味の「俳句」の進みが芳しくありません
早く外出して色々な刺激を受けていきたいものです〜