Yep, I did nand2tetris on Coursera and it really filled in my intuition for how computers work. It felt like a black box, going from "logic operations" to "the machinery that allows you to write a hello world function that does something", and nand2tetris filled in that gap, building up from how you can persist addressable memory, to how you have a cycle for executing instructions, to how you can have control flow work calling functions and remembering where they came from, to how high-level languages can be translated into low-level code. Very enlightening!
Computer Systems: A Programmers Perspective by Randall Bryant and others provides a perspective of the same from point of view of building software, and is especially enlightening.