2021 Challenge 1: Learning to program in Python

2021 Challenge 1: Learning to program in Python

What is Python and how will I learn it?

Python is one of the most popular and fastest-growing high level programming languages today. It is used not only by Software Engineers but also Data Analysts, Mathematicians, Scientists, Accountants, Network Engineers, and even kids, as Python is a very beginner-friendly programming language. 

Python can be used for data analysis and visualization, artificial intelligence, machine learning, and automation. You can build web apps, websites, cross-platform mobile apps, and desktop apps. You can do (automated) testing and even hacking with Python. You can solve complex problems in less time with fewer lines of code than other programming languages. Python has a huge community and a large ecosystem of modules, which makes it a lot easier to solve complex tasks, as you don’t have to reinvent the wheel. 

“That is fine for you, Georg. But what’s in it for me?”

Well, I will build tools for this blog in Python as well. As you can see below I already added an automated P2P article news listing using web scraping. As many of you are also interested in trading stocks and doing technical analysis, I will definitely also create a few tools for automating stocks analysis and algorithmic trading. Python is excellent at predicting future outcomes, based on large amounts of historic data. I already did a script for stock analysis using 
Mark Minervini’s Trend Template, but it is ready to be shared yet. Besides, as Python is a high-income skill, learning it could enable you to boost your income significantly, leaving you with more money to invest. 

I am using a minimum of two hours a day using video resources, interactive exercises,  and several online learning portals to learn as much as possible about Python, ML, AI, Data Analytics, and Data Science. I will share some of the things I build along the way together with the best resources I come across. (Update: As I am really getting hooked on programming in Python, it is hard to stop after just two hours. This many times results in sleepless nights of coding. I just can’t help myself. It is so much fun).

06-05-2021 - Finished the Data Analyst with Python Career Track

Another long line of courses and interactive exercises at Datacamp ended up in me completing another career track. I will now build on top of this with the Data Scientist with Python career track. 

01-05-2021 - Acing the Python Programmer assessment at Datacamp

I am doing pretty well compared to my peers in the Python programming assessment test, but it makes sense as I am also studying more than 99% of my peers on Datacamp according to the weekly statistics.
I will continue at this study speed until I finished all Python-related courses with the corresponding certifications. 

03-04-2021 - Finished the Python Programmer Career Track at Datacamp

Datacamp has a lot of courses Python courses aimed at machine learning and data science. Datacamp have five Python career tracks and I just finished the first one, “Python Programmer“. A great thing about this platform is that you don’t have to install, run or compile anything on your PC. Everything is available on the platform. The courses consist of a mix of video lessons and interactive exercises where you solve small real-life problems. The career track I am currently taking is “Data Analyst with Python“. Datacamp works on a subscription basis but they do offer some free courses if you want to try it out. When I have finished a course, I start training for the certification. 

02-03-2021 - Mobile and desktop apps with Kivy and Google Material Design

I think it is fun to create user interfaces. I spent some time learning the design language Kivy, which can be used together with Python code to create mobile and desktop applications. I also worked with KivyMD, a collection of design principles from Google’s Material Design implemented as a Python library.  Here is a short video of with a few interfaces and apps I created. If you want to build any of these apps, there are links to the free tutorials is in the YouTube video description. 

13-03-2021 - Real Estate Website including admin interface with Django

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It is fast, reassuringly secure and exceedingly scalable. It is used to build websites together with Python.  I found this Udemy video course to be very complete. I really enjoyed taking this course, learning all the basics of Django. 

During the course you build a real estate website, complete with admin interface to add and edit properties, realtors and users. Users can log in and make requests to the realtors about the different properties. You will also built search functionality and learn to cut up a static bootstrap template and integrate it with Django. 
If you are just getting started with programming in Python, the course include instructions on how to install Python as well as Django and even a chapter on the basics of the Python language. At the end of the course you will learn how to push your source code to Github and deploy your website to a web server. Super cool! 

05-02-2021 - Face detection and creating a video filter

It has been quite fun to play around with OpenCV, Dlib, and facial landmarks detection. I did several, and there is a lot of fun uses like detecting people’s emotions and recognizing a specific person in a picture. I used a pre-trained model and added some fun functionality to the code. 

You can find the base source code I started out with and installation instructions in this articleFor my additions to the code, go to my Python GitHub

27-01-2021 - Creating an automated P2P lending news listing with Python

Previously used hours every week to find and filter the best news articles for weekly news summaries on my blog. So one of the first things I wanted to do with Python, was to automate this repetitive and boring task. Using Python’s Scrapy module I created a searchable news listing that is updated daily – without me having to do anything! I have to say I am pretty impressed with the diversity of Python and how simple it can be to automate daily tasks or gather information to analyze by scraping websites or social media. 

If you want to do something similar, here are a few good and fairly easy tutorials:
Make a simple web scraper with Python and Scrapy (30-min tutorial)
Get real-time COVID-19 numbers via voice requests (1-hour tutorial)

17-01-2021: Learning Python through game developing

When I am learning something new, I always try to find a fun and entertaining angle to get started. Using the module PyGame you can quite easily develop some of the good old classic 2D games. I created several games from Youtube tutorials. One of my favorite channels is Tech with Tim. Tim started learning Python by developing simple games using PyGame and he has many easy-to-follow tutorials on how to create the games on his channel. Below is a video of the “Kill the Virus” game I made based on one of Tims’s tutorialsI added/changed the a quite a few things in Tims original program. You can download the source code from my Github to see more information on the changes I made and even play the game if you want. 

Leave a Reply

Close Menu