2019年9月にMCP70-483(Programming in C#)を受験し合格しました。
それを踏まえて合格までの話を記載します。
#Qiitaに投稿した理由
以下のとおりです。
・一度投稿してみたかった。
・自分の勉強方法の反省点など振り返れるようにしたかった。
・過去の合格者の記事を数件見たが、いずれも実務でASP.net等を使用しバリバリ
設計やコーディングしている人の記事が多く、実務未経験者としての違う視点で記事を書きたかった。
#自己紹介
簡単な自己紹介は以下の通りで、実務でC#に触れたことがありません。
・普段はSEとして、VBを使ったシステム保守を担当しており
.netを見る機会やVSを触る機会はよくあるが、新規で開発した経験はなくC#に至っては経験なし。
・C#に初めて触れたのはちょうど受験する1年前で、そこから半年は休日等にxamarinでアプリを作ったり、
オセロをコンソールアプリで作ったりとお遊び程度。
・Javaは会社でよく触り、オンラインやバッチの開発経験多少あり。
#受験背景
受験することに決めたのは丁度7月中ごろ。実質的に試験を意識して勉強を開始したのは7月末ごろでした。
但し、その前から実際にプログラムを触ったり、文法の本を読んだりしていました。
受験に至った理由ですが、それについては以下の通りです。
・第三者による技能の証明が欲しかった。
・.netやC#に対する理解度を知りたかった。
・.netという観点では実務でも使うし、オブジェクト指向の学習という観点では
Javaとも共通点があり、やはり実務にも生きる。(と思っている・・・)
・MCSA,MCSDは会社から受験料が出る。(但し、参考書代、模試代は別)
#勉強方法
どこまでを勉強期間とするかというと自分としては難しいところがありました。触り始めたところから年表にしてみました。
No | 時期 | 勉強・実施内容 | 使用参考書 |
---|---|---|---|
1 | 2018年9月 ~2019年4月 |
アプリケーションの作成 | - |
2 | 2019年2月 ~6月 |
文法書読破(1週) | 実戦で役立つ C#プログラミングのイディオム/定石&パターン |
3 | 2019年7月末 ~8月末 |
テキスト読破(1週) | Exam Ref 70-483 Programming in C# (English Edition) |
4 | 2019年7月末 ~8月末 |
ビデオ視聴 | Programming in C# Jump Start |
5 | 2019年8月 ~9月 |
問題演習 | measureup 70-483 模試 |
■ 1 アプリケーションの作成
殆どの時間をアプリ作成(xamarin)に費やし、
できそうなことを調べてはコピペをしていただけでした。
どちらかというとXAMLやデータバインディングの実装方法等を調べることが多く
今回の勉強範囲とは違う部分も多くありました。
但し初めて触ったこともあり、最初に比べると多少は言語に慣れました。
■ 2 文法書読破(1週)
2019年2月あたりから、基本的なことは理解するまで勉強したいと思いだし、文法書を
電車の行き帰りで読み始めました。(通勤時間は長いほうです。)
このタイミングでは目標がなかったのでダラダラと4ヶ月くらい掛かりました。
とにかくこの参考書は初学者にとっては分かりやすい、読みやすい、無駄なページも少ないです。
今でも辞書として読み返すことがよくあります。
■ 3 テキスト読破(1週)
7月に入り9月の受験を目標にテキストを購入しました。
結構な時間を費やしましたが、正直英語も得意ではないので、全て完璧に読み込むことは
できませんでした。内容が分からないところはメソッドを検索し
MicroSoftのDocを読むなり、未確認飛行のサイトを見るなりして理解を深めました。
とにかく未確認飛行のサイトは詳しい。
文法書でやった内容もあったため、文法書を読み返すことで復習にもなりました。
■ 4 ビデオ視聴
テキスト読破と平行して、閲覧しました。日本語訳がついていますので何となく分かりますし、
映像の中では実際に実装もしてくれたりもします。
見ていて損はないかもしれないですが、全てが網羅できるわけではないです。
#試験結果
■得点 : 757点 (合格点は700)
■分野別
プログラム フローの管理 : 約75%
型の作成と使用 : 約75%
データ アクセスの実装 : 約75%
アプリケーションのセキュリティとデバッグ : 約50%
割合としては、デバッグの分野の正答率が低い結果となりましたが、
この分野の傾向として、使うことのなさそうなdllを選択させられること等
マニアックな内容が多く、仕方ないかと思います。実際熟練者でも落とすようです。
それよりはその他の分野を9割にすることを考えるべきだったかと反省しています。
一概には言えませんが、基本的な内容が多かったように思います。
(例えば要件を満たすLINQの記述、アクセス修飾子について、IDisposableの実装等)
もしもう一度受けるなら、模試で何度も出てくるような頻出問題は
きっちり理解し、誤答しないようにした上で、望みたいです。
一番驚きだったのはネットに落ちていた問題が一字一句同じで丸々出題されていたことです。
因みに「ITShiken」というサイトでたまたま解いたサンプル問題です。
#感想
初学者としてはこの合格によってC#を学ぶ上での第一歩を踏み出せたかなと思っています。
本質についてはどの分野も理解が浅く、座学の勉強も引き続きやりたいですが、
実装をしていく上での方が理解が進むかなと感じています。
非同期処理など実際に実行してみないとイメージが付きづらいと私は考えます。
後、受かりたいのならMeasureUpの模試よりその辺に落ちている実際の過去問の方がいいでしょう。そのまま出たりするので。MeasureUpやると問題にも慣れるし、知らなかった知識もつくのでお金は掛かりましたが、個人的にはやって良かったと思ってます。
#次の目標
MCPという観点では、ASP.net及びUWPを受験予定です。MCSA欲しいですし。
またせっかく色々学習したので、WPFやWinFormsを使ってモノを作って、ソースをどんどん公開していきたいです。