2021 Online-Learning List
Tags: tutorial, datascience, python, 100daysofcode
Published: 2021-02-06 16:19:12

#Intro#
The new year comes with the excitement to learn new things, specially in a dynamic field like software development. My new years resolutions for 2021 had some few items for programming. I wanted to work on: 
  * Mastering Python 
  * Building GUIs Using Python
  * Data Science 
As we all know, for the new years resolutions to stick beyond the first week of January, we need to make them SMART!
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bgoy4rw62seppcpdmxlp.jpeg)

I wanted to make programming part of my daily routine. Specially with quarantines and lockdowns, sitting on the couch finishing marathons of Netflix series, refreshing social media and keeping up with tik-tok trends made me go crazy. 


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/k69xnzeoii8qbszl5jew.gif)



Thus I have decided to register for 3 online courses on the topics above. Scheduling the time for learning by giving 2 hours a day per working-day and 5 hours during the weekend for the period from Jan till April 2021. Below are the courses I signed up for, with a brief on each, with my personal opinions on them, and some links if someone wants to get on board or just check them out. 


_The courses are sorted from the beginner level to professional level._


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8vy44zs221p0gbfrd1nk.jpg)

##I. 100 days of Code##

2021 did not seem like a bad year to finally get on board with #100DaysOfCode boat. I wanted to dedicate 1 hour a day for coding outside my job, dedicated to earning new things. That's why I signed up for the __100 Days of Code - The Complete Python Pro Bootcamp for 2021__ on Udemy.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/pzkhn0atind6twvnvfjs.png)

It it divided to four levels: Beginner, Intermediate, Advanced and Professional. The first two levels are super slow based for someone with a software development background but the rest are pretty interesting. It takes only one to one and a half hour every day, I usually watch the material while eating dinner, and have the problems at the end for dessert! This gives the feeling of fulfillment after crossing one day of my list of 100 days! 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jub8ucsknk0uu5481msl.gif)

####Learning topics:####
  * Building a small project at the end of every day, thus linking the learning material to real life applications 
  * A good dive into useful libraries like: NumPy, Pandas, Matplotlib etc..
  * Building GUIs with Python 

[Course Link](udemy.com/course/100-days-of-code/)

#####Cost: 20$ | Length: 60 hours on demand videos #####





##II. Python for Machine Learning & Data Science##
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/trizoza9dc93qlb65fuu.PNG)
It is another course on Udemy for Python, combined with Machine Learning and Data science concepts. It's called __Python for Machine Learning & Data Science Masterclass__.

Below are the topics that are covered in the course: 
* It has an hour crash course on python - perfect for a quick refresher and review - 
* A quick guide through the major Python Libraries NumPy, Pandas Matplotlib, and Seaborn Dara Visualization 
* A dive into statistics: Linear regression, Feature Engineering and Logistics Regression 
* Combining statistical concepts with code 

I personally found the course clear, concise and super efficient. I am enjoying my time with it, and it has fun exercise at the end of every module, which are a nice recap for the covered material. 


[Course Link](https://www.udemy.com/course/python-for-machine-learning-data-science-masterclass/)

#####Cost: 20$ | Length: 32 hours on demand videos#####


##III. Data Science and Big Data Analytics##
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/drcfbzvit0x3b1v3qdp4.PNG)

This course is part of MIT online learning professional courses, similar to edx material. It is called __MIT xPRO: Data Science and Big Data Analytics: Making Data-Driven Decisions__. As the first two courses were a bit for a beginner level, I wanted to pursue a more professional learning path. I was a bit hesitant for two reasons, first the cost and second the commitment that this course will require from me. It is a two hours session per week, each require 4+ hours of research, self learning and working on assignments. But since it was for 7 weeks, I could manage. 

I found the course very demanding, and require lots of time on self learning, specially if your background in not statistics, as it will take you extra time to google and learn the new terminologies. The learning style is more like college, with lectures and grading assignments. So far, I found the course a bit difficult to follow, and very demanding. I had to pause quiet often to search on my own, and what's given in the lecture requires lots of side reading. As the lectures only provide general headlines. Unlike the other two Udemy courses, where you follow a step by step coding exercises and then apply on your own some example. Nevertheless, it has been pushing my outside of my comfort learning zone, and I am excited for the outcomes and the added value from this course. 

####Learning topics:####
  * Regression and prediction
  * Classification, Hypothesis Testing and Deep Learning 
  * Predictive Modeling 


[Course Link](https://xpro.mit.edu/courses/course-v1:xPRO+DSx/)

#####Cost: 807$ | Length: 7 weeks #####




##Conclusion##

I am still going through these three courses, and I will be till April 2021. Perhaps by then I can write a second post on my learning experience and lessons learned from these courses, time management, and money for value. You might think that these courses are redundant, but I tend to learn concepts better when I get them from various resources. That's just how I am wired. Additionally, since the courses are of various levels, they somehow support each other and feed into one another, to make my learning path easier. 


##Questions##
Do you have any tips for me? Have you tried any of these courses or other online courses that you'd like to share or recommend? What are your thoughts on online courses for learning how to code? What is your style of learning? Books, courses, hands on projects ?


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5sdqbz75q323yk3ugb24.gif)

## Remark##
*You might think that online courses alone are not enough and you need to write code on your own. Well you are absolutely right, what I have been doing is that I have a dataset from my work, I've been experimenting with the various methods I'm learning on my dataset, and seeing some pretty interesting results.. which is super exciting, and these methods help see the progress I am making at my work.*