EDIT:
Looking up the course you mentioned it seems like it's intended to cover similar terrain as Nand2Tetris but doesn't have nearly as much material available or a reasonable timeline. Is this https://github.com/geohot/fromthetransistor really all he has posted? I'd definitely recommend Nand2Tetris first, it consists of 12 projects. It can be reasonably completed in 12 weeks of part time effort and then you can take that as a jumping off point into fuller treatments of the topics that catch your interest or where you find yourself with an obvious gap in knowledge.
Also this concerns me:
Section 4: Compiler: A “high” level language -- 3 weeks
- Building a C compiler(Haskell, 2000) -- A bit more interesting, cover the basics of compiler design. Write in haskell. Write a parser. Break this into subchapters. Outputs ARM assembly.
- Building a linker(Python, 300) -- If you are clever, this should take a day. Output elf files. Use for testing with QEMU, semihosting.
- libc + malloc(C, 500) -- The gateway to more complicated programs. libc is only half here, things like memcpy and memset and printf, but no syscall wrappers.
- Building an ethernet controller(Verilog, 200) -- Talk to a real PHY, consider carefully MMIO design.
- Writing a bootloader(C, 300) -- Write ethernet program to boot kernel over UDP. First thing written in C. Maybe don’t redownload over serial each time and embed in FPGA image.
That does not seem like a 3 week project to me if you've never written a compiler or linker before. Especially given he provides (from here) no other material or guidance and you end up using 3 separate languages. "basics of compiler design" in less than 3 weeks along with "if you're clever, this should take a day"? And an ethernet controller, and a libc and malloc, and a bootloader?If you know Haskell enough to make a compiler, Python enough to make a linker, C well enough to make libc + malloc + a bootloader, Verilog well enough to make an ethernet controller all in three weeks, then you don't need this "course" at all. Just the C compiler in Haskell part is a semester long academic course, and rarely actually results in a full compiler with a teacher setting the pace (with assignments, quizzes, and tests).