Dec 20, 2021
Summary: I Agree.
To learn programming, one must learn how the infrastructure (hardware and OS'es) work at the core. That way a student will understand the limitations of the machine and how to overcome them in case needed, intuitively.
I think starting with C language will be very productive since it will be possible to teach CPU, threads, processes, heap, stack, ports, isr's etc.