C/C++ didn't truly click for me until I had learned assembler. (Helped my understanding of every other language too.)
For instance, in assembly you push/pop from stack, or you move things into the registers and from memory, you will have to deal with memory address, etc..
So he will learn the most important background about thinking in C, like stack vs. memory allocation, and what pointers really are under the hood (the memory address of a thing)
You can always go one level down, but I would hardly say you need assembly for c or c++.