Translations: "Русский" |
A review of three years on Coursera (2015 - 2018)
Table of Contents
The intention of this review is to provide any would-be coursera learners with a taste of what to expect as far as rigor, prices, and general experience. This review only reflects my experience and your mileage may vary depending on what course you sign up for.
Since everyone comes into MOOCs with a different background, I will briefly state my academic history before covering the Coursera experience. This will hopefully allow any interested readers to understand where I'm coming from better. I graduated with a Bachelor's of Science in Electrical Engineering in 2012. At university, I did not take any programming courses (except microcontrollers which had C/assembly that was far different from the python used on coursera) but i did take many math courses (Calculus 1-3, Differential Equations, Matrix Algebra, Probability/Statistics, and Boundary Value Problems). The math courses were probably a significant boost to my ability to successfully complete math classes on Coursera. I have no academic or substantial career experience in computer science or cybersecurity, although I have done toy problems in these fields as a hobby.
I started with Coursera on one of the last session's of Andrew Ng's Machine Learning course. At the time, I was hesistant to pay any money for the course, so I didn't get a verified certificate. Without paying coursera, I was given a "Statement of Accomplishment" where I still was allowed to follow along with the coursework but was given a lower tier certification (this option was removed in June 2015). Since then I've completed 12 courses spanning two specializations and abandoned one course. The courses I've completed, along with the dates on the course certificates are below.
|2015-11-05||Cybersecurity Capstone Project||$0||Cybersecurity|
|2017-01-15||Introduction to Complex Analysis||$49||None|
|2018-05-14||Delivery Problem||$31.6||Introduction to Discrete Mathematics for Computer Science|
|2018-05-20||Number Theory and Cryptography||$31.6||Introduction to Discrete Mathematics for Computer Science|
|2018-05-28||Introduction to Graph Theory||$31.6||Introduction to Discrete Mathematics for Computer Science|
|2018-06-03||Combinatorics & Probability||$31.6||Introduction to Discrete Mathematics for Computer Science|
|2018-06-03||What is a Proof?||$31.6||Introduction to Discrete Mathematics for Computer Science|
Looking at this table you might notice that I didn't pay for the courses in the University of Maryland "Cybersecurity Specialization." This is due to a change that coursera went through where they went back and refunded people the money spent on courses during a transitional period of the website. I'm not sure what was changed, but it did save me $196 USD.
It should also be noted that Coursera lists the Cybersecurity specialization as an intermediate specialization and the Introduction to Discrete Mathematics for Computer Science as a beginner specialization. For large parts of the beginner specialization I thought the pace was too slow or the topics were too easy. The best example of this is a part of the Combinatorics & Probability course that covered averages. You can fast forward through easy topics if you want, but it took away from my overall experience by slowing the flow of new and interesting information.
The duration of the courses from above ranged from 3 weeks to 6 weeks, with courses being broken down by week and then into sections. Most courses have a few hours of lectures and assignments each week. The number of hours of effort is low relative to professional industry certifications (6 weeks on a coursera course might only be 12 hours of full-time effort - about on par with a 2 day work training) but the price is disproportionately lower as well.
The assignments are a mixture of ungraded assignments (questions asked during videos or 'practice' quizzes) and graded assignments. You do not have to complete the ungraded assignments to get credit for a course. Typically, the ungraded assignments will be questions interspersed among the course lectures - the video will pause and ask you a question; these are typically easy questions to make sure you're following along, some don't even require any technical knowledge and only survey whether you're following along with the topic. The graded assignments are sprinkled between lectures and weeks and usually consist of a mix of multiple choice and free form (text box) questions. For classes that involve programming, it is also common for you to have to write python functions in the browser as part of graded assignments.
Instructors can make their courses harder by restricting the frequency of quiz submissions. This seems to usually be a restriction to 3 submissions per 8 hours to prevent you from trying to brute force the answers to the quiz on the last day of the week. There are also various other tricks that can be used including varying the parameters to a question or re-arranging the multiple choice selections so you have to still consider the question when you go back to try and secure more points. When you submit any graded assignments you will have to click a check box that you agree to Coursera's honor code and that your submitted work is your own.
The best graded assignments I have found on Coursera are peer-graded assignments that were used in the Introduction to Complex Analysis course. For these assignments, students wrote out solutions on paper, took pictures of their answers, and submitted them. After the submission deadline, everyone was given two other student's submissions to review and grade for accuracy. You were also able to type messages back to other students for general feedback.
I should make a special note here about capstone projects. The Cybersecurity specialization had an excellent project called "Build It, Break It" where students teamed up and wrote software for phase one, and tried to break each others software for phase two. In doing this, I met some interesting people, and realized how easy it is to get completely wrecked when you write your software in C. On the other hand, the "Delivery Problem" course that terminated the Introduction to Discrete Mathematics for Computer Science specialization was astoundingly easy. Using the networkx python library, some submissions were only about 5 lines of code, mostly using built in functions. This is not a course that I recommend.
I have seen nearly zero career benefits from taking courses on Coursera. The only career benefit I can not deny is that I have seen LinkedIn indicate that I showed up for searchess including the term 'cybersecurity.' Since I haven't listed any industry experience in this field, this can only be due to the certificate being listed on my LinkedIn profile. After I post this review, I will attempt to reach out to recruiters on my LinkedIn network and see if they know what Coursera (or MOOCs in general) is, and if they consider it when evaluating applicants.
On a personal level, I have enjoyed the various topics that I got to experience with coursera. The hands on experience with software topics is something that I could never get in my current job since they aren't common to my industry (SQL injection isn't a frequent topic in Automotive controller firmware).
In my opinion, coursera courses are worth taking. I would not sign up for any more beginner level courses and I wouldn't recommend going for an entire certificate when you are only interested in the information from a few of the courses, unless you need to take them to get access to a capstone project. There might be a benefit professionally to undergraduate students who are still looking for an internship, but the interest from recruiters and companies appears to be minimal. In contrast to other sites like Udemy, the timing requirements on Coursera do give a sense of urgency that is hard to recreate outside of university.