The Nand2Tetris coursera course starts on June 4th. It's actually split up into 2 courses. The first course starts from the bottom with boolean algebra and logic gates, and goes on through things like memory, machine language, and assemblers. The Part 2 course builds off the first one and focuses on building a low-level language, then a higher-level one, and even a mini operating system. Both courses have very high reviews on coursera, and assume no prior knowledge on programming, so anyone can learn.