UCB's CS162 - https://cs162.org/
MIT 6.1810 - https://kaashoek.github.io/65810-2023/
These were tablestake courses that teach you the basics of OS and Systems Development (eg. Synchronization, Scheduling, etc).
After you understand that, then you'd start digging into HPC classes AND then ideally go into ML.
At least, this was the workflow and mental model I followed a decade+ ago.