Massive Open Online Course (MOOC) concept is already booming lately. It offers students to learn some subjects from the expert but no need to go to college or formal school anymore. Students are able to learn the subjects everywhere and anytime as long as they are connected to internet.
In my experience, the most challenging thing in joining MOOC is commitment from the students. Students need to have high commitment to follow the lesson since beginning until the end of the course. They have to spare their time, perhaps 20-30 hours per course, to complete and get the certificate (if any).
So last time I decided to join some websites such as Dicoding, Coursera, and Udacity. I want to learn some subjects that I have no idea at all. At the time I learned IBM Bluemix platform on Dicoding, Data Analyst on Coursera, and Android Development in Udacity.
So here I would like to share my experience while learning on Udacity. Why? So far, they have the most interesting way to deliver the subject concept to the students. Also we could access their lesson resources for free!
What’s good on Udacity?
Udacity is Google official partner in Android development learning. There is Nanodegree program (paid version) which has more features than the free one, especially when students want to get certificate after completing the course. There is also Nanodegree plus program which guarantee the students to get a job after completing the course. Wow!
Course is already divided into three categories, depends on the course difficulties (beginner, intermediate, and advance).
Each lesson has short video to explain the subject in interesting way. The instructors explain the subject using analogy, stories, and interactive tools. This helps student to understand the concept though programming is no way they have ever encountered before.
Compared to Coursera, I found it less interesting since the professor as the instructor only explaining the slide, the same way they explain the subject in front of the class. Not so interactive and visual. So Udacity delivers easier way for beginner students.
Udacity provides simple simulator for students to get hands on before writing the actual code in Android Studio, one of Android IDE (Integrated Development Environment). I think it is very useful for students to get the initial glance of what coding feels like. Coursera also have one interactive way to learn R programming called Swirl.
Udacity instructors delivers lessons in detail way. That’s why students will see many ‘chapters’ in left-side bar that they have to complete in a course. They deliver in detail and easy to understand. So do not be intimidated!
Not only that, instructors often explain the subject by relating the concept into existing showcase. It helps student to understand easier since they able to learn from their daily used apps. For example Google Play, Google Weather, Email application, etc.
Even the instructors also show students how to solve the problem they might face in future. Error occurred are common thing while coding, aren’t they? So instructors reference some resources such as finding the information via Google Search, Stackoverflow (a Q&A site), Android material design related to design guide, and also the Android documentation to understand more.
The most important thing, the instructor teach how to make pseudo code before touching the code. Great!
What’s not so good on Udacity?
Tutorial is not up-to-date, Some of them were recorded in 2015 (more than 2 years ago). For sure, Android has so many changes in between. Students might be confused to make sure what to do on the screen to follow the lesson. Do not worry! Text instructions are available to fill the gap and students also might ask some help in the discussion forum.
I was confused to adapt ConstraintLayout (newer layout concept) to LinearLayout as explained in the lesson.
Topics are sometimes repetitive, discussing the same thing in different lesson. I understand that some lessons have overlapped concept. But I think there is no need to break it down point per point as previous one. In my opinion.
Some exercises have the incorrect answer which might confuse student. Also I still do not understand why the instructor teach to iterate ArrayList by using index, instead of using Iterator class.
Students might not fully following thinking structure of the instructors. It means students might not create the same exact name of variables, or might not follow step A B C D as explained (maybe students performed B A D C), etc.
The most essential thing is students get the idea. But for beginner, it is truly recommended to follow thru all exact steps.