I've learned basics in college. But the new languages gives a lot of abstraction. You don't have to understand everything at the root level.
It also depends on what you want to achieve. If you're into hardware coding, or much more system level programming, learning assembly will be good. If you're into web development, I find it useless