記念すべき第1回は普段お世話になっている学習サイトについて書きたいと思います。
web制作者というよりwebアプリケーションの制作をしているフロントエンドエンジニアさん向きな「freeCodeCamp」というサイトがあります。
このサイトではHTMLやCSSなどの基本的なwebサイト構築スキルを学べるほか、javaScriptを使用したアルゴリズム、pythonにおけるデータ活用などなど様々な知識を手を動かしながら学ぶことができます。
さらに重要なことなのですが、なんと無料で利用することができます!
githubとアカウント連携できたりフォーラムで質問できたり世界中のCamper達と交流できたりと大変素晴らしいサービスなんです。
JSを基本から学び直そうと思っていたときに当サイトを見つけ、実際に勉強してみたのでその感想を書いていきたいと思います。
英語の勉強にもなる
いきなりプログラミングとは関係ないことですが、基本的にサイトはすべて英語なので(マイページなどは日本語選択可)自然と英語を読む力が鍛えられます。
各レッスン課題の文章が読めないと先に進めないのでなかなか骨が折れますが、IT業界にいる限り英文読解は避けては通れないので頑張りました。筆者は英語に強くないので読み進めるのが遅かったのですが、プログラミングで使う用語以外はシンプルな単語が使われている(はず)なので数日やっていれば慣れるレベルだと感じました。
基本がじっくり学べる
今回はJSの学習がしたかったためまずは「JavaScript Algorithms and Data Structures Certification (300 hours)」コースを受けてみました。
最初はコメントの書き方や変数の定義の仕方といった初歩の初歩から学習が始まります。
そこから加減乗除やオブジェクトの扱い方、配列の値の操作(push、pop、shift、unshift)と段階的にできることを増やしていきます。
各レッスンは読むパートと課題を解くパートに分かれており、課題が解けない人用にヒントが載っているリンクがあったりします。
最初のうちはレッスン内の例文を真似していけば課題をクリアできるレベルですが、徐々に前のレッスンで習ったことを活用して問題を解いていかなくてはならなくなるため、自然と復習する頻度も多くなります。そのため一通り課題をこなしていけば基本的な知識は頭と指が覚えてくれました。
配列のレッスンが充実してる
JSのコースの目的にもあるように、データ構造を理解するための配列に関する課題が多く出てきます。
配列に関する関数(map、filter、reduce、sort)もガンガン使っていかないといけないため、配列初心者な著者にとってはかなり大変でした。(そもそも課題の英文がよくわからなかった。)
ですが先程も述べたように、難しい課題でも各レッスンの内容の組み合わせで解くことができるため復習しながら少しずつ自分の中で知識の理解を深めることができました。
reduceなんかどこで使うんだと思っていましたが実業務で丁度配列を扱う機会があり、学んだ知識を活かすことができたのはちょっと感動でした。