Hacker News new | past | comments | ask | show | jobs | submit login

Computer science is for studying what computation means and how we can describe it, the questions we can frame in terms of computation, how they might be answered, and what that can tell us. Applied computer science and computer engineering use that theory to invent machines that use the principles of computation to do useful work. Software developers use those machines to build solutions for specific problems, sometimes using knowledge of computer science.

Theoretical computer science can inform the use and design of practical tools that apply it, same as any other field. Theory is for asking questions and looking for answers. Application is for understanding real-world implications of the answers. Practice is for putting them to work.

The issue in the US education system is that we have one degree we call "computer science" which teaches all three of those pieces, each of which insists it's the real piece, and the students, faculty, administration, and employers all have very different expectations about what it means to have the degree.




Yeah, this.

Thing is, though, that of those who get CS degrees who stay in that kind of area, 90% are going to work as software engineers, not as theoretical computer scientists or computer engineers.

We really ought to split CS into three different departments: CS, software engineering, and computer engineering. The first one belongs in with the sciences, the last two belong in with the engineering fields. This would leave a much smaller CS department, though, so there's probably entrenched academic interests against this happening.

I use the analogy of chemistry: You have a chemistry department that thinks about the properties of atoms, and where the outer shell electrons go in molecules, and how the reactions occur. And then you have a chemical engineering department that thinks about how to make the stuff in multi-ton quantities without blowing up the city. They cover somewhat related material, but with completely different goals and mindsets.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: