プログラミング学習サービスを利用して考えた8つの事

プログラミング学習サービスとは

ここではプログラムを学ぶ為に役立つサイトをまとめてそう呼ぶことにします。

有名どころではProgatePaizaHackerrankchecki-o等あります。

このサービスの範囲は広く、説明を読みながら一つ一つ試していくサービス(以降「学習サービス」と呼びます)もあれば、ある程度学習した人を対象に問題を解かせるサイト(以降「練習サービス」と呼びます)もあり、Progateは学習サービス、Paizaは学習サービスと練習サービスの融合、Hackerrank、checki-oは練習サービスと言う理解です。

最初はもちろん学習サービスで文法や出来る事を知る事が一番ですが、ある程度慣れたら公式チュートリアルを見ながらの学習に移行し、出来そうだな、と思った頃からは練習サービスを上手に活用していく事も良いと思います。

今回はこの内、問題を解かせる練習サービスについて考えた事、これからの付き合い方について考えました。

プログラミング学習サービスのお勧めポイント

1. 知っていた事を実際に使えるからお勧め

プログラミングを教えてくれる本や動画を見てただその処理を繰り返すだけでは頭に定着させる事は難しいでしょう。

Hackerrank等練習サービスでは、学んだ文法を使って、課題を解決する練習ができます。その中ではどの様にデータが入力されるのか、加工後どのように出力するのか、と言うプログラムの実際の使い方も学ぶ事ができます。

特に基本文法で解く問題などはお勧めです。

HackerrankではPracticeの問題、checki-oでは Elementary、 Elementary+(“+”は高難度の問題を含んでいる場合もあり)の問題がそれにあたるでしょう。

2. 今まで知らなかったコードの使い方を学べるからお勧め

練習サービスを解く過程で、聞いた事が無い様な機能に触れられる事が往々にしてあります。プログラムで出来る事は多岐に渡るので、学んだ時には触れられなかったのも知れないし、ただ覚えられなかったかも知れませんが、ここで使う事で自分の物に出来ます。

また、Hackerrank、checki-o等、練習サービスによっては自分で解いた後に、先達のコードを見る事が出来る様になっている場合も多いです。

この、自分が解いたコードを意識しながら他の人のコードを見る経験は練習サービスの一番の醍醐味じゃ無いでしょうか。

公式チュートリアルや学習サービスを見ているだけでは得られない経験を練習サービスで得る事ができます。

3. 問題を解く為の試行錯誤が脳を鍛えるからお勧め

与えられた課題を、自分の持つプログラムの文法、知識を組み合わせる事でどの様に解けるか考える事はかなり頭を使います。覚えた事が増える程にその組み合わせも増え、出来る事が増えてくる事でしょう。

正にロールプレイングゲームで脳を鍛えている感覚です。

4. 短時間で有意義な学びの時間を得られるからお勧め

問題と解決が明確なので、比較的短時間で考え、解を求めて解き、人のコードを見て復習と言うローテーションを回す事ができるので、忙しい時など特に重宝します。

お勧めポイントとして書きましたが、実はこれは表裏一体でもあります。

5. 環境構築が不要だからお勧め

自分のPC(Mac含む)に環境を構築する事なく、該当HP上に書き込む事でコードを試す事ができます。

とは言え、自分で何かを作りたい、と考えたなら手元の開発環境は必須なのでこれは補助的なお勧めポイント。

プログラミング学習サービスの使い方で注意したい点

6. 時間と相談してからの使用がお勧め

難しい問題は本当に時間がかかります。その分達成すると、とても嬉しいのは確かなんだけれど。

ここで掛けている時間は本当に自分のやりたい方向にあっているのかどうか自問自答して決めた方が良いでしょう。

場合によってはとっとと回答を見る行為もアリだと思います。その場合は自分で解いた風な態度は避けましょう。

7. 問題の難度に注意した使用がお勧め

一つ目にも関連するが、難し過ぎる問題ばかりに取り掛かっているといつしか目的が見えなくなってしまうので注意。

とは言え、覚えた方が良いアルゴリズム等もあるだろうから、ここの線引きは実は難しいのですが、自分でしっかり考えましょう。

8. 目標を考えた利用がお勧め

例えばあなたの目標がWebアプリ作成の場合、学習サービスで学べる事は、コードの部品を作ると言う意味でとても良い勉強になりますが、今正に必要としているフロントエンド、バックエンド、データベースの知識からは、少し離れていると言うのが今の理解です。

目標が何かを考え、今やりたい事により注力する事も大事です。

当面の付き合い方

基本的にとても有意義な経験が出来るサイトばかりで感謝しかありません。

しかし、基本的にインプット型なので使い方次第の部分があります。

ある程度基礎文法の問題を解いた後は、その基礎文法の知識を維持する目的として、新規問題には適度に触れながら過去解いた基礎文法問題とアルゴリズム問題をチラ見しつつ、今すべき事に注力するのが良いと考えます。

実は少しはまり気味だった事を反省しての久しぶりのブログポストでした。

4が以外とくせ者で、忙しい中で折角時間を取るのだから実は作りたいものに使った方が良かった様な気がしていますが、その様な作りたい物がまだ無い人に取っては、日々触れる事が出来るとても良いポイントかと思い上記の記載としています。

もちろん、今学生の方で比較的時間があり、将来GAFA等テックカンパニーを目指す方にとってはここで技術力を示す事は一つの方法だと思いますし、老後の楽しみとして数独やクロスワードパズルの様に楽しみたい方にとっても、数独などよりプログラムの方が遙かに奥が深く面白いと思いますので、練習サービスの利用はお勧めです。

スポンサーリンク