Just as little experiment, as a part of a larger journey to try to understand how computers work, I started to learn the programming language C on my free time. I have only ever studied Japanese, linguistics and didactics… For a few months now, I have been able to make a program that prints various stuff on the screen using the commonly known function printf. This, of course, didn’t satisfy me at all, since this doesn’t tell me how the displaying of characters on my screen is actually happening. To make a somewhat forced comparison, I’m using a toaster to toast a slice of bread, but I have no idea how the heating strings inside the toaster become hot. In order to understand “the toaster”, I tried to dig up a piece of the source code responsible for making “my bread crispy and delicious”. Well…
Can something be DISHEARTENING and fun at the same time?


Our program required at least one electrical engineering course where we covered transistors and logic gates and solving circuits and stuff. Breadboarding and the like.
We had low-level hardware courses (memory architecture, assembly, etc.), then operating systems covered the hardware to software gap, with general programming, programming types/languages and overall broad knowledge on how algorithms and design patterns create and solve problems across the layers of abstraction.
A CS degree would be good for the dabbling in the EE with expanded knowledge of the layers of abstraction that build up modern software.