Wednesday, 2 July 2014

For those wondering what software engineering is as compared to computer science...

No they are not the same thing! Found this link the best to explain the difference:
https://users.csc.calpoly.edu/~djanzen/secsdiff.html

1. Computer Science covers the core concepts and technologies involved with how to make a computer do something. Learning to program a computer by writing software is essential, and computer programming is used in most computer science courses. You will learn details about how computers and networks work, but with an emphasis on how software and programming languages work. You will learn how to make them do very sophisticated things (e.g. graphics, robotics, databases, operating systems). You will also learn about the theory behind how and why computers and software work. In your senior project, you will tackle a problem at the frontier of computer science. You may be building a new system, discovering better ways to design software, or developing new algorithms for projects in entirely different fields; it is up to you. Past student projects include: video games, computer modeling and animation tools, and a Linux driver for the Wii remote.

2. Computer Engineering teaches you how to design systems that include both computer hardware and software. You will take classes on how computer hardware works and how to build a computer. You will take software classes with an emphasis on hardware-related software such as device drivers and operating systems. Computer engineering courses are taught by faculty from both the computer science and the electrical engineering departments. Working computer engineers design computers and the basic software that runs them, including both personal computers and the "embedded" computer systems that run cars, aircraft, videogames, etc.

3. Software Engineering focuses on how to design and build software in teams. You will take many of the same courses as you would in computer science, but you will take additional courses that teach you about topics like requirements engineering, software architecture, software testing, and software deployment. You will learn about working with people (communication, management, working with non-technical customers), processes for developing software, and how to measure and analyze the software product and the software process. The software engineering major requires that you take a three course (nine-month long) sequence called the software engineering capstone. The capstone courses are centered around a large project for an outside customer. In recent years we have built web applications for Intuit (makers of Quicken, QuickBooks, and TurboTax) and Amgen (a bio-engineering/pharmaceutical company). Students work in teams of four or five people to elicit and develop requirements for the system, design an architecture, build prototypes, implement the system, then deploy and maintain the system.

No comments: