Q&A: What’s the difference between Computer Science and Software Engineering?
Question by mxtra: What’s the difference between Computer Science and Software Engineering?
Ok so im currently taking college courses and I am under the impression that Computer Science and Computer Software Engineering is pretty much the same thing as a major. I want to decide on the two so if any one can tell me if there is a real difference and what that difference is I would appreciate it.
Best answer:
Answer by racerxfactor
computer science deals more with the hardware side of networking and computers in general. software engineering is software based.
Know better? Leave your own answer in the comments!
Category: Answers and Questions
software engineering will teach you how to create your own programs. CS wont
Computer Science has extra like crafting circuits and stuff. However Software engineering don’t have any circuit craft and you dont need to learn.
When I took computer programming back in the coal and wood-burning days of computers, everything computeresque was under the umbrella of the Computer Science Department, If one wanted to specialize in hardware, they took Electrical Engineering courses.
Quite frankly, the title of Software Engineer is just a fancy term for Programmer.
You’ll be coding programs under both, but software engineering is more of the vocational version of the discipline. It teachs you how to do your job. A computer scientist is a master of understanding how to design computer programs, it is the better path to take.
Computer scientists develop algorithms. Software engineers apply the algorithms to solve specific problems. They are often the same person.
Please ignore the answers that say Computer Science is hardware stuff. It’s not.
For your purposes as somebody starting through a computer science program at school, they are close enough to being the same. Computer Science and Software Engineering are closely related. Almost the same thing. Most experienced programmers today use the title “software engineer” rather than programmer.
Why is that? Anybody can pick up a compiler, learn some basic coding from a book, and call themseves a “programmer.” I can’t tell you how many people I know who wrap HTML tags around some text and call themselves programmers, or how many self-taught “programmers” I’ve turned down for jobs because they don’t understand things like polymorphism or coupling. The title “programmer” doesn’t mean a whole lot, so those of us who spend a lot of time studying how to do it right-how to create efficient, easily maintained, and provably correct code-need something else to call ourselves.
The process of using good programming practices to create highly structured or highly object-oriented code is “software engineering.” It’s all about creating libraries that are easy to re-use, not too interdependent on eachother, and easily scalable. It’s about writing code where you have the smallest likelyhood possible for bugs, and where making changes later won’t involve rewriting too much of what you did. It goes way beyond programming, and it’s what you will be studying in computer science (once you get past the first year or so, at least).
Those of us who use good software principles to produce software are software engineers. Those of us who study these principles just for the sake of studying them and improving them are computer scientists. Both fall under the “computer science” degree at collegest and universities.
Hope this answers your question.
Okay, to kick-off I’m really sorry about the amount of crap you’ve got so far, so I thought I’d give it a shot and try. I’m a SE student myself and last year, after choosing SE, I posed the same question to myself and found few answers. Personally around that time I was worried about the creditability of the degree, as I believe SE is rather new (around a decade or two, which is still new in degree terms) and CS is pretty well-established, if you check out most computing books the authors all usually tend to have bachelors in CS, but thus far I’ve not seen many with SE degrees. I think that’s the problem though; CS is old and has grown slightly long in the tooth, whereas SE has moved on. Most people I’ve met who are studying CS and various stuff I’ve heard, I think CS is more theoretical (something I personally don’t agree with in computing, I believe it should be more ‘hands-on’) and mathematical. SE on the other hand is more hands-on and get stuck in, so if you’re wanting to program first hand and understand SE techniques then this is more the route to go. Personally since starting my SE degree I’m content with my choice and glad of it, as I can see my future semesters holding interesting and diverse modules, allowing me to develop my programming knowledge and understanding further.
I hope I’ve helped and you make the right decision for you as well as in the mean time of course enjoy programming!