As a computer science engineering graduate, do I need to learn Assembly language in today's day and age?
Not knowing assembly is just fine UNTIL you have to debug something non trivial. 

Interrupt trampolines, interrupt entry and exit stubs, missing memory barriers before cooking off a DMA transfer, compiler bugs, compiler just plain being 'hard of thinking', are all things that are easily tractable if you can read the assembler output (And very hard to debug if you cannot). 

I would note that it pretty much does not matter which assembly language you learn, they are mostly pretty similar. 

Sooner or later your students are going to have to write a linker script (Maybe as part of some custom boot code), and vector tables and relocations are easier to explain in the context of assembly language. 

Also, it is not uncommon to build little special purpose 'CPUs' in a HDL to do some toy stuff in an FPGA or ASIC that is just a little too complex to be easily tractable as a classic small Moore or Meeley machine. Being able to design the opcodes for these really needs the designer to have written assembly language.

I would argue that teaching some minimal assembler first makes C pointers very easy, being as they look kind of like register indirect addressing, and pointer == address register is not wildly wrong.