【合格体験記】JavaSilver認定試験 -合格ロードマップ-
こんにちは。のわです。
本日、無事JavaSilverの認定試験に合格しました!
今回は、合格までの勉強方法、コツについてまとめます。
【はじめに】
はじめに、私の勉強開始時のスペックについて述べておきます。
・Javaの経験はスッキリわかるJava入門編を終わらせたレベル
・他の取得資格は『ITパスポート』『LPIC1』
Java入門編を終わらせた時点で、簡単なプログラムを作成しました。
もし、興味があればこちらをご覧ください。
また、LPICに興味がある方はこちらの記事を参考にしていただければと思います。
nowa-0402.hatenablog.com
nowa-0402.hatenablog.com
【使用した教材】
使用した教材は以下のとおりです。
☆徹底攻略Java SE 11 Silver問題集[1Z0-815]
通称:黒本
☆スッキリわかるJava入門
☆スッキリわかるJava入門 実践編
☆dokojava.jp
これは教材ではないのですが
簡易的なJavaのプログラムであれば下記サイトを利用することで環境構築の手間を省けます。
https://dokojava.jp
【勉強方法】
ここからは、日付を追って、実際どんな感じで勉強したのが述べていきます。
1日目〜20日目 -章問を解く-
初日から20日間で、黒本の章問を2周やりました。
・1周目は全問解く
・2周目は1周目でわからなかった問題を解く
のように進めました。
スッキリわかるシリーズの使い方ですが
・ラムダ式、モジュールは実践編
・それ以外は入門編
をそれぞれ活用していきます。
また、わからなかった問題は自分で実際にコードを打って動作を確かめました。
21日目〜23日目 -総問題を解く-
章問が2周終わったところで、黒本の総問題をやりました。
ここが難所です。
『総問題が章問より数倍難しい』
私の1回目は正答率55%で、かなり焦った記憶があります。
多分、みなさんもこういった状況になると思います。
ただ、ここで落ち込む必要は全くありません。
間違った問題を1つずつノートにまとめたり、コードを打って確かめていくことで確実に理解することができます。
また、黒本の解説は基本優しい説明なのですが
たまに難しい言い回しがあります。
そこは、スッキリわかるシリーズを使って理解していきました。
24日目〜29日目 -章問、総問題を繰り返し解く-
ここからは試験に向けて総まとめになります。
基本的に各章問、総問題を全問題解くようにしました。
この時点で、総まとめの正答率が9割まであがりました。
問題を解く時に、自信がない問題にチェックをつけるようにして
後で正解、不正解に関わらずまとめるようにしました。
試験前日 -よく間違える箇所を復習・整理する-
試験前日はそんなに勉強していません。
黒本を読み返しながら、ランダムで開いたページの問題を解いたり
よく間違えていた問題を再度解いていました
試験当日 -もう一度整理したい箇所を復習する-
当日は総まとめの問題から、もう一度解きたい問題をリストアップして解きました。
【試験の感想】
試験当日、私が個人的に感じたことを述べていきます。
試験時間
JavaSilverは180分で80問の問題をときます。
私は全問解くのに100分、マークをつけた箇所の見直しに20分
合計120分かかりました。
試験内容
黒本の内容をちょっと変えた問題が半分程度という印象です。
答えの見当がつかないような問題は1割もありませんでした。
試験難易度
今まで受けてきた試験と比較すると
ITパスポート < LIPC << JavaSilver
という感想です。
JavaSilverは今までの受けた中で一番難しいと感じました 。
理由は即答出来る暗記物が少ないことです。
理解して、考えないと解けない問題が多数あります。
感想でも述べますが『集中力』が問われる試験かなと思いました。
感想
前述の通り『集中力との勝負』。これに尽きるかなと思います。
私の場合、1時間超えたあたりから集中力が落ちました。
そのため、時々
・目を閉じて深呼吸する
・肩や腕のストレッチを1分程度行う
等でリラックスしながら試験を進めました。
また、パッと見で時間がかかりそうな問題は飛ばし、即答できる問題から潰しました。
自分の集中力をどう継続させるか、これがミスを減らすポイントになると思います。
【合格するためのコツ】
ここからは試験に合格するために、私が意識してきたことを述べていきます。
アウトプットする環境を構築する
JavaSilverに限らずですが、私はなにか勉強するとき
『アウトプット前提』の環境を構築することを優先しています。
学習方法で最も記憶に定着する方法は『誰かに教えること』
誰かに教えるつもりで勉強すると、理解速度が明らかに速くなります。
アウトプット方法はたくさんありますが
私は
・得られた気づきをTwitterで毎日発信
・最も苦戦したところをブログで週一回発信
することを実践していました。
問題は『覚える』ではなく『理解する』
問題集を何回も繰り返すと
『この問題の答えはAだな』といった感じで、理解より先に答えを覚えるようになってきます。
これだと、試験で応用問題にあたった時、何も考えられない状況になるので注意したほうがいいです。
こういった状況を防ぐためにおすすめしたいのが、『間違えた問題は遊んでみる』です。
例えば以下のコードの出力結果はなにか、という問題があったとします
public class Main { static int num = 10; public static void main(String[] args) { int num = 0; System.out.println(num); } }
この出力結果は『0』になります。
例えば、この答えを『10』と答え、間違えたとします。
そのときに、ただ答えをみて学ぶだけではなく
『どうしたら自分が間違えた答えになるか』を考えるのが理解を深めます。
例えば、上記コードなら、最後の出力を
System.out.println(Main.num);
このようにすると『10』にすることができます。
ここまで自分で試して初めて、『あー!分かってきた!』という状態になります。
答えを覚える近道ではなく
理解を深めるための遠回り
つまり、『コードをたくさんいじって遊んでみる、試してみる』のが一番だと思います。
これを実践していくと合格にグッと近づくと思います。
【おわりに】
今回の試験勉強を通じ、なんとなく理解していた概念を深く理解する、いい機会になりました。
それと、たくさんのコードを打って実際に動きを確認してきましたが
コードを打つたびに
『あー、なるほど!!こう動くのか!...じゃあ、これならどうなるのかな?』
といったように、試すことの楽しさも同時に得られたかなと思います。
合格するだけなら、コツで述べたような色々試すことやアウトプット前提の学習より
一日数時間、ひたすら勉強して、覚えてしまったほうが早く合格できるとは思います。
ただ、せっかくなら、たくさんの気づきを得るのがいいと思っています。
そのためには、コードに興味をもって、たくさん試すのが一番だと考えます。
今回の記事で
挑戦しようと思っている方
挑戦中の方
への参考になれば幸いです
今回も最後まで読んでいただきありがとうございました!