Hi karmic,
First of all note, that this forum is connected with "The Elements of Computing Systems" book and the site
http://nand2tetris.org. It's not the official forum for the coursera course.
That said, the course is based on and (I think) closely follows the material in the book, so you may find answers to your questions here as well.
I'm not sure what corresponds to week 5, but the book generally proceed in the following order. You build:
1. hardware
2. assembler
3. virtual machine (vm)
4. compiler for a high-level language called Jack
5. operating system
What you describe is part of the operating system. While you can develop it directly in assembly (no need to go to machine language), in the book it's developed in Jack. I think the main reason is, that the HACK machine language and assembly are very low-level and it will take a lot of effort to develop in it. Even translating the vm instructions to assembly is quite hard to do without making mistakes, let alone writing a more demanding program in it.
Also, you want to provide this functionality to other programs, so it makes sense to put it in the operating system. It has its own calling convention, memory management, etc. which you'd have to write in assembly again. Jack is designed in such a way as to give you direct access to the memory, so you can write all of the OS in it.
If you want to write in a lower-level language, I'd suggest to use the vm. Although it's stack-based, it's still closer to what you can find in modern machines. Alternatively, you can add macros to your assembler (what is known as
Macro Assembler) to enable you to program in a bit higher level.