I'm in an online degree program in mathematics in my forties and this temptation is very real. The LLMs have memorized every textbook and every exercise so it's easy to have the kinds of conversations that before I could only have with TAs during office hours, and skip the mental struggle.
At least in my most recent class, it's also wrecked the class discussion forums that I previously found very helpful. By the end half the students were just slop-posting entire conceptual explanations and exercises, complete with different terminology, notation, and methods than the class text. So you just skip those and look for the few students you know are actually trying.
> Pipelining, cache misses, branch prediction, multiple cores, even virtual memory are all completely invisible to C programs.
Are there languages where these are visible? Any time I've seen them discussed it's been in terms of writing C/C++/Java that understand how they work, e.g., the disruptor pattern padding variables to a 64-byte cache line.
> C teaches you an abstraction of computers based on the PDP-11.
Hmm, I'd wonder how a C designed today would look based on modern architectures.
At least in my most recent class, it's also wrecked the class discussion forums that I previously found very helpful. By the end half the students were just slop-posting entire conceptual explanations and exercises, complete with different terminology, notation, and methods than the class text. So you just skip those and look for the few students you know are actually trying.