The two platforms offer quite different approaches that help beginners to step into the industry. It depends on their expectation and available time to decide which approach suits them better.
When I decided to begin my career in programming, I took some Computer Science courses including C++ in college. I found that it was very easy to forget what I learned through traditional lectures in classroom. Following the advice of a programmer friend, I shifted to Coursera and Udacity, and also explored some other online platforms on the market.
Why choose Coursera and Udacity to compare with? Certainly, there are so many other MOOCs available online, such as Edx, Coursera, Udemy, Udacity, etc. Basically, they can be characterized in two types: academic and industrial. For example, most courses on Edx and Coursera are instructed by college faculties. Differently, experienced developers are more commonly to be instructors on Udemy and Udacity. Even though Microsoft began to offer coourses on Edx and theoratical computer science introduction courses are published on Udacity, the diversity trend did not change the genes on both sides. Therefore, I simply choose Coursera and Udacity as two categorial representitives here in order to compare their pros and cons for beginners who are confused as I was when facing the similar dilemma.
Both Coursera and Udacity adopt the project oriented strategy throughout their programs. A specialization or Nanodegree is usually finished in one or more concrete projects applied with those learned key points. This strategy means learners need to implement what they have absorbed to build relatively sophisticated apps or websites by coding. In contrast to passively accepting knowledge by lectures, projects prompt learners to actively apply the knowledge in their coding practice. Furthermore, those finished projects can be really helpful in job hunting.
Courses on Coursera are more academic. No matter which intro-programming course beginners take, they are probably going to follow this routine below and finish course projects.
- Primitive types, variables, condition operators, loops;
- Fuction, object, class, array, list;
- Instance, instance constructor & variable;
- Inheritance, polymorphism;
- Sorting algrithms, Big-O notation, linked list
Big-O analysis for different sorting algrithms in UC San Diego’s Java programming specilization
Along the way, leaners are also taught heap, stack and how to draw memory module. Besides, they consistently revise the way of coding in projects after adopting new concepts. For example, function lets programmers reuse their code, inheritance and polymorphism help design classes which share similiar properties, Big-O notation tells which algrithm is the most efficient. That is to say, the projects of courses on Coursra are the way to help learners to consolide those programming basics which are common among different programming languages.
The contents on Udacity are more like instructions which pace the way to the Tech industry for learners. Even though the provided tutorials also cover programming basics, they are included to support those tutorials which teach learners how to build attractive projects or step into the industy quickly. For example, sorting algrithms, binary tree and Big-O notation are often appeared in interviewing topics. Udacity has a seperated chapter to cover those knowledge at the end of its Full Stack Web Developer Nanodegree that deliberately tackle interview problems. In comparison, Coursera covers those knowledge gradually and guides learners to apply them in their coding practice. Moreover, Udacity provides detailed instructions for leaners to build their social network in the industry, help learners sharp their resumes and even offer one to one consulting services online.
It can be frustrating for beginners to deal with difficulties in programming without any help. Therefore, a MOOC’s responsiveness to its discussion forum is very important. Based on my experience, after posting a question, I often have to wait for hours or even days to get the answer on Cousera. By contrast, it usually takes minutes or hours on Udacity. However, the lag of responsiveness can be advantageous from another perspective. Thinking of searching the internet and looking for documentations are routines of programmers, I often try to find solutions on either professional forums such as Stack Overflow or in offical references. It happaned many times that I solved the problem before receiving a response in the discussion forum. But it cannot be denied that a responsive community plays a vital role.
Here is the chart to show the two MOOCs’ differences including some other aspects not mentioned above.
|Emphasis||Theoretical clarity||Techniques oriented|
|Responsivenes||Hours or days||Minutes or hours|
|Job hunting help||Generally mentioned||Detailed instructions|
Academic Coursera and industrial Udacity can be recognized as “bottom-up and top-down approaches” to learn programming. As Tom Dalling describes, the two general approaches have their own pros and cons.
Personally, if time is not an issue, I highly recommend beginners to follow the academic way and Coursera definitely meets their needs. If time matters, Udacity is a good choice, but the bottom-up approach should also be adopted as possible as they can.