As 2013 was beginning to wind down, I looked ahead to 2014 and set the goal of applying myself to learn mobile application development in the year ahead. That’s my form of a new year’s resolution. I had dabbled a little with Android development before and had taken a Pluralsight course or two on Windows Phone development, but I had never really put together a full app or even set aside the time to really dive into mobile development (even though it has been a huge interest of mine for a while now). Around this time I kept hearing on podcasts about Xamarin and their product for cross platform development using C#. It sounded promising so I began to look into it and came across the University page on their site. A couple of weeks later at the Visual Studio 2013 launch event, Microsoft announced its partnership with Xamarin and that MSDN subscribers would be eligible for free training. I was ecstatic to see that I qualified for the training and quickly signed up. A couple weeks later I received an email from Xamarin stating that I was accepted and would be in the first Xamarin University session starting in January.
There were 3 different tracts offered that we could choose from. One was for using Xamarin for Android development, another for using Xamarin for iOS development and the third was a cross platform tract that covered both iOS and Android. There were 3 different certification tests available to take at the end of the training that corresponded with the different tracts. Being the over achiever and training nut that I am, I chose to do the cross platform tract. I took 16 classes during my time at Xamarin University and I believe 14 of those were required to take the cross platform certification test.
Each week a schedule of classes being offered the following week were posted to the University site that you could sign-up for. Usually there were 3 – 4 new classes available to take each week. Class sizes were limited to 15 – 20 students and certain time slots routinely filled up much quicker than others. All classes were offered on a variety of day and time slots. Most people should be able to find a class time that fits within their schedule. Since I work full time, I generally opted to schedule my classes for the 9:00 PM time slot. Most of the classes ran from 2 – 3 hours in length with a short break or 2 mixed in.
Live Online Class Format
Classes were delivered in an instructor-led, live, online format using GotoMeeting. I’ve taken a lot of online training classes over the years through Pluralsight, Microsoft Virtual Academy, etc. but this was the first time that I was taking a live training course online. I found the live, online class format to have both pluses and minuses vs the pre-recorded training I am accustomed to. It was nice to be able to ask a question of the instructor as we were going over the material, but it also tremendously slowed down the pace of the class at times when other people were having issues and asking a bunch of questions. There were also numerous times when the instructor had to pause what he was teaching to go and mute someone’s microphone because of all the background noise it was causing. Overall, I did find the live class format to be enjoyable. I liked the interactive nature of it, but I can’t say that the live format tremendously improved how much I took away from a class.
The course curriculum covers a wide range of topics. As I scanned the class list, I was excited to dive into each of the topics and learn all the fine grained details that make mobile apps tick. Most of the classes consisted of talking through a high level overview of the topic with Power Point slides and then working through some lab projects along with the instructor. I didn’t have a problem with this format for covering the material, but what I thought was missing from some of the instructors was the “whys” behind how things were done in the labs. “Go to Step 2 and uncomment the code” doesn’t tell me what that block of code is doing or why it is needed. I understand that the class time would have really ballooned to cover everything that in-depth, but I felt there were quite a few instances where the extra time would have been warranted. Recordings of the classes are available on the website so that you can go back and review what was covered in each class. After I completed the course, I went back and watched the video from almost every class to take notes and study up for the exam.
Again, I know I was in the inaugural class for Xamarin University, but you could really tell some of the instructors were just reading off a script. Don’t get me wrong, these instructors knew their stuff and were able to answer all the questions that were asked by fellow students. You could just tell they were reading from a script the whole time which made it less engaging and harder to stay focused. Luckily I was in a class with instructor Glenn Stephens (@glennstephens) pretty early on. He did a fantastic job of leading us through the material (including the “whys” behind how things were done), answering questions, and keeping everyone engaged. After that first class with Glenn, I did everything I could to schedule all my remaining classes with him. If you sign up for Xamarin University and Glenn is an instructor, I highly recommend you choose his sessions.
I thought the class offerings did a good job of covering the wide range of topics involved in creating mobile apps. There were just times that I wished the coverage was a little more thorough.
Once you have completed taking all the courses, an email is sent out with a link to take the certification exam. For us, it was several weeks between when we completed the course curriculum and when we were able to take the exam. This gave me ample time to go watch the recorded sessions again and study over my notes. The Xamarin Certified Mobile Developer exam that I took was 150 questions and I had 3 hours to take it. There were a few questions on topics that I know we didn’t cover in the classes, but for the most part the questions were over things we had discussed. I’m not sure if there are any opportunities to re-take the exam if you don’t pass the first time. Luckily I didn’t have to find out.
Xamarin – The Product
Developing a product that lets you easily create cross-platform native apps is a pretty daunting task. I think Xamarin has done a fantastic job and I am really impressed with their product. For not having much experience with mobile apps before starting with Xamarin University, I was able to get a simple Android app up and running without much trouble. I was impressed with both their Xamarin Studio product and their integration with Visual Studio. With PCLs now being available along with Xamarin adding Android and iOS UI designers right into their product, things are only getting better. The only thing that I had a little bit of an issue with getting to work was connecting to the Xamarin.iOS Build Host from Visual Studio. Once I got that figured out, I was able to build iOS apps on my Mac from Visual Studio running on my Windows PC. If you are a C# developer and looking to get into mobile, I recommend that you check out both the Xamarin product and Xamarin University.
All in all, I enjoyed my Xamarin University experience and learned a lot along the way. There were a few hiccups here and there but that was to be expected considering that we were the first class of students. The course covered all the critical topics involved in creating a mobile app using the Xamarin tools and the live, online format of the training classes made it easy to get questions answered. I knew next to nothing about developing mobile apps going in. After 30+ days in Xamarin University, I now have the know how to confidently start developing apps for all the major platforms. The Xamarin tools are fantastic and make developing native cross platform apps much easier and faster for the C# developer.