Moving from High School to college is often a rollercoaster on the mind of most students. After the appliance and acceptance process, we then encounter a bigger question: What will our major be? As a computer and technology lover, I had a hard time understanding and choosing between computer science and computer engineering; even though I already knew that I wanted to study computers. People often think that studying computer science is the same as studying computer engineering, but these two important fields of computing are significantly different. I decided to start doing some research on the main differences between both and ended up realizing that I was not the only one on this dark road. Surprisingly, many other students had the same questions I had (some of them worse), so that made me feel better. I ended up choosing computer engineering with the hopes of maybe minoring in Computer Science or Software. One other reason is the fact that my sister is already a computer science undergraduate, and we don't really want two Sebastiaos on the same field. The goal is to take over the world in the different areas! But what is the difference between both? If in fact, there is any.
Computer science (CS) is the systematic study of algorithmic methods for representing and transforming information, including their theory, design, implementation, application, and efficiency. The discipline emerged in the 1950s from the development of computability theory and the invention of the stored-program electronic computer. The roots of computer science extend deeply into mathematics and engineering. A computer scientist specializes in the theory of computation and the design of computers, or computational systems. In order to own a CS degree or become a computer scientist, a student would have to take the following courses: Programming Concepts, Computer Organization & Assembly Language, Concepts & Facilities of Operating Systems, Discrete Math, Introduction to Numerical Methods, Automata, Grammars & Computability, Data Structures, Software Engineering, Ethics in Computing, Introduction to Scientific Computing and Problem Solving, Parallel Computation (Models, Algorithms, Limits), Practical Programming in C, Introduction to C++, and many others depending on the university the student chooses to attend.
As opposed, Computer engineering (CEN) is the design and prototyping of computing devices and systems. While sharing much history and many areas of interest with computer science, computer engineering concentrates its effort on the ways in which computing ideas are mapped into working physical systems. Emerging equally from the disciplines of computer science and electrical engineering, computer engineering rests on the intellectual foundations of these disciplines, the basic physical sciences and mathematics. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also how they integrate into the larger picture. In order to own a CEN degree or to become a computer engineer, a student would have to take the following courses: Introduction to Computer Systems, Computer Systems Programming, Intro to Embedded Systems, Electric Circuits, Fundamentals of Logic Design, Analytical Foundations of Electrical & Computer Engineering, Linear Systems, Electromagnetic Fields, Microelectronics, Design of Complex Digital Systems, Technical Electives, Calculus I and II, Engineering statistics, Advanced Programming Tools and Techniques, Introduction to C++ ,and many others depending on the university the student chooses to attend.
Computer engineers/scientists will be in hot demand as computer technologies grow in importance for companies both large and small. As a computer engineer or...