Hey there, #
I by no means expect you to share my same biases, in fact, I hope you do not and that at one point or another we can discuss why you think I am wrong, as that is the only way I can learn.
With that said, what is this exactly?
This is a guide for understanding the power the humble electron has in our lives. Electricity, digital logic, code, computers, embedded systems, these things are all around us every second of everyday. As I type this I’m wearing a smart watch, I have a smart phone in my pocket, and I’m using a desktop computer. Each of these devices contains dozens of smaller computers, power supplies, wireless interfaces, etc. My goal with this is to teach you how all of this works and how to use it from transistors to high level code to useful user applications.
I will be assuming you are of reasonable technical ability already- that is the concept of how to proficiently use most types of generic software like text editors, navigation of a file manager, etc- furthermore, I will avoid going into high level math, chemistry, and physics as much as is practical- mostly because knowing these things is typically not actually useful in the daily life of someone who works on any of this beyond those that are doing cutting edge research or are planning to teach, in which case you should actually go to college instead of reading this. For everyone else, welcome. This is the document which can save you going to college and taking classes full of useless information you will inevitably forget and for which employers don’t care about to begin with.
Following along will require a few things. The first of which is dedication and time. If you don’t have the desire to put in at least a little bit of work there is simply no way I can help, that said, if you’re reading this instead of watching Netflix I believe that’s already proof enough you want to learn. Next is hardware and software, namely you’ll be needing a few development boards and Linux, but I’ll get into those with time.
Before we get started there are a few things I recommend reading and watching first. These should give you a bit of an overview of some of the things that will be covered to give you at least a tiny bit of familiarity as each concept comes up.
While I will be covering a lot more than just Computer Science, I recommend this overview of the topics covered in CS: Map of Computer Science by Dominic Walliman
If you want to go though a really gentle introduction to a lot of what this guide will cover, This Crash Course: Computer Science series on YouTube is pretty good too.