4 ms·
What we need is a good separation between computer science, and computer engineering - as there is is a separation between physics as a science and mechanical o
by kristov 5y ago
What we need is a good separation between computer science, and computer engineering - as there is is a separation between physics as a science and mechanical or civil engineering. What this article laments is students coming out of CS with little practical know-how. But practicality/application is not a requirement from a pure science. Let the scientists do science, and the engineers do engineering. And stop making a CS degree a requirement for a software engineering job.
- rswail 5y agoThere is a 3 way split: Computer science is about conceptual development and research. It's learning what Turing-complete means etc. Computer engineering is about systems and processes and practical application of the concepts of CS. It's about things like why TLA+ is a good approach to developing safe and effective systems, it's about the SDLC generically and the potential different approaches and their cost/benefits. Computer programming is a technical skill. It's learning the specifics of a particular environment and language. Any CS graduate should understand programming, because it's a basic required skill, same for a CE graduate. But specific skills in Java vs C++ vs etc is virtually irrelevant to a grad getting their 1st job. It's also something that any student should have already picked up as a side effect of a competent CS/CE course. But does a CS grad need to know the difference between agile and Agile and iterative development and CI/CD and... I'd say no, because it's not particularly relevant to type theory or provability etc. It's also not particularly relevant to ongoing CS research. Our industry is well short of good CE graduates, because the focus is on the stupid details of languages instead of the conceptual grounding needed to actually engineer. Same with the dumb interviewing about reversing a list on a whiteboard. We've adopted the language of engineering, without the actual approach.
- Ekaros 5y agoTo me Computer Engineering should be about engineering computers. What runs on them is entirely secondary. Not really even involved, the people using the computer have to figure out how to develop that...
- MikePlacid 5y ago> Our industry is well short of good CE graduates, Are there any? My son had a summer job in a small recruiting firm in Silicon Valley. Customers (you know them all) had just two requirements: - a proper degree from top 10 universities; - 5+ years of experience in the field; All others need not apply (and there were so many of them - recent Berkeley/Stanford graduates…)
- Jcowell 5y agoActually it’s a 4 way split ! With the 4th being Software Engineering that addresses things such as Methodologies. This is most undergrads are really seeking.
- cerved 5y agoEven if your approaching computer science from a theoretical standpoint you're going to be using the computer. If you're able to do that efficiently you can try out ideas and concepts better and have a better learning experience. Question is if this should be taught as a part of a degree or of the onus is on the institution. I don't know. But these can be hard and intimidating topics to learn on your own.