C is a language I'd like to see make a reappearance in CS curricula. It's great that most programmers today don't have to deal with memory management and pointers, but I think a CS degree should leave the student with a basic grasp of the full stack of programming paradigms.
I think a nice approach would be to start off with a high-level, functional language like Haskell or Scheme, and then move down the ladder of abstraction in subsequent courses, culminating in a hardcore C (or maybe even assembly) course.
I think a nice approach would be to start off with a high-level, functional language like Haskell or Scheme, and then move down the ladder of abstraction in subsequent courses, culminating in a hardcore C (or maybe even assembly) course.