we have three CS programs. Roughly speaking generic CS, CS for information management (database/accounting/etc) students and CS for software engineering. Everybody is required to take CS-I and CS-II.
The class I was TAing had kids from any one of the CS degrees. I don't think it had (hardware) engineers, since they have their own programming class by a separate name in a separate building.
I am biased towards having CS people know how things work in theory. In particular if they are taking the CS-I and CS-II courses that teach this stuff, I'd like them to know how to delete an element from an array instead of just knowing the high level "vector" way or doing it.
I see the merits in your point of knowing just the high level, without burdering yourself with details, but I also see the demerits of just knowing the high level if you are studying to be a programmer who will actually write any decent code. Even if you're never going to actually write the details, it still helps to know about them for algorithmic, performance or other reasons. |