My journey to learning how to turn my car into a self-driving automobile — Day 3

Day 3–1st Dec 2020 —Finishing up on the basics

Yesterday I begun teaching myself core Python fundamental concepts (or as I liked to call it The abyss of boredom). As planned today was meant only to finish up the second part of that module.

For those of you who just pick up this post (first, you should check out the previous two ones Day 1 and Day 2) I am on my 30/60/90 day journey to make my car drive itself. To do this I will firstly start with a Udemy course on Self-driving cars. This course teaches some Python and NumPy fundamentals. These are imperative in the proper understanding and utilisation of the much more complex later modules, such as Perception, Deep Neural Networks, Behavioural Cloning, Convolutional Neural Networks, etc.

Now do I know what all those terms mean yet? Of course not, after all, that is why I am taking this course. What is tangible though, is that today I finished the Python module as planned.


It was not an easy task to finish up the module. As mentioned yesterday -quite repeatedly if you ask me- this module, although monotonous and far from stimulating, will play a significant part in my proper apprehension of the later modules. In other words, the lack of syntax knowledge is the last thing I expect to stumble upon in this project.


Python is a straightforward general purpose programming language. Compared to C++, C# or Java, I can say I wish I would’ve learnt programming with a language like this -although JavaScript is not too far from it if you take the curly braces out.

It is weekly typed, meaning you don’t have to prefix variables, the compiler infers them. It relies on indentation instead of curly braces, which in my opinion it can make the code cleaner -so far- and it reduces the overall visual weight.

It’s important to note, at this stage nothing exciting will happen, at least not as part of this project. Should I have been more familiarised with Python and NumPy, I would’ve worked on finding lane lines by now.


I often times find myself reflecting on my ability to learn. There are, in my opinion, two main types of learning -I’m sure there are more, but for the sake of the argument, bear with me:

The chaotic learner, the nerd and so cold prodigy, who lives in a messy room/dorm can read a philosophy novel in a day without exceptional effort. They have this innate ability of picking up something new that struck their attention and drill to the deepest of its complexity without uncertainty. Should they get stuck, they find, by any means possible, as much information as possible about the subject, making their understanding even stronger. They are more likely -and this is only my opinion, from past encounters- to find what they love early in life in fact. They become disciplined on the matter, only as a consequence of their passion for it not as a precursor.

The regular learner, they evolve a genuine enthusiasm for a discipline only after years of hard work and discipline. They habitually find it hard to stick to something in particular, this comes as a consequence of their inability to be pleased easily. They are methodical, well organised and chaos frightens them. They, on the other hand, prefer to take their time for learning something new. I subscribe to this category.

Now as a conclusion to this, there could be exceptions to the two types of learners I just presented, but after all, we are living in a world built on duality, chaos and order.


Tomorrow I will be starting on the NumPy fundamentals module. This is the second and last fundamentals module I’ll take as part of this course. I do expect this one to be more interesting, and I am looking forward to it.

Will be back tomorrow with more updates!




Programmer as a job, curious as a passion

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

The new evergreen Googlebot

Beginning with WEM

Isometric Camera Angle Control in Unity

Solved — json.Marshal(): json: error calling MarshalJSON for type msgraph.Application

Perseverance In Automation

API3 Core Technical Team Report, April 2022

Proxy VS Reverse Proxy Server

Creating 3D worlds with HTML and CSS 🌪

A SCREENSHOT OF AN UNLIT ROOM Creating 3D worlds with HTML and CSS.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Iulian Oana

Iulian Oana

Programmer as a job, curious as a passion

More from Medium

Scale-free communication / Consciousness / AI / Universe

Introduction to Self Driving Cars

Quantum Computing’s potential for Automotive

Quantum Computing