My journey to learning how to turn my car into a self-driving automobile — Day 2
Day 2–30th Nov 2020 — The abyss of boredom
Yesterday I decided to go plunge myself on a journey to turning my car into self-driving. I begun by laying out my thoughts, goals and requirements for successfully finishing the project. Over the past weekend I read some articles on this subject to familiarise myself with the level of difficulty, and the necessary resources needed.
After a few searches, I found there are quite a few courses online, expensive, cheap and free.
First and foremost, the famous Udacity and Coursera courses/specialisations, with prices ranging from hundreds to thousands of pounds. I thought I’ll have to invest quite a bit only to acquire the necessary base knowledge. Turns out you can find the mp4s, PDFs and datasets for those courses on GitHub. Not that I particularly recommend it, but we live in a world where free content is a few clicks away (use a VPN kids).
Secondly, and the route that I took, I found an 18 hours course on Udemy, teaching about self-driving cars for all levels, with little to no ML/Python experience. Side-note: It’s incredible how nowadays, for the price of a coffee and a beagle, you have complete ownership over a bank of knowledge and resources, waiting to be picked up and used as a hobby or even career.
So I started this Udemy course, that teaches a multitude of concepts I have never heard of, but I’m more than excited to see what are they about.
You may wonder why don’t I skip over that module, well in short, because I’ve never written in Python. When I take on a course, it’s safe to say the lecturer presents concepts, in the first modules, that will be used in later modules. If there are some small assignments or tasks I like to memorise the syntax as much as I can. I do this by streaming at x2 speed and writing at the same time. I pause where there’s something new/different/interesting.
So today I’m still half-way through the Python abyss of boredom. Learnt about basic data types, built-in functions, and some basic operations.
As a code editor I just installed Atom, just because it’s cool and free. I’ve never used it so I’ll see how it goes. I used to use VS Code and Visual Studio but I’ll give this a try anyway.
For being able to write/use Machine Learning algorithms I installed the Anaconda Distribution for Windows (I use a Windows pc). The individual version is open-source and completely free, which I think is really nice for them to provide it like this. Doing this step also installed Python 3 and plenty of other packages needed for this.
As a text editor/compiler I also use Jupyter Notebooks (comes with the Anaconda Distribution). This is a cool tool to write your Python code compile it and execute it without switching context.
Tomorrow I plan on finishing the crash module on Python basics, to begin the NumPy module. NumPy being this enormous Python library that enables access to a bunch of ready to go complex mathematical functions and multi-dimensional arrays and matrices (I’ll probably be better at explaining what this is when I get to experiment with it).
That’s all for the day, I’ll be back with more updates tomorrow, when I’ll be hopefully out of the abyss of boredom.