Review of the Andrew Ng’s “Machine learning” course

In this publication Rahim Mahal reviews the Coursera Machine learning class taught by famous Prof.Andrew Ng. You probably know Andrew Ng as a co-founder of Coursera, but he is also a world-class machine learning researcher and a teacher of one of the most comprehensive and complete course on machine learning available online.

 Learning from data has been one of the oldest and popular directions of artificial intelligence. Numerous machine learning application are everywhere around us: relevant ads shown to us by Google in accordance with our personal preferences and taste, indicators applied to stock market analysis, speech recognition systems, credit card fraud detection and many many more.

Here, I will review the Coursera Machine learning class taught by famous Prof. Andrew Ng (co-founder of and the Director of the AI Lab at Stanford).


In this excellent course students are invited to learn the following Machine Learning topics:

  1. Linear and Logistic Regression

  2. Neural Networks

  3. Architecture and Design of a Machine Learning System

  4. Support Vector Machines

  5. Clustering

  6. Dimensionality Reduction

  7. Anomaly Detection

  8. Large-scale Machine Learning


Students are free to choose any programing language, such as C/C++, Java and Python, for practical exercise. However the general recommendation is to utilise the vector calculation software, like MATLAB or Octave as the main instrument. An advantage of Octave is that it is free.

To complete the course, students are required to have some preliminarily programing experience, but knowledge of Octave is not essential. A topic of one of the lectures is Octave tutorials and all the details necessary to implement course assignments with Octave are discussed during in details.


Course Design

Do not think that the Machine Learning course is a short adventure: it is designed for 10 weeks and every week there are review questions and programming exercises. There are two deadlines for each assignment. If the answers submitted after soft deadline 20% of mark are deducted. If answers submitted after the hard deadline, the student get zero. The course does not have a final exam and the final grade is calculated on the basis of the programming exercises and review questions.

The course starts with basics and gradually become harder! Most of the programming exercises are tricky and require some time to understand the concept and complete the assignment.



Discussion Forums


A good thing in Coursera is that there is an active community behind major part of the courses. It is especially hard to study difficult courses like the Andrew Ng’s one by yourself: sometimes you will face tricky parts that are not hard as is, but need some help or a hint from someone who has already understood this part. It is especially true for programming exercise in which you can be easily stuck and a fellow’s advice is worth its weight in gold.


The discussion forum provides a perfect platform to talk to other students about the assignments, the concepts taught at the lectures, the course itself and any other stuff. Moreover, the course advisors check the forums regularly and help a lot.



All the lectures are well defined and explanations are clear and consequent for both newbies and experienced programmers/researchers. This course is a good start to learn Machine Learning.


The new iteration of the course will be starting next spring, so stay tuned for updates!


About the author


Rahim Nakhli Mahal is an artificial intelligence postgraduate student in UKM in Malaysia. He has studied Mechanical engineering in Tehran University. He now continues his studies in the field of mechatronic engineering.




One thought on “Review of the Andrew Ng’s “Machine learning” course

  1. Avatar
    Sherrie on Reply

    Just finished the cours. Lectures given by Andrew is great, easy to understand and helpful. The programming assignment helps me understand the algorithm better. Guys and advisor in the forum gives me some clues and hints to learning these algorithm. I would like to learn more on Coursera.

Leave a Reply