← Back to Home

A Coding Workshop

February 02, 2023

Personally, I still find myself to be an average programmer. Not the best, not the worst. Right now though, I want to really improve myself to the point where I would feel that I would be good enough to teach others the skill which brought me so many opportunities in my life.

I think starting with the motivation of learning programming is important. This is not something that can easily be mastered in a few months. This skill takes years to hone, and without truly applying them to real-world settings, it would be difficult to find the right challenges to improve.

Where to begin? Let’s first start by going through how we should think about software in the first place. A piece of software, or program, simply tells the computer what to do. You are the captain, and your computer is the ship, moving only in the direction you tell it to. The interface between yourself and the machine, the act of steering, is what we would call programming, or writing source code as it were.

What makes this distinction critical is that most of us would not be able to comprehend, right down to the hardware level, how a ship exactly works. We would use analogies to break down different systems, and train captains and crewmen on control interfaces to manipulate information passed to different systems to move the ship. In essence, we use abstractions to understand the changes within our machines, and these abstractions help to cut down the information overhead to control the overall system.

The first deep dive is that computers are electrical machines which can remember previous states. With the ability to temporarily store data now & retrieve data later, we are able to do basic arithmetic by cleverly taking advantage of the delays in doing so. Modern computers all begin with this data manipulation using binary representation of numbers, due to the nature of how the smallest unit of computation works, which are transistors.

Transistors will be covered in a later post, but they are essentially electrical switches that are able to store their on or off state when a current or voltage is passed through it.


Khairul Iman © 2020 - 2023, Built with Gatsby
All content posted are my own personal thoughts and opinion, and do not represent any associated employers or organisations unless otherwise stated.