Does the course teach ML programming as well?

I have just completed week-1 of the course and was wondering if the remaining two weeks would also remain limited to Mathematical modeling. What I was think was that we would also be taught, alongside the maths behind machine learning, how to implement it in python. But this didn’t occur in week-1. Wanted to know about the remaining two weeks: are they pedagogically the same and if yes then how would we learn python and machine learning implementation in code, especially those who do not have a rigorous programming background. Thanks a lot.

Hi @Tarique_Abbass,

Welcome!

This specialization is not about teaching how to code nor about teaching how to write program, but we do have optional labs and assignments that demonstrate how some machine learning concepts are translated into codes. Of course, I also encourage you to try to repeat existing code yourself to get some hands-on experience. If you have difficulties in understanding Python code, you might also want to check out other courses that are for learning Python.

For now, you can go to the other weeks, check out the week’s menu, and you will find some labs, check the labs out to give yourself some sense of what they will look like.

Raymond

2 Likes

Thanks a lot @rmwkwok

Isn’t this specialization aimed at preparing the student to try and enter into service industry? For instance, I belong to Pakistan where the only possibility for me to launch my career in ML or AI is by entering the freelancing world. And being a rookie, I presume that the clients would require of me to implement the code in python or any other language rather than model their problem alone. Apparently this implies that I have to have a strong programming background in addition to the rigorous maths that is going to be taught by Dr. Ng in this specialization. And if I am a noob in python, I am supposed to learn the language first and then get back here and resume the MLS specialization.

It would be really kind of you to guide me a bit more in what should I do: either complete the course or come back after attaining reasonable proficiency in programming? Thanks a lot.

Hello @Tarique_Abbass,

This specialization is designed to help you break into AI.

It, in my opinion, offers you a fair picture of how machine learning actually operates in practice while also outlining some fundamental but crucial steps in creating an ML model. I believe that everything you learn from this specialization will be helpful for your future everyday ML tasks, and more significantly, with a solid understanding of the fundamentals, it can really support your ongoing self-learning and help you accomplish more. If you are new to machine learning, please think of this as a place to start or as a boost to help you better understand the basics.

I advise you to create a study schedule right away. I can explain my strategy to you, but it will be up to you to make your own decisions.

According to my own experience, learning challenges can be divided into four categories: Python, Machine Learning (ML) concept, Hands-on Coding, and Debugging. The good news is that none of these four things must be flawless for you to advance in the others. We just need to be able to make progress in one area at a time and determine which area to focus on next so that you may go on. This is similar to how we walk forward one foot at a time.

Furthermore, as students, we can all attend classes for multiple subjects at once as long as the time is properly handled. So why can’t you learn Python and ML simultaneously? The fact that this specialization doesn’t focus on teaching code means that you can anticipate learning topics that don’t require coding expertise most of the time is another excellent thing. But I must remind you that while some of the videos do contain some coding, Andrew will go over it and discuss the important machine learning ideas that the codes are intended to achieve, which should be sufficient to give you a high level comprehension.

Now, here is what I would do if I were you:

  1. Ask myself how many hours per day / per week I can allocate for learning Python & ML

  2. You have finished week 1, so before getting into the specifics of week 2, open one or two optional labs, read the code from top to bottom, and remember yourself that the objective is to discover what I am unable to grasp, not to understand it. I would make a list of the syntax I didn’t understand as I was reading. This list will serve as my next learning objective for Python.

  3. With the goal in mind, find any basic online Python learning resources. It may be a Python blog that you enjoy reading or a course. You will need to spend between 30 and 60 minutes looking for one that is either free or falls inside your price range and appeals to you because I do not have a specific recommendation for you. I’d want to remind myself that I don’t need the best Python course—I just need to figure out the syntax I need in Week 2—so any basic Python course or blog should work.

  4. ML learning resources (which are delivered in week 2) and Python are prepared. Set a schedule to learn from them. The order of which task is completed first is unimportant because most learners need to read through the materials more than once before they fully understand it. I would therefore stick to my schedule and go with my gut as to which side I should watch first, referring to the other side if necessary.

  5. When I have a question regarding the course material, I will consider which of the four categories it falls within. Then I would begin searching for the “particular question” after writing it down. I would start by searching because I am now a self-learner and want to learn at my own pace. If I run into a roadblock right away, I want to get rid of it, and there is no faster way to do so than by searching for the solution on Google. You are more than free to post your “particular question” in this community, but please think of searching for your own answers as a major self-learning skill that you need to master and that will benefit you for the rest of your future career. Spend some time searching online, and if you are unsuccessful after 10 to 30 minutes, consider asking a question in the community. You might ask for the answer directly or for a suitable keyword that will help you find what you’re looking for. The former is simple, while the latter involves more work from you, but in the long term, you will gain more because you will be more independent :slight_smile: . I can personally attest to the truth of this.

  6. More specifically, when it comes to lab, do read the text description in detail, and compare the description with the code followed . The main idea is NOT TO RECITE THEM, but to establish a connection between ML concept and codes so that you can start developing the sense of how to translate concept into code. Also, try to repeat the codes yourself to develop some “muscle memory” (like train yourself to code).
    Do not anticipate to complete this process in week 2 or course 1 and do not be discouraged if you are unable to recall how to code from scratch at first. Muscle memory and brain memory both need time to develop. The good thing is that you can save a copy of the lab on your computer so you can go back to it whenever you choose. Keep in mind that you may develop your skills in anything faster and better the more time you devote to it.
    My chemist friend managed to land his first programming job three months after he started learning the skill because to his perseverance. He had no prior programming expertise. He did a lot of hard work to obtain this, not because he had a fantastic teacher. He learnt how to use Google and obtain important material on his own, which helped him advance.

  7. Repeat step 2-6 for week 3, week 4 and so on.

If you adopt my strategy, you will control your learning in a few areas, including time management, the list of syntax you write down for learning Python, learning goals for machine learning (follow the course), and the type of answer you desire (whether it is a way for you to find out more on your own, or just a direct answer).

Please be patient with the progress and be at ease while you are learning. Make the most of the online resources at your disposal, and for this specialty, experiment more to hone your skills in both developing functional code and diagnosing broken code. Both are necessary for your upcoming career.

This is the advice I can provide you right now, but there is one thing I am unable to do, namely tell you what a learner should do at each step—for example, which website to visit or what skill level to master. I would still respond, “No, I can’t be that detailed,” even if you asked me again. I think every learner needs to find their own way and decide for themselves what to do next. The best time for you to begin developing your own learning management practice is right now because you are learning the fundamentals of ML, and because it is fundamental, more resources are available online, making it easier for you to find them. This will enable you to direct your own path to greater success, so please make the most of this wonderful opportunity.

Good luck @Tarique_Abbass :slight_smile:
Raymond

11 Likes

I cannot thank you enough Raymond for the time you spent in guiding me. I am more than grateful, hands down.

One of the most practical suggestions you gave was to take the courses in parallel. I have decided to take two free courses in parallel with Supervised Machine learning, and am mentioning them here so that if there is any other fellow student struggling to make sense of the MLS curriculum, might benefit from this thread.

I will be taking Harvard’s CS50 with python and Berkeley’s Data8 in parallel with MLS-1.

All the three courses are pretty rigorous but with exceptional pedagogues. For me the easiest of the three courses is MLS-1 because I believe I have reasonable background and aptitude in Mathematics. And the other two courses would pose challenge because I am not that good in programming.

I once again thank you Andrew for being so kind. Rarely have I seen such altruism, especially in the cyber world.

Regards,

Tarique

2 Likes

You are welcome Tarique. I can see that you are having a good start, I wish you good luck in your learning journey!

Cheers,
Raymond

2 Likes