>>13116550Okay, as an electronic engineer, I have an actual curriculum I have built for myself, and can personally vouch for.
First, you'll need to learn about basic electronics: transistors, how to build logic gates, memory gates, latches, state machines.... etc. This is the very basics of what computation is.
You don't need much circuit theory knowledge for this, just a few youtube videos.
Books:
>Digital Design: Principles and Practices by WakerlyBig brain time, motherfucker! Do all the exercises and implement them into VHDL/Verilog. Once you've finished the book, make your own virtual CPU in whatever language you chose. It's not as hard as it sounds, I built an Arithmetic unit in 8 hours (obviously propelled by necessity, it was the final project).
Afterwards, buy yourself one of these babies and start reading this book:
https://www.amazon.com/-/es/Aideepen-programación-Emulador-Downloader-STM32F103C8T6/dp/B07WRL3DF8/ref=sr_1_3?__mk_es_US=ÅMÅลฝÕÑ&dchild=1&keywords=Stm32f103c8t6&qid=1620799022&sr=8-3Buy whatever else you need as well.
The book is:
>Computer Organization and Design: The Hardware/Software Interface (get the second edition that uses ARM assembly, as MIPS is completely useless now a days).You might also want to check out: The art of assembly programming. That's an x86 book, very useful if you want to work with assembly. However, the future of x86 is uncertain, and the other book will teach you the same concepts.
Do all the projects, and test out your knowledge of microcontrollers by making simple things like electric weighing scales and calculators (you'll find the material on amazon).
There. You now know how computers work.
From here you can either continue down the hardware autism rabbit-hole (go to BenEater's channel for more projects), or start learning to code.
I recommend you become familiar with some discrete math before hand, but it's completely unnecessary.