Computer science (CS) is the systematic study of algorithmic methods for representing and transforming information, including their theory, design, implementation, application, and efficiency. The roots of computer science extend deeply into mathematics and engineering. Other important topics in computer science include computer graphics, databases, networks and protocols, numerical methods, operating systems, parallel computing, simulation and modeling, and software engineering. At the undergraduate level, programs usually cover a broad range of computing topics and allow students to engage in projects across multiple areas. For graduate studies in computer science, it is typical to focus on one area.
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. CEN is more of a hybrid role that focuses on how computer science and electrical engineering come together. As such, it concerns the electrical engineering considerations of how microprocessors function, are designed, and are optimized; how data is communicated among electronic components; and how integrated systems of electronic components are designed and how they operate. Many students who want to become computer engineers earn an undergraduate degree in electrical engineering (often with a minor or double major in computer science), and then earn a graduate degree in computer engineering.
An example of a Bachelor of Science in Computer Science is offered online at the University of Maryland University College (UMUC). This highly recognized and awarded school (2015 Educator of the Year; #4 Best for Vets 2016; Presidents Award 2015) teaches students to:
- Identify and respond to emerging technology, models, methodologies, systems, and trends in human/computer interaction, including social networking, gaming, modeling, and simulation
- Apply logic and mathematical principles to the design, development, and verification of secure, high-performance, and reliable computing systems
- Analyze, design, develop, and document secure technical solutions for computing systems and networking infrastructure
- Plan, design, and optimize computing architecture, software applications, data, and systems
An example of a Bachelor of Science in Computer Engineering is offered by Liberty University School of Engineering and Computational Sciences. This program will provide an overview of the foundational principles needed to design and build tomorrow’s computer hardware. Specific outcomes and learning objectives are: the ability to apply probability and statistics appropriately; a knowledge of scientific and mathematical principles necessary to analyze and design complex digital systems; the ability to identify and solve engineering problems; the ability to design and conduct experiments, as well as to analyze and interpret data. Their Computer Engineering program is accredited by the Engineering Accreditation Commission of ABET (Accreditation Board of Engineering and Technology).
According to the compensation data website, PayScale, 55% of Senior Java Developers have a degree in computer science. Their average mid-career salary is stated as $111,000. This tracks closely with the U.S. Bureau of Labor Statistics (BLS) that reports the median salary of Software Developers at $100,690 as of 2014 with a Bachelor’s degree.
Computer hardware engineers, per the BLS, earn an average of $111,730 at the 50% percentile of the salary range of $65k to $167k. For those contemplating a career in this field, California provides the highest employment of computer engineers at 26,990 as of May 2015. There is a considerable drop to second place at 5,320 employed in Texas.
One last statistic to mull over is that the BLS projects the job change/growth of software developers to be 17% through 2014, whereas hardware engineering is expected to be only 3%. In addition, there are just over one million jobs (2014) in the former and 77,700 in the latter (hardware), according to the BLS. The U.S. News & World Report ranks software developers as #2 in Best Technology Jobs.