macoblog

「ゲーム × プログラミング」で生きていく

アプリ検索ツール(β版)を公開

プロゲートを使ったプログラミング勉強法+スキル定着させるコツ

プログラミング

プログラミング身に付けたい人

プログラミング身に付けたい人
「プログラミングの基礎を身に付ける為にプロゲートを使って勉強してはいるけど、難しい問題はヒントを見ればクリアできる、でもこれだとスキルとして身に付いているか微妙だよね(;^ω^)」

プロゲートを使ってプログラミングを勉強している方に向けて書きました、現役エンジニアだからこそ分かるコツや気付きをこの記事でシェアしておきます。

この記事で解説していること

基本的には下記のツイートを深掘りしていく形です、勉強の流れを整理した後本題に入っていますので、とりあえずコツを教えてくれって方は「スキルを定着させるコツ【2週目が大事】」から読めば大丈夫かと。

プロゲートを使った勉強方法【言語共通】

プロゲートを使った勉強方法【言語共通】

「プログラミングの基礎を学ぶ→プロゲートで学ぶ」これに当てはまる方にアドバイス、プロゲートでは以下の点を意識して取り組みましょう。

  • 2週目も取り組むこと
  • 1言語に時間をかけすぎない
  • 色々な言語に手を出さない

それぞれ簡単に解説します。

その①:2週目も取り組むこと

1言語全ての課題を終えた後は2週目も取り組んだほうがいいです、というのも1週しただけでは「言語の雰囲気+だいたいの感覚」を理解しただけでスキル(知識)として定着していないことがほとんどです(他言語を触ったことがある人を除く)

2週目で復習し始めて理解できると思った方が無難、ここで気を付けたいのは周回数に関わらず「周回する事が目的にならないこと」、結構あるあるなので本当に気を付けてほしい。

あなたは「プロゲート」というゲームをしにきたのではありません、プログラミングを学びに来ているんです、終えた事に達成感を感じる人は要注意、ここはぶれない様にしたい。

その②:1言語に時間をかけすぎない

じっくり勉強する事を否定するわけではありませんが、時間のかけすぎは注意です、理由は単純に効率が悪いからです。

実際にプロゲートで学べる内容は基礎レベルのものなので、2週目を考慮したとしてもすぐに終わるはず、サクッと学んで次のステップに移りましょう、ここに時間がかかる人はドットインストールとかでも時間かけてそう、、、

「学校(仕事)に行く→帰ってプロゲートで勉強」この流れなら1日3時間として1言語は絶対に修了可能(2週目含む)、なんなら2言語目に取り組めるまで全然ある。

その③:色々な言語に手を出さない

これもありがちなんですが、色々な言語に手を出さないようにしましょう、「とりあえず」ってのは基本的に選択肢としてないです。

〇〇になりたい、〇〇を作りたいという目標のもとプログラミング勉強しているのであれば学ぶ言語は決まっているわけで、「あれもこれも」という思考はそもそも何がしたいかも分かっていない証拠です「ノウハウコレクターはダメ、絶対」

何が作りたいかとか考えられないよ!

こんな方の為に「目的別一覧」という機能があります(下記参考)、WEB多めですがここから選べばとりあえずの指針は示してくれます。

プロゲート:目的別一覧

「この筆者、プロゲートの回し者かよ、、、」

「断じて違う!笑」

スキルを定着させるコツ【2週目が大事】

スキルを定着させるコツ【2週目が大事】

先ほど私はこう言いました、「1言語全ての課題を終えた後は2週目も取り組んだほうがいい」と、これは2週目を復習として取り組むことでスキルの定着を狙うというのが目的です。

ただ、これについてはちょっとコツがありまして、大体の人が1週目と同じように2週目を駆け抜けていくわけですが、それではいけません。

「これ、周回マラソンじゃねーから!」

2週目は工夫しつつ進めることが大事です、これは具体例を出した方が分かりやすいと思います、どの言語でも可能ですが今回は[PHP]のレッスンを参考に解説しますね。

2週目の取り組み方:PHP編

PHPの「PHPの基礎をマスターしよう:文字列を表示しよう」を例にします、これはただ文字列を[echo]して表示するだけなんですが、もしかして皆さん2週目もこんな感じで回答していませんか?

2週目もこんな感じで回答していませんか?

echo 'Hello, PHP';
echo '10 + 7';

「回答としては正しい、ただ取り組み方としては不正解」

なぜ取り組み方として不正解なのか、それは復習になっていないからです。あなたが学んだことはたくさんあるはず、それを上手く活かしてあげましょう、この部分が冒頭の引用ツイートにある「こう書いても同じ結果が返ってきそう、と考える事」に繋がります。

回答例を置いてきます、なるほどと理解してもらえるはずです。

2週目の回答例:これでも同じ結果が返ってきます(正解)

$flg = 1;
$elm = '<br>';
if($flg == 1) {
  echo 'Hello, PHP'.$elm;
  echo '10 + 7';
}

上記でも同じ結果が返ってきますし課題としても正解です、下記のポイントを上手く復習できている事が分かります。

  • 1,2行目:変数の代入
  • 3行目:if文を使った分岐処理
  • 4行目①:文字列の出力と
  • 4行目②:文字列との結合
  • 4行目③:変数の出力

こんな感じで回答を加工してみましょう、課題で出されたことをそのまま回答するのではなく自分で考えることが大事、「分岐処理はこの課題じゃ使っちゃダメですか?」そんなことないですよね。

「課題で指示されていない処理 = 自分の頭から練りだした処理 = 理解している証拠」

この要領で取り組んだ場合と1週目と同じ要領で取り組むとでは結果は段違いですし、今後自分で作品を作る時の考え方にも役立ちますので是非実践してみて下さい、必ずあなたの役に立ちます。

終わりに:プロゲートを終えた後何すればいい?

終わりに:プロゲートを終えた後何すればいい?

この記事の内容を簡単にまとめました。

プロゲートでプログラミングを学ぶコツ

  • 1周目(ザックリ)→2周目(復習)の流れで学ぶ
  • 1言語に時間をかけすぎない(1言語3時間まで)
  • 色々な言語に手を出さない(ノウハウコレクターにならないこと)
  • 2週目は「回答+α」で復習を意識する

こんな感じですね、大事なのはただ取り組むのではなくその中に自分の考えをいれつつ学ぶこと、考える力も身に付けばネットに落ちているコードを加工する時にも活きますよ。

プロゲートで基礎を学んだ後は何すればいい?

自分が作りたいモノを作ってみましょう(作品)、もしそれが高度なもので自信がない場合はそれに近いものをまず作ってみましょう、以下例。

「プロゲートでWEB系言語の基礎を学んだ」→「ECサイトを作りたい」→「ちょっと難しそう、挫折しそう」→「ECサイトより簡単なもの」→「アンケートフォームの作成」→「これも厳しい」→「アンケートフォームより簡単なもの」→「見積もりフォームの作成」

上記のような感じでいいかと思います、ここを自分でまとめることができたなら、それが学習の道しるべになるはずです。

ってな感じで今回はここまで、質問等あれば遠慮なくどうぞ、できればTwitterからがいいな、、、楽だから、、、

人気記事無料体験が受けられるプログラミングスクール7社。現役エンジニアが厳選

人気記事「派遣社員からプログラマーへ」←その過程で読んだ勉強本まとめ