TLDR; Majors: Computer Science

By Shang Chen
July 01, 2020 · 9 minute read

Computer Science

Computer Science is a trending major that is quickly taking the world by storm. Programming clubs, coding classes, and online courses are all great ways to get a taste of computer science. Still, it's a huge jump from taking a six-week CodeAcademy class to committing at least four years of your life to the major.

Why learn Computer Science?

Despite the recent hype surrounding computer science, fewer than 55,000 people graduated with degrees in CS in 2014. Compare this to 2005 when 54,000 people earned CS degrees. A period of almost ten years where the amount of CS majors essentially plateaued. It’s no secret that programming is an incredibly valuable skill, with innovative companies like Google, Amazon, and Microsoft are offering some of the top salaries across all careers. So what gives?

Programming is already becoming a necessary aspect of our daily lives. The value of programmers and software engineers is apparent in topics such as self-driving cars, AI machines like IBM’s Deep Blue chess computer, and even the prevalence of technology in miscellaneous places like grocery store check-out lines. Pretty soon, experience in programming will become less of a 'preference' and more of a necessity for many jobs. Aside from the great pay and perks of working at a prestigious company, one of the biggest reasons to start or continue one's programming journey is that the skills and knowledge CS majors will have will be increasingly important in the decades to come.

What will majoring in CS be like?

Most people assume that majoring in CS means sitting behind a computer, typing lines of code for hours at a time. This is why for many years, programmers were stereotyped as being anti-social and nerdy. While computer science has infiltrated popular culture with shows like 'Silicon Valley', most people fail to recognize what's at the core of all programming problems. At its heart, coding is about problem-solving and asking ourselves: 'How can we use technology to solve a problem better, faster, or more efficiently?'. There are some problems which a computer can solve infinitely faster than a human. For example, if I were to ask you how many ways can you make a dollar out of each denomination of combinations of coins (penny, nickel, dime, and quarters) you would probably need a pen, paper, and a fair amount of time to calculate this number. A computer, on the other hand, can calculate this with a fairly simple program in a matter of seconds (there are 242 different combinations, for anybody wondering).

Don’t get me wrong, computers have their limitations; one of the biggest and most important aspects of being a programmer is recognizing when you cannot use technology to solve a problem. This is what most people fail to realize about being a CS major. Most of the work is not behind a computer typing out hundreds of lines of code. The hardest part of programming is the work you do in your head or on a piece of paper, visualizing the logic behind the program. Once you have a clear understanding of how you want to implement a program, the actual coding part is often the equivalent of putting a pen to paper for writers or a paintbrush to canvas for artists.

Computer Science courses often focus on honing their students' creative problem-solving skills along with teaching the basics of a specific programming language. It turns out, unlike spoken languages like English that often make no sense with arbitrary rules, most programming languages are fairly intuitive, like a Romance Language. Once you have learned one programming language, it is easy to pick up another since concepts like using abstraction and creating classes transfer between most programming languages. It’s like learning Italian after Spanish or vice versa. A lot of the rules for the first language apply to the second and structurally, they are quite similar. Along with learning how to think and code, CS is also a very hands-on major with specific paths like electrical engineering placing heavy emphasis on labs where assignments often involve working with hardware such as circuits and Arduino.

Most computer science curriculums include at least one course on the ethics of programming and delve into complex topics like machine learning. Nothing is always set in stone anymore and programming is no different. As technology progresses concepts such as artificial intelligence at amazing speeds, CS majors need to have a strong understanding of topic like security, personal information, and how new technologies will impact society.

The Computer Science Experience

If you are still not convinced that computer science may be the major for you, I've asked two current computer science students to share their experiences and thoughts on what it's like pursuing a degree in computer science.

Gary Wu - University of Florida

What first interested you in Computer Science?

I was originally attracted to the problem-solving aspect of computer science. The idea of completing challenges and solving problems with just a computer seemed cool to me. Another aspect that had me interested would be versatility. I would be able to work anywhere with a laptop as long as there was wifi.

What high school classes/activities do you feel were the most valuable in helping you succeed at CS?

AP Computer Science was the most important class by far during my high school years. It gave me a huge head start in Object-Oriented Programming (OOP) and taught me how to think of different problems and solutions from a unique perspective.

What were the most interesting CS classes you've taken and why?

The most interesting CS Class I have taken so far is a class called Algorithms Design. This class highlighted many important algorithms necessary for the industry I am getting into, as well as theoretical computer science such as NP-Hard problems.

What was the most difficult challenge being a CS major so far?

The most difficult challenge I faced was something called imposter syndrome. It is just a feeling that you do not deserve to be in the position that you are and that you are under-qualified. Most coders feel this way and as you gain more experience, you get over this syndrome.

If you have an idea, what job would you hope to end up having majored in CS?

Ideally, I would want to be a Data Scientist. I love to combine the skills required from coding to building models that can analyze real-world datasets, which will provide new insight and impact on society.

What tips would you give to current high school students interested in CS?

I would highly suggest you take AP Computer Science if offered at your school as well as start learning how to code online. There are so many useful sources that teach coding really well and simply. Take advantage of those assets and get a head start on your college career!

Akash Patel - University of Southern California

What first interested you in Computer Science?

My interest in the innovative technologies that aerospace companies, Tesla, Apple, and more develop everyday. Along with job demand and security for software engineers at these type of companies, I knew I wanted to major in computer science.

What high school classes/activities do you feel were the most valuable in helping you succeed at CS?

In the summer before my senior year in high school, I took an online class on the basics of programming in Python and in my senior year, I took AP Computer Science. These courses gave me a strong introduction to computer science and without them, my introduction level courses in college would have been much more difficult.

What were the most interesting CS classes you've taken and why?

One of my favorite classes my freshman year was Introduction to Embedded Systems, because learning how software and hardware interacts in many devices was very interesting to me. Our final project was to assemble a thermostat, and I found it very satisfying to put together the hardware and program instructions onto a microcontroller. More recently, Algorithms was an interesting class because my professor gave us countless real world applications of algorithms and it helped me realize how an efficient algorithm in software has the potential to make a product exponentially faster and easy to use.

What was the most difficult challenge being a CS major so far?

The most difficult challenge so far has been learning how to approach a long project or assignment. One reason why is because it took me a little time to learn how to narrow bugs down and fix it. It used to take me hours to fix a small bug, but now I am able to fix most simple bugs in minutes (by Googling it of course). Another reason why is because I used to procrastinate as long as I could before starting an assignment, but now I start earlier and work a couple hours at a time if I can. As a result, my projects and assignments aren't unnecessarily stressful anymore.

If you have an idea, what job would you hope to end up having majored in CS?

I haven't fully decided on what skills I want to specialize in, but I would like to be writing software for self-driving cars. Many companies are racing to make self driving cars commercially available, and it would be cool to play a part in this race.

What tips would you give to current high school students interested in CS?

Start coding early. Learning how to code isn't as hard as you think and starting early will make your first year of classes easier and less stressful, giving you time to enjoy college. Also, CS isn't just programming - if you don't like math or problem solving, computer science probably isn't for you.

I hope this article gave some of you who were on the fence on pursuing a major in computer science the final push you needed to commit to what I truly believe is one of the most useful and important fields right now. We will continue this TLDR; Majors series in the coming weeks with a look into some other fields. If you have a major that you would like to be explored, feel free to send us a message through one of our social media platforms.

TLDR;

Computer Science is a diverse and increasingly important major that offers many different pathways for students. At its core, it focuses on teaching students how to come up with logical solutions to problems utilizing the computational power of computers and technology. The best thing about CS is that it is a subject that has a bunch of information and resources available online be it courses, YouTube videos, and textbooks. Check out Sciteens.org for more resources on how you can start or continue your STEM education.

Sources:

https://danwang.co/why-so-few-computer-science-majors/

https://www.timeshighereducation.com/student/subjects/what-can-you-do-computer-science-degree#

http://composingprograms.com/

Did you enjoy this article?

More on this topic...

TL;DR Science: Getting Started in STEM

Okay you figured out that science, technology, engineering, or mathematics are some fields that you may be interested in pursuing. Buuuuut where to next? Don't worry, we'll show you.

TL;DR Majors: Cognitive Science (Part 2)

Have you heard of Cognitive Science? Ever wondered what the difference between Cognitive Science and Psychology is?Curious if CogSci is the right major for you? Find the answer to all your questions in this weeks continuation of the TL;DR series!

TL;DR Majors: Brain & Cognitive Science

Curious about how the brain works? Do you want to know both how to create thoughts and why? Check out this week’s latest edition of TL;DR Majors, where we talk with an undergraduate at MIT studying Brain & Cognitive Science.

TL;DR Majors: Data Science

Have you ever wanted to apply programming to solve problems and answer difficult questions? Data Science is a branch of computer science and statistics that uses advanced data analysis techniques to come up with innovative solutions to some of the biggest problems we’re facing today.

A Brief Guide to how to Write a STEM Paper

Looking for a quick and easy guide on how to write a scientific paper? You've come to the right place. We touch on every part of a successful research paper in this article so you too can ace your science classes and as well as your science fair projects.