Update: I understand this article is not too specific, however that is to make sure I do not break Microsoft’s rules on discussing exam specifics. Breaking these rules can result in a lifetime ban from Microsoft’s tests and revocation of certifications. I discuss the tools I used and discuss what would have helped me without discussing details.
I’ve taken my first step towards the MCSD certification… I passed Exam 70-483 Programming in C# this past week. This was an interesting step as I haven’t written a computer exam since my Masters degree at the University of Alberta. But I did it to solidify some C# concepts, as well as learn some new things that I hadn’t needed to use yet.
The test itself was fairly comprehensive. I utilized 2 books for my studies:
- MCSD Certification Toolkit (Exam 70-483): Programming in C#
- Exam Ref 70-483: Programming in C# (Note: The paper copy comes with a 15% exam discount which means the book pretty much pays for itself if you are going to write the exam. Definitely worth it in my opinion)
There were questions on the exam that were not covered in either of these books. Thus one should do additional study to be fully prepared for the test, but these 2 books definitely helped me to pass the exam. I liked the organization of the MCSD Certification Toolkit book a bit better as the Exam Ref book is organized by the specified Exam Sections, but that was mostly personal preference. I also really wanted to see more practice questions in both books, as well as more question that required you to read code more which would prepare you much better for the exam.
There are additional books of a more generic nature that I definitely recommend:
- C# 5.0 In A Nutshell
- CLR Via C#
- Pro C# 5.0 and the .Net 4.5 Framework
- Microsoft Visual C# 2013 Step by Step
C# 5.0 In A Nutshell is my go-to book for all things C# related. It has a comprehensive list of C#’s features and very good descriptions. I highly recommend it for all C# developers. CLR Via C# offers a “deep dive” in many parts of the CLR. This book will give you a much deeper understanding of the CLR and C# and is definitely recommended if you are looking to become an expert in C#. Pro C# 5.0 and the .Net Framework is another great reference book for C#, but also touches on some of the other .Net components like WPF, WCF, and WF libraries. Finally, Microsoft Visual C# 2013 Step by Step is a great book for newer programmers looking for a “Step by Step” approach to C#.
In addition to the books, I went through the course “Programming in C# Jump Start” on Microsoft Virtual Academy. These were a great set of videos and I definitely recommend them. The presenters, Jerry Nixon and Daren May, were very knowledgeable and very fun to watch, which is rare for any kind of computer programming related video. But again, the videos alone were not really enough to prepare you for the exam. I really wish they had done more videos because I really liked the way they presented, and I definitely would have been willing to pay money for those videos if they had them.
I came across this blog post by Jack Kinsella on how he uses a flashcard app called Anki to master programming languages. So I decide to utilize the above 2 books to create an Anki set of flashcards which I then studied on a daily basis on my computer and my iPad. I found the spaced repetition to actually work quite well, although it took some adjustment to use this for learning technical details that require a lot of code.
For example, one of the technical skills you are supposed to know is how to generate code at runtime using CodeDOM. This is a huge topic which is only discussed briefly in both books. So I just created a flashcard to touch on the high-level parts of CodeDom, and then included code in the answer section so I could review the relevant code with the question. However, this didn’t really lead to a solid understanding of the particular skill.
Regardless, it was great to be able to review questions on the whole test. I posted my Anki flashcard set publically so you can download it on Anki’s website here (Update Feb 26, 2017: I’ve reorganized my Anki decks and the test-specific deck is no longer available. I still strongly suggest that creating your own Anki deck is the best way to learn and remember the needed information for this exam.) Requires account to download). However, it can be very helpful to create your own flashcard deck to make sure you focus on the areas that you need. But you can use that set as a template, or just it as your study set and make adjustments to it as you need.
I wasn’t sure what to expect when I took the test, but one thing that stood out to me was that there was a large amount of code for each question. This meant the questions took longer as I had to read through and understand the code. Thus I would have focused more on code in my studies that I actually did.
But regardless, I have passed and thus have my Microsoft Specialist certification and have started studying for Exam 70-484 Essentials of Developing Windows Store Apps Using C#. 2 more to go!