I was a TA for a CS program that taught C-with-classes C++, and I have to disagree. C was <i>far</i> too low-level for the students. In a course where you&#x27;re just trying to teach the basics of flow control and translating a program into code, the foibles of C — from what a segfault is to trying to explain why you must read <i>past</i> the end of the file to get an EOF — just get in the way.<p>Since someone always brings it up — I do believe as some point students should be exposed to a low-level language that doesn&#x27;t to GC to expose them to memory management. Just not as a <i>first</i> language. I&#x27;d rather give them Python to start, let them get their feet on the ground and somewhat comfortable with it — give them success to start and hook their interest. C just tended to defeat the students, and needlessly. I spent so much time explaining things that to them must have felt like a rocket scientist telling them why their water bottle rocket exploded into flames on the pad.