Hey there, #
My name is Vega. I know there are plenty of tutorials and ways to learn online be it on YouTube, SkillShare, or online classes provided for free by various universities. The difference here is there is no content you’ll never use, it’s more entertaining than a text book, and there’s lots of bias as a result of personal experience. My views of things like what programming languages are bad or what hardware you should buy to learn on will be expressed directly and bluntly. This isn’t to say I won’t explain my reasoning, just that I’m not going to be apologetic when I say PHP, Java, Arduino (at least the 328p), and Windows 10 are trash - though I will still likely talk about all of these things.
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.
So, What is this? #
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.
A beam of electrons deflected in a circle by a magnetic fieldMarcin Białek, CC BY-SA 4.0, via Wikimedia Commons
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, while I will go into high level math, chemistry, and physics, I don’t think they’re strictly needed for every reader as 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 either of those cases you should actually go to college instead of reading this. For everyone else, welcome. This site aims to save you going to college, getting hundreds of thousands of dollars in debt, 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.