assembly a "buzzword"? lol...dont know about that. I mean...all you need for it is a rough high level idea of how your microprocessor works and list of all the instructions. And when you dont understand something you can go and bugg DaWei in programming forums

That will do for application level programming. If you need to design systems or whatever, you might need some extra indepth knowledge of interrupts and timers and some other proessor specific stuff which I dont see "buzzing." Its just like programming in php. I reckon everyone should learn assembly (whichever processor) first before attempting high level languages so they actually understand things like "pointers" and "classes" and "functions" etc properly like they should. Assembly is ok but I dont suggest they study microprocessor design first. Otherwise they will b like me and go "everything is too slow" or "omg...this 1 wastes3 clock cycles more" or "my program just got 5 times slower with that extra line of code"