Can someone tell me the difference between a Computer Scientist and a Computer Engineer?
The reason that I am asking this question because I thought that Computer Scientist and Computer Engineer were pretty much the same thing. If it is different, than can someone tell me the difference? #computer-science #computer #technology #computer-engineering #computer-engineer
Technically, a Computer Scientist is one who studies the field of Computer Science, which is a branch of mathematics. It is all about algorithms, theoretical abilities and limitations of computers, and so on. A true Computer Scientist is likely doing research, whether for a university as a graduate student or beyond, or for a company.
However, many people, such as myself, get a Bachelor's of Science in Computer Science from college, and go on to become Software Engineers.
A Computer Engineer, as far as I know, is a fairly general term for an engineer who works with computers. This could mean hardware or software, so may involve anything from designing physical components (desktop workstations, laptops, tablets, phones, embedded devices, and so on), quite possibly as an Electrical Engineer (a common major) to being a Software Engineer who programs computers, or anything in between. Some engineers design small computers (the kinds you find on circuit boards) and then program them, mixing the hardware and software sides.
Since I've mentioned it a couple of times, a Software Engineer is what people often think of when they say that someone's job is being a "programmer". A Software Engineer writes and edits programs, most often while working with others (whether other Software Engineers or people who don't modify the programs but will use them). Software Engineering involves adding the code itself, testing it to make sure that it works and will continue to work, and planning out the design of the code so that you have some sense of where you're adding new pieces and it isn't just a haphazard mess.
There are several job titles for people working with computers. Software runs on the computer hardware. Titles like computer scientist, software engineer, software developer, programmer refer to people who work on the software that runs on computer hardware. Computer engineer and hardware engineer refer to people who work on the hardware. There is some overlap in the curricula taught in college. A student learning about software would have to take a few courses on computer hardware; courses with names like computer organization, digital logic, or computer architecture. A student studying hardware would need to take courses in computer programming so they understand the software running on the hardware. It all depends on how close you want to be to the hardware side of things. Typically, a student concentrating on computer hardware would take courses in electrical engineering such as electronics, while a student concentrating on computer software would not typically take courses in electrical engineering. There is no reason why you could not take a course over in the other area if it interests you. It broadens your experience, which is always good. Because the two areas are so close, you could shift from one to the other mid-way through your studies.
A computer engineer is concerned with the interface between hardware and software. They have to understand programming, and electrical engineering both in depth for the purpose of making software run correctly on the associated .