Computer science is not as frequently discussed as engineering or business in conversations about in-demand degree fields with excellent career outlooks. However, it should be. The National Center for Education Statistics currently notes that in the United States alone, there are 885% more computing jobs open than there are new graduates to fill them. There is also a worldwide demand for these professionals: places like Singapore, Germany, and Sweden boast world-class technology sectors.
Considering that computer science professionals have excellent starting and mid-career salaries, can work from anywhere in the world, and are needed in every field imaginable, it is worth exploring it as an option in high school.
Differences between computer science and software engineering
While software engineering and computer science have some overlap, they are different disciplines. Software engineering is focused more on designing things. Software engineers build user interfaces, code programs, test programs for usability and accurate operation, and refine/assure the quality of a software product.
Computer scientists focus more on the scientific and theoretical side. Most computer science degree programs require courses in discrete mathematics, algorithms, theories of computation, and complex programming languages. So while engineers build and design software systems, computer scientists analyze them and interpret their functions. The computer science department at California Polytechnic State University explains it like this:
“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.” (Cal Poly)
Computer science and engineering complement each other well. Arguably, one field could not function properly without the other. For instance, it would be impossible for an engineer to update the code of a good antivirus program, if they did not understand computer science theory about how viruses are programmed to get around antivirus software.
Qualities of good computer scientists
As with many other in-demand fields, computer science is a dynamic, evolving field that requires creativity, skill, and knowledge. The Bureau of Labor Statistics lists seven core qualities that any computer scientist needs even before they enter a university program:
- Analytical skills. Computer and information research scientists must be organized in their thinking and analyze the results of their research to formulate conclusions.
- Communication skills. Computer and information research scientists must communicate well with programmers and managers and be able to explain their findings to people with no technical background. They often present their research at conferences.
- Critical-thinking skills. Computer and information research scientists work on many complex problems.
- Detail-oriented. Computer and information research scientists must pay close attention to their work because a small programming error can cause an entire project to fail.
- Ingenuity. Computer and information research scientists must
continually come up with innovative ways to solve problems, particularly when their ideas do not initially work as intended.
- Logical thinking. Computer algorithms rely on logic. Computer and information research scientists must have a talent for reasoning.
- Math skills. Computer and information research scientists must have knowledge of advanced math and other technical topics that are critical in computing. (Bureau of Labor Statistics)
Given these qualities, it is no surprise that top computer science programs stress higher-level math skills. For instance, the California Institute of Technology (CalTech), MIT, and Stanford all require incoming first-year students to have taken at least four years of mathematics, CalTech, and MIT requiring calculus.
All three institutions also both require undergraduate applicants to have four years of language arts courses. In addition, MIT and Stanford also require two to three years of a single foreign language. These subjects help develop communication and interpretation skills, both of which are essential to coding or interpreting any language, human or computer-based. All sorts of language arts courses, from literature to writing to formal grammar study, count toward this requirement.
Level of education required
Depending on what you want to do, you may only need a bachelor’s degree, which is enough to get a relatively high paying job with a large company or small start-up company directly out of college. Media companies, mobile app developers, and software giants like Google, Microsoft, Samsung, and Apple are just a few well-known examples.
Bachelor’s degree holders are not just limited to the STEM1 side of things. Animators, artists, fashion designers, and even music producers are computer scientists. In 2006, electronic music composer Brian Transeau released an instrumental album, entitled “This Binary Universe,” which was almost entirely created using two programs he himself coded. Since then, Transeau’s programs have been released for wider use in the music industry.
If you are interested in the more theoretical side of computer science, particularly if you want to go into a field related to artificial intelligence, aerospace engineering, or teaching at the university level, you could go on to seek your master’s or your Ph.D. Many analysts in government jobs hold PhDs, which is necessary, considering the complex nature of their work.
How far you want to go ultimately depends on what you are interested in, whether you want to teach, and whether you prefer exploring theory or making programs better.
1. “STEM” is a commonly-used acronym in higher education. It stands for “Science, Technology, Engineering, and Mathematics.” ↩
How to prepare for college
As previously mentioned, math and language arts classes are required for entry into a computer science program. Science courses like chemistry and physics are also highly recommended. However aside from what your dream school needs, you have many options.
An excellent choice is taking a computer science course, if your school offers one or if you have access to a tutor. International Baccalaureate (IB), for instance, offers computer science at both standard level (SL) and higher level (HL). Recently, this course was moved from the group 5 subjects (mathematics) to group 4, which are the experimental sciences. IB computer science emphasizes collaboration with students of other IB science subjects. It also allows students to choose what they wish to study: databases, modeling, and simulation, web science, or object-oriented programming.2
The Advanced Placement (AP) curriculum offers two computer science courses. AP Computer Science A focuses on learning and utilizing programming languages, analysis, and algorithms to solve problems and make software run more smoothly. Computer Science Principles, which is a newer course, focuses on the sociocultural aspect of computing, preparing those who take it for more than just STEM careers. Cybersecurity, programming, and understanding how people use the internet are all part of one of the AP program’s fastest-growing courses.3
2. The International Baccalaureate’s official website explains more about how IB Computer Science fits into the IB Diploma Programme at both HL and SL. ↩
3. The Advanced Placement program’s Computer Science A was the first course they offered in this field. AP Computer Science Principles is the AP curriculum’s newest course. Launched in 2016, it had the largest course launch in AP history. ↩
Simply because some top programs focus more heavily on mathematics does not mean that is all there is to the field. Creative people are also flocking to computer science because of how versatile it is. Unlike decades past, when computer scientists focused on data architecture and debugging user interfaces, today, computer science truly has something for everyone.