INFO: Top Python Courses for Data Science

If you have stumbled upon this post looking for online Python courses for beginners, or Python courses for advanced users, you may visit their respective links. This post is directed toward the specific tracks for data science and data engineering.

Are you still in doubt if pursuing data science is not for you? This chart should convince you. The chart below shows interest on data science as tracked by Google itself.

Data Science Trend in Google

Play around with the chart and see the world's interest for data science. As with the "Diffusion of Innovation Theory", there are five (5) major groups at any point in time. We're at the stage where the "early adopters" have tipped the scales -- meaning, the movement has begun. (NOTE: If you're not familiar with the Diffusion of Innovation Theory, there is a link to a reference at the bottom of this page.)

Data has become the new oil, and it is up to you and I to mine it. The following courses will help..

[1] Python A-Z: Python for Data Science.

This course assumes you will jump from beginner (or even having no background at all) and go through the journey of using python for data science. Since it uses a step-by-step approach, you will not be overwhelmed. It also uses real life scenarios of how to tell a story using data translated into visual form.

[2] Python for Data Science and Machine Learning Bootcamp.

If you want to skip the courses for Advanced Users and head straight to data science targetted courses, this is for you. It goes through all machine learning algorithms -- classification, regression and clustering, then goes further into neural networks and deep learning. If you are into TensorFlow or interested in diving straight into it, this course is recommended.

This course got me interested in Python and Spark (PySpark) for Big Data, which is like Pandas on steroids.

[3] Machine Learning A-Z: Hands-On with Python & R.

Training under this course took me the longest time to complete. It is intense as it tackles the theory part first, then moves into not just one but two programming languages, when applicable. Both Python and R are used for machine learning algorithms. The instructor also uses a different IDE -- spyder -- which is quite interesting.

Toward the later part of the training you will be exposed to Artificial Neural Network (ANN) and Convolutional Neural Network (CNN). It is exciting to see how these deep learning techniques are deployed using just a few lines of code.

[4] Deep Learning and Computer Vision A-Z: OpenCV, SSD and GANs.

This course is very interesting. It will demonstrate how computers are taught to perceive the world. And will explain how self-driving cars are made aware of its surroundings. It is quite difficult to describe the experience but if you have got the time (and budget), don't miss taking this course.

Lots of valuable techniques abound from the above courses. They vary in application too. And if there are no barriers to learning from them, my suggestion is to take them up one at a time.

RELATED: Top Python Courses for Beginners

Are you now convinced that pursuit of data science is worth it? At this point, it is clear to see that Python is really a powerful and useful programming language to learn and master. This will really benefit you at the same time equip you for the data science challenges you may face in the future.

Diffusion of Innovation Theory.


INFO: Top Python Courses for Advanced Users

In order to jumpstart skills for data science, I listed recommended python courses for beginners. The list contains several courses specially designed for beginners. Now that you are quite equipped with the necessary Python skills, it is time to up the ante.

I have compiled a list of suggested courses for advanced users below. These are specifically targeted and geared toward a career in data engineering and data science. These are the product of my training experiences and I have found these have provided significant learning and coding value for time (and money) spent.

As mentioned, I myself am a product of composite Udemy courses. It follows that these are from Udemy as well. On with the list..

[1] Data Analysis with Python and Pandas.

Building a training track for data science or data engineering, Python Pandas library is a must. Pandas, otherwise known as Python Data Analysis Library, is a library designed to manipulate and transform datasets with ease. It is designed to read from a variety of input formats, from structured to unstructured, as well as write it back to various formats.

Pandas strength lies in the flexibility to add columns, transform a dataframe to turn it as an input for visualizations or machine learning training and test sets. To make the story short, mastery of the pandas library is a data scientist's pride.

[2] The Complete Python 3 Course: Go from Beginner to Advanced!.

Data visualization is part of Python. Libraries are available to provide the functionality. That is discussed in depth in this course.

Pandas is built on the Numpy library. To compliment your mastery of Pandas, this course is a good tandem. Another skill to master is Regular Expressions, or regex. That is the last module to be discussed in this course.

[3] The Complete Python 3 Course: Beginner to Advanced!.

Not to be confused with #2 above. They are distinct courses.

What I liked most about this course is its practical approach. It dives into "projects" involving real life applications of Python. Django is also part of the curriculum. And the last project involving speech recognition and artificial intelligence is what I enjoyed most. Talk about saving the best for last!

These courses are what I found to provide the valuable modules that provide long term benefits and coding examples that you could use and re-use. Not only is Pandas used for extract, transform and load (ETL), but also for visualizations and projections to a map. These techniques will be applicable to day to day data analytics.

Some of the lessons in the beginners courses are reviewed in these courses. That just goes to show how important it is to go back to the basics. After taking the courses listed here and you find it a bit difficult to absorb the lessons discussed, take time to go back to the beginner courses. Remember, you may access the course again and again.

Also, having real world examples really invoke one's interest in pursuing learning Python. Some of these courses don't only contain practical approaches to data science and data engineering, they also tackle applications outside of that field.

RELATED: Top Python Courses for Beginners

You can always go back to these courses, including the basic courses, for reference. Udemy provides lifetime access to the courses enrolled. Next list will contain courses specifically directed to a data science and data engineering career -- for hardcore Python coders. Stay tuned.


TWEAK: Specify UserName to a KiTTY (or PuTTY) Session

As a *nix sysad, 99% of the time I work on terminals. There are a few exceptional scenarios where I would sit in front of a SunOS terminal and work on the console itself. In that 99%, SSH sessions are almost always the protocol involved. And as the workstations issued to *nix engineers are Windows-based, the SSH client of choice is either PuTTY or KiTTY.

They are basically the same in functionality and overall usability. I prefer to use KiTTY for the added functionality of being able to drag-n-drop a file to the KiTTY window to execute an SCP of the dropped file to the remote host, provided that pscp.exe or kscp.exe are in the same folder as the kitty.exe executable.

Both software can save sessions. And did you know that you can tweak the saved session so that you no longer have to key in the username for the specific session? Sure you can! And I will show you how.

In this example, I will use the KiTTY to connect to my Raspberry Pi with an address of Normally, I would only save the IP address of the remote host, as shown below.

SSH Session

Then, down on the "Connection" > "Data", I would input the auto-login username.

This is where the tweak comes into play, as you can actually skip putting the auto-login username, and simply place that same username as part of the IP address or FQDN of the remote host, separated with the "@" sign, as shown below.


Launching the KiTTY (or PuTTY) session, you will only be asked for the password. And, if you are running pageant.exe with the corresponding private keys for the remote SSH server, a password-less SSH session is started. It saves you a lot of time having to repeatedly input usernames for future sessions to the same host.

RELATED: Password-less SSH Windows to Linux

Despite the added functionality of KiTTY, PuTTY still ranks higher up in terms of usage. Give KiTTY a try if you want to try out the added functionality mentioned above.


INFO: Top Python Courses for Beginners

I am often asked which online course has helped me hone my Python skills. If not that, what do they take up to start a career in data science. To me these two questions are almost one and the same. Python skill is a necessity in data science. And a good foundation goes a long way.

I have gone through a bit of training myself -- lots of them are trial and error. But let me save you from that experience, and list down the trainings that I found have benefited much and at the same time enjoyed the sessions, and most of all gave me value for the time (and money) spent. If you consider yourself a beginner in Python, these are for you.

Complete Python Bootcamp: from Zero to Hero

My Python training experience is from Udemy. They offer lifetime access to the training materials, even updates made by the instructors. You can complete the courses at your own pace. Also, certificates are given out to students upon successfully completing the training. The course list below takes those into consideration. With that, let me enumerate the list..

[1] The Complete Python BootCamp: Zero to Hero.

This is by far the most comprehensive beginner course that benefitted me. It is also the most complete and the discussion is detailed and structured. Finishing this course makes you prepared to take advanced courses. This has my highest recommendation.

[2] 30 Days of Python | Unlock Your Python Potential.

This course is designed pace your learning program one-day at a time. You will learn a lot in this course, especially the aspects of web scraping and interactions to external applications like twitter. The description of the course is really interesting and will poke your interest just by reading through it.

[3] Python - A to Z Full Course for Beginners.

From this course, you will learn to handle exceptions (an advanced lesson). If you are not familiar with a particular IDE (integrated development environment), the instructor uses "Sublime Text" and runs Python code within the interface. That, including syntax highlighting and autocompletion are very useful tools for beginners.

[4] Python 3.6 for Total Beginners.

This course was not available when I started coding in Python. This is also a good course to start with. The instructor will introduce you to jupyter notebooks. This for me is a big plus, if you want to jumpstart your coding prowess. Best of all, this course is FREE!

There you have it. My top Python courses for beginners. This is very short and concise. The basics of Python are discussed in depth in the courses above. You will be equipped to take advanced courses, completing any of them. Should you choose to take more than one, go ahead. A summary of the advantage of each course is included, in order to compare them with each other.

RELATED: Install Adblock on Raspberry Pi via Pi-Hole

If you got suggestions or you have found another course that has helped you in developing coding skills when you were still a beginner, share it with us. I will share another list for advanced users soon..


TWEAK: Secure Jupyter Notebook with Password

In the previous post, PySpark and Jupyter Notebooks, we got PySpark (Spark Python Big Data API) and jupyter notebook to work in tandem. Thus, we are now able to leverage the power of Spark which is massively parallel processing (MPP), thereby utilizing all cores of the server (or cluster). Execution can scale across several cluster nodes as you want, and as many cores as you want. It is worthy to note that it doesn't necessarily require Hadoop to run.

If you can recall, the execution of [jupyter notebook] with an open IP address showed: WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. Indeed, while running this on the internal network is acceptable, it does not conform to best practice.

This "might" be acceptable for an internal development setup but is more critical for a public cloud setup. Note that "might" is not acceptable for production notebook servers. So it is better to address the issue.

For added security, let's password-protect the jupyter notebook so that only user's that know the password are able to use the pyspark setup. On the terminal, execute [jupyter notebook password]. Input the password, and repeat when asked.

jupyter notebook password

This protects the jupyter notebook with a password, to keep unauthorized users from incidental access. However, packets are transmitted in plain-text and could be sniffed. The next half of the procedure, solves this problem and completes the resolution of the WARNING message.

Generate the needed certificate for use with the jupyter notebook server. Execute [openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout jupyter.pem -out jupyter.pem] to create a self-signed certificate. The command will ask for other details, that's up to you to fill out. I would move the cerfiticate inside the .jupyter directory, so in this procedure that will be considered.

Recall, that we added several lines to the generated jupyter notebook configuration (/home/user/.jupyter/ In that same file add this line:

c.NotebookApp.certfile = '/home/user/.jupyter/jupyter.pem'

The modified configuration encapsulates traffic between the jupyter notebook server and the browser in SSL encryption. And it solves the WARNING. All that needs to be done is restart the notebook application.

RELATED: Set-Up PySpark (Spark Python Big Data API)

Notice that the token is not required by the connection to the jupyter notebook server. This is due to it being protected by password and encapsulated in SSL encryption. This should set you up with a working PySpark installation for multi-threaded data crunching. Next up, let's solve this issue using SSH tunnels instead.


Subscribe for Latest Update

Popular Posts

Post Labels

100gb (1) acceleration (1) acrobat (1) adblock (1) advanced (1) ahci (1) aix (14) angry birds (1) article (21) aster (1) audiodg.exe (1) automatic (2) autorun.inf (1) bartpe (1) battery (2) bigboss (1) biometrics (1) blackberry (1) book (1) boot-repair (2) calendar (1) ccleaner (3) chrome (5) cloud (1) cluster (1) compatibility (3) CPAN (1) cydia (1) data (3) ddos (1) disable (1) discount (1) DLNA (1) dmidecode (1) dns (7) dracut (1) driver (1) error (10) esxi5 (2) excel (1) facebook (1) faq (36) firefox (17) firewall (2) flash (5) free (3) fun (1) gadgets (4) games (1) garmin (5) gmail (3) google (4) google+ (2) gps (5) grub (2) guide (1) hardware (6) how (1) how-to (45) huawei (1) icloud (1) info (4) iphone (7) IPMP (2) IPV6 (1) iscsi (1) jailbreak (1) java (3) kodi (1) linux (28) locate (1) lshw (1) luci (1) mafia wars (1) malware (1) mapsource (1) memory (2) mikrotik (5) missing (1) mods (10) mouse (1) multipath (1) multitasking (1) NAT (1) netapp (1) nouveau (1) nvidia (1) osmc (1) outlook (2) p2v (2) patch (1) performance (19) perl (1) philippines (1) php (1) pimp-my-rig (9) pldthomedsl (1) plugin (1) popcorn hour (10) power shell (1) process (1) proxy (2) pyspark (1) python (12) qos (1) raspberry pi (7) readyboost (2) reboot (2) recall (1) recovery mode (1) registry (2) rename (1) repository (1) rescue mode (1) review (15) right-click (1) RSS (2) s3cmd (1) salary (1) sanity check (1) security (15) sendmail (1) sickgear (3) software (10) solaris (17) squid (3) SSD (3) SSH (9) swap (1) tip (4) tips (42) top list (3) torrent (5) transmission (1) treewalk (2) tunnel (1) tweak (4) tweaks (41) ubuntu (4) udemy (5) unknown device (1) updates (12) upgrade (1) usb (12) utf8 (1) utility (2) V2V (1) virtual machine (4) VirtualBox (1) vmware (14) vsphere (1) wannacry (1) wifi (4) windows (54) winpe (2) xymon (1) yum (1) zombie (1)