I like to learn with project-based courses. The practical approach works well for me. It helps me stay motivated. I also like to work on something tangible.

That’s why I’m glad that I found the nand2tetris course.

The course has a website that contains all the lectures, slides, and exercises.
You can buy a book for the course, or you can attend a Coursera course (audit for free).

nand2tetris helps you to build a general-purpose computer system from the ground up.