How much low-level knowledge does a programmer need today? There's an old-school approach to computing that starts with explaining binary, then goes on to gates, progresses to a full adder, and goes on to an entire arithmetic unit. Few people need that today.
But they probably need to know too much about CSS selectors. Statistics is becoming more necessary to programmers than binary logic. Programming today is following an endlessly churning mess of APIs.
(Today's grumble: the author of the serial port library, "pyserial", decided to change the API so that baud rate is set by "ser.baud = N" instead of "ser.setBaud(N)", breaking existing code. This isn't progress, it's faddism.)