You might really enjoy working through the NAND-to-Tetris project. It will walk you through the development of an "entire" computer system starting with nothing but 2-input NAND gates and D Flip Flops. You'll build up all the hardware (albeit in emulation), develop the instruction set (consisting of all of 18 instructions), write some programs in assembly, write an assembler for it, develop a stack-based virtual machine, learn an object-oriented high-level language, write a compiler for that language, and then develop a set of operating system libraries to support the programs.@MaxHeadRoom I sorta kinda hoped I could steer around assembly, but your the second guy I talked to, who told me it was a good idea to have some understanding of it. Maybe my 8 bit computer project might help with that.
@MrSoftware Yet another example of knowing low level stuff is usefulBut I don't know any coding language at all, so assembly is pure gibberish, when I look at it.
The book that guides you through this is pretty readable and the projects have been very, very carefully crafted to be doable -- the course is normally taught as a one-semester course and has been taught at the high school through the post-graduate level (the difference being mostly the amount of hand holding involved).
It does, however, assume that you have some level of comfort with a high-level language, preferably object-oriented (as that matches the project setup that they walk you through). But you can learn that at the same time, if you want.